主题
Ollama
Maven 依赖
xml
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-ollama</artifactId>
<version>1.22.0</version>
</dependency>1
2
3
4
5
2
3
4
5
API
OllamaEmbeddingModel
用量
java
EmbeddingModel embeddingModel = OllamaEmbeddingModel.builder()
.baseUrl("http://localhost:11434")
.modelName("all-minilm")
.build();
Response<Embedding> response = embeddingModel.embed("Hello, world!");
Embedding embedding = response.content();1
2
3
4
5
6
7
2
3
4
5
6
7
请求/响应 API 与可观测性
除便捷方法外,OllamaEmbeddingModel 还支持 embed(EmbeddingRequest)。Ollama 的 嵌入 API 仅支持文本,因此设置了输入类型或图像输入的请求会以 UnsupportedFeatureException 快速失败。词元用量(prompt_eval_count)会在响应元数据中上报。
Ollama 可选的输出 dimensions 取决于模型(只有部分模型支持缩小输出维度), 因此它在 builder 上通过 .dimensions(...) 配置,而非作为逐次调用参数。
附上监听器以观察请求、响应与 错误:
java
EmbeddingModel embeddingModel = OllamaEmbeddingModel.builder()
.baseUrl("http://localhost:11434")
.modelName("all-minilm")
.listeners(List.of(myEmbeddingModelListener))
.build();1
2
3
4
5
2
3
4
5