Skip to content
LangChain4j 文档版本 1.22.0 源快照 d84af8bf 更新于 2026-10-14

进程内(ONNX)

LangChain4j 提供本地评分(重排序)模型, 由 ONNX runtime 驱动,运行在同一个 Java 进程中。

许多模型(例如来自 Hugging Face 的模型)都可使用, 只要它们是 ONNX 格式的。

关于如何将模型转换为 ONNX 格式,说明见这里。

许多已转换为 ONNX 格式的模型可在这里找到。

用法

默认情况下,评分(重排序)模型使用 CPU。

xml
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-onnx-scoring</artifactId>
    <version>1.22.0-beta32</version>
</dependency>
java
String pathToModel = "/home/langchain4j/model.onnx";
String pathToTokenizer = "/home/langchain4j/tokenizer.json";
OnnxScoringModel scoringModel = new OnnxScoringModel(pathToModel, pathToTokenizer);

Response<Double> response = scoringModel.score("query", "passage");
Double score = response.content();

OnnxScoringModel 实现了 AutoCloseable;不再需要时请将其关闭,以释放其本地资源。

如果你想使用 GPU,onnxruntime_gpu 版本可在 这里找到。

xml
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-onnx-scoring</artifactId>
    <version>1.22.0-beta32</version>
    <exclusions>
        <exclusion>
            <groupId>com.microsoft.onnxruntime</groupId>
            <artifactId>onnxruntime</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 1.22.0 support CUDA 12.x -->
<dependency>
    <groupId>com.microsoft.onnxruntime</groupId>
    <artifactId>onnxruntime_gpu</artifactId>
    <version>1.22.0</version>
</dependency>
java
String pathToModel = "/home/langchain4j/model.onnx";
String pathToTokenizer = "/home/langchain4j/tokenizer.json";

OrtSession.SessionOptions options = new OrtSession.SessionOptions();
options.addCUDA(0);
OnnxScoringModel scoringModel = new OnnxScoringModel(pathToModel, options, pathToTokenizer);

Response<Double> response = scoringModel.score("query", "passage");
Double score = response.content();

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。