跳到主要内容

Ollama

https://ollama.com/

Maven 依赖

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-ollama</artifactId>
<version>1.18.1</version>
</dependency>

API

  • OllamaEmbeddingModel

用法

EmbeddingModel embeddingModel = OllamaEmbeddingModel.builder()
.baseUrl("http://localhost:11434")
.modelName("all-minilm")
.build();

Response<Embedding> response = embeddingModel.embed("Hello, world!");
Embedding embedding = response.content();

请求/响应 API 与可观测性

除便捷方法外,OllamaEmbeddingModel 还支持 embed(EmbeddingRequest)。Ollama 的嵌入 API 仅支持文本,因此设置输入类型或图像输入的请求会快速失败并抛出 UnsupportedFeatureException。Token 用量(prompt_eval_count)会报告在响应元数据中。

Ollama 可选的输出 dimensions 取决于模型(仅部分模型支持缩小输出尺寸),因此通过 builder 的 .dimensions(...) 配置,而不是作为每次调用的参数。

挂接 listeners 以观察请求、响应与错误:

EmbeddingModel embeddingModel = OllamaEmbeddingModel.builder()
.baseUrl("http://localhost:11434")
.modelName("all-minilm")
.listeners(List.of(myEmbeddingModelListener))
.build();

示例