如何用 Spring AI + Ollama 构建生成式 AI 应用
为了构建生成式AI应用,需要完成两个部分:
- AI大模型服务:有两种方式实现,可以使用大厂的API,也可以自己部署,本文将采用ollama来构建
- 应用构建:调用AI大模型的能力实现业务逻辑,本文将采用Spring Boot + Spring AI来实现
Ollama安装与使用

进入官网:https://ollama.com/ ,下载、安装、启动 ollama
具体步骤可以参考我之前的这篇文章:手把手教你本地运行Meta最新大模型:Llama3.1
构建 Spring 应用
通过spring initializr创建Spring Boot应用
注意右侧选择Spring Web和Spring AI对Ollama的支持依赖

点击“generate”按钮获取工程
使用IDEA或者任何你喜欢的工具打开该工程,工程结构如下;

- 写个单元测试,尝试在Spring Boot应用里调用本地的ollama服务
@SpringBootTest(classes = DemoApplication.class)
class DemoApplicationTests {
@Autowired
private OllamaChatModel chatModel;
@Test
void ollamaChat() {
ChatResponse response = chatModel.call(
new Prompt(
"Spring Boot适合做什么?",
OllamaOptions.builder()
.withModel(OllamaModel.LLAMA3_1)
.withTemperature(0.4)
.build()
));
System.out.println(response);
}
}
运行得到如下输出:
ChatResponse [metadata={ id: , usage: { promptTokens: 17, generationTokens: 275, totalTokens: 292 }, rateLimit: org.springframework.ai.chat.metadata.EmptyRateLimit@7b3feb26 }, generations=[Generation[assistantMessage=AssistantMessage [messageType=ASSISTANT, toolCalls=[], textContent=Spring Boot是一个基于Java的快速开发框架,主要用于创建独立的、生产级别的应用程序。它提供了一个简化的配置过程,使得开发者能够快速构建和部署Web应用程序。
Spring Boot适合做以下几件事情:
1. **快速开发**: Spring Boot提供了一系列的自动配置功能,可以帮助开发者快速创建基本的应用程序,减少手动编写配置代码的时间。
2. **独立运行**: Spring Boot可以作为一个独立的应用程序运行,不需要额外的容器或服务器支持。
3. **生产级别的应用程序**: Spring Boot提供了许多生产级别的特性,