feat(core): 重构类加载器并添加插件支持

-重构 BoxClassLoader 以支持插件加载
- 添加核心插件加载逻辑
- 实现类转换器和黑名单功能
- 优化工具类别和工具项的注册
- 修复日志输出和异常处理
This commit is contained in:
2025-02-11 13:21:45 +08:00
parent fcc4115638
commit 4d08fbeab0
9 changed files with 287 additions and 87 deletions

View File

@@ -10,17 +10,28 @@ import org.apache.logging.log4j.Logger;
* @author tzdwindows 7
*/
public class LM {
public static boolean CUDA = false;
public static boolean CUDA = true;
public final static String DEEP_SEEK = FolderCreator.getModelFolder() + "\\DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.gguf";
private static final Logger logger = LogManager.getLogger(LM.class);
static {
if (!CUDA) {
loadLibrary(CUDA);
}
private static void loadLibrary(boolean cuda){
if (!cuda) {
logger.warn("The cpu will be used for inference");
LibraryLoad.loadLibrary("cpu/ggml-base");
LibraryLoad.loadLibrary("cpu/ggml-cpu");
LibraryLoad.loadLibrary("cpu/ggml");
LibraryLoad.loadLibrary("cpu/llama");
try {
LibraryLoad.loadLibrary("cpu/ggml-base");
LibraryLoad.loadLibrary("cpu/ggml-cpu");
LibraryLoad.loadLibrary("cpu/ggml");
LibraryLoad.loadLibrary("cpu/llama");
} catch (UnsatisfiedLinkError e) {
logger.error("Unable to load library: " + e.getMessage(), e);
logger.error("Missing dependency: " + e.getMessage());
} catch (Exception e) {
logger.error("Unable to load cpu, please try updating driver", e);
}
} else {
try {
LibraryLoad.loadLibrary("cuda/ggml-base");
@@ -33,10 +44,7 @@ public class LM {
} catch (Exception e) {
CUDA = false;
logger.warn("The cuda library could not be loaded, the cpu will be used for inference");
LibraryLoad.loadLibrary("cpu/ggml-base");
LibraryLoad.loadLibrary("cpu/ggml-cpu");
LibraryLoad.loadLibrary("cpu/ggml");
LibraryLoad.loadLibrary("cpu/llama");
loadLibrary(false);
}
}
LibraryLoad.loadLibrary("LM");