一文带你springai+ollama实现chat
Spring AI
Spring AI 项目旨在简化开发集成了人工智能功能的应用程序,而不增加不必要的复杂性。该项目从一些著名的 Python 项目中汲取灵感,例如 LangChain 和 LlamaIndex,但 Spring AI 并不是这些项目的直接移植。该项目的创立基于这样的信念:下一波生成式 AI 应用不仅限于 Python 开发者,而是将在多种编程语言中普及。其核心在于,Spring AI 解决了 AI 集成的基本挑战:将企业数据和 API 与 AI 模型连接起来官方网址
项目搭建
版本相关,
目前springai支持Spring Boot 3.2.x and 3.3.x,JDK17
添加里程碑和快照仓库
<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>
依赖管理
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
在根据需要引入实际的组件
此处以ollama为例
<dependency><groupId>io.springboot.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>1.0.0</version></dependency>
配置模型和地址
spring:application:name: spring-ai-ollamaai:ollama:base-url: http://127.0.0.1:11434chat:options:model: llama3.1:8b
controller发布服务
@Resourceprivate OllamaChatClient ollamaChatClient;@PostMapping("/ai")String sendMessage(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {String call = ollamaChatClient.call(message);return call;}
测试
测试的前提是本地已经启动了ollama的服务,搭建参考前一篇文章:
大型语言模型(Large Language Model, LLM)了解一下?
postman测试
往期推荐
大型语言模型(Large Language Model, LLM)了解一下?
常用的JVM参数与命令你知道吗?
推荐两款程序员高效工作神器
Git命令基操必须要会!
非常nice! IDEA远程Debug调试程序
DataX二次开发之达梦数据库插件