Ollama Chat
使用 Ollama 您可以在本地运行各种 Large Language Models (LLMs) 并从它们生成文本。
Spring AI 通过 OllamaChatModel API 支持 Ollama chat completion 功能。
提示: Ollama 还提供 OpenAI API 兼容的 endpoint。 OpenAI API compatibility 部分解释了如何使用 Spring AI OpenAI 连接到 Ollama 服务器。
Prerequisites
您首先需要访问 Ollama 实例。有几种选择,包括以下:
- 在本地机器上下载并安装 Ollama。
- 通过 Testcontainers 配置和运行 Ollama。
- 通过 Kubernetes Service Bindings 绑定到 Ollama 实例。
您可以从 Ollama model library 拉取要在应用程序中使用的模型:
ollama pull <model-name>
您也可以拉取数千个免费的 GGUF Hugging Face Models:
ollama pull hf.co/<username>/<model-repository>
或者,您可以启用自动下载任何所需模型的选项:Auto-pulling Models。
Auto-configuration
注意: Spring AI auto-configuration、starter modules 的 artifact 名称发生了重大变化。 请参阅 upgrade notes 了解更多信息。
Spring AI 为 Ollama chat 集成提供 Spring Boot auto-configuration。
要启用它,请将以下依赖项添加到项目的 Maven pom.xml 或 Gradle build.gradle 构建文件中:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-ollama</artifactId>
</dependency>
提示: 请参阅 Dependency Management 部分,将 Spring AI BOM 添加到您的构建文件中。
Base Properties
前缀 spring.ai.ollama 是用于配置与 Ollama 连接的属性前缀。
| Property | Description | Default |
|---|---|---|
| spring.ai.ollama.base-url | Ollama API 服务器运行的 Base URL。 | http://localhost:11434 |
以下是用于初始化 Ollama 集成和 auto-pulling models 的属性。
| Property | Description | Default |
|---|---|---|
| spring.ai.ollama.init.pull-model-strategy | 是否在启动时拉取模型以及如何拉取。 | never |
| spring.ai.ollama.init.timeout | 等待模型被拉取的时间。 | 5m |
| spring.ai.ollama.init.max-retries | 模型拉取操作的最大重试次数。 | 0 |
| spring.ai.ollama.init.chat.include | 在初始化任务中包含此类型的模型。 | true |
| spring.ai.ollama.init.chat.additional-models | 除了通过默认属性配置的模型之外,还要初始化的其他模型。 | [] |