# 最佳实践

为了获得最佳使用体验,请通过工厂方法创建模型实例,而非直接 new 模型对象。这样可以确保模型的初始化、资源管理以及线程安全机制生效。

# 多线程支持

SmartJavaAI 大部分模型基于 DJL (Deep Java Library) (opens new window) 构建。DJL 原生支持多线程推理:

  • 在多核 CPU 或 GPU 上,可显著提升推理吞吐量;
  • 相较于 Python 实现,内存占用更低,更适合生产部署场景。

# 线程安全

为了确保线程安全,SmartJavaAI 内部封装使用了 Apache Commons Pool2,可为每个线程提供独立的模型实例。开发者无需关心线程竞争问题,直接在多线程环境中使用即可。

# 缓存路径

在加载模型前,可通过以下接口自定义缓存路径(用于底层依赖库及模型文件等资源缓存):

Config.setCachePath("d:/smartjavaai_cache");

注意事项:

1、请务必在调用 SmartJavaAI 获取模型之前设置,否则将使用默认缓存路径。

2、提示: "d:/smartjavaai_cache" 仅为示例路径,请根据实际环境修改为你自己的本地路径(仅支持绝对路径)。

3、路径中不得包含中文字符或空格,否则可能导致模型加载失败