在这个人工智能的春天,我们迎来了Spring AI。在这篇文章中,将介绍Spring AI以及如何将其与Ollama本地模型集成。
一、Spring AI简介
图片
官方正式宣布,Spring AI已经列入Spring Initializr。它提供了一种更简洁的方式来与AI交互,降低了将LLM模型集成到Java操作中的学习曲线。它现在可以在start.spring.io上使用和构建。
Spring AI是一个人工智能工程应用框架。它的目标是将Spring生态系统的设计原则,如可移植性和模块化设计,应用到AI领域,并推广使用POJO作为AI应用程序的构建模块。
二、特性
可移植的API支持跨AI提供商的交互,包括聊天、文本到图像和嵌入模型。它支持同步和流API选项。它还支持配置参数以访问特定模型。
支持的聊天模型:
- OpenAI。
- Azure Open AI。
- Amazon Bedrock。
- Anthropic的Claude。
- Cohere的Command。
- AI21 Labs的Jurassic-2。
- Meta的LLama 2。
- Amazon的Titan。
- Google Vertex AI。
- HuggingFace——HuggingFace上的众多模型,如Llama2。
- Ollama——支持在没有GPU的情况下在本地运行AI模型。
支持的文本到图像模型:
- OpenAI与DALL-E。
- StabilityAI。
支持的向量模型:
- OpenAI。
- Azure OpenAI。
- Ollama。
- ONNX。
- PostgresML。
- Bedrock Cohere。
- Bedrock Titan。
- Google VertexAI。
官方文档:spring.io/projects/spring-ai
三、快速入门
使用IDEA快速启动一个新项目,选择需要的AI模型依赖项。
在这里,以Ollama模型为例:
图片
3.1 Ollama
Ollama使我们能够在不需要GPU资源的情况下在本地计算机上轻松构建大型模型,并提供控制台和RestfulAPI,以便在Ollama上快速测试和集成大型模型。
Ollama支持哪些模型?
图片
Ollama网站:ollama.com/library
提示:
- Gemma是Google Meta最近发布的一个模型。
- llama2模型对中文支持不太友好,而gemma模型对中文更加友好。
3.2 引入依赖项
提示:Spring AI相关的依赖项不在Maven中央资源库中,因此需要配置Spring的资源库。
3.3 启动Ollama模型
在本地计算机控制台中运行ollama run gemma:2b(这里使用gemma模型)。
图片
第一次运行会下载模型文件(约3GB,可能需要一些时间)。
下载模型资源后,模型将自动启动,如上所示,你可以在控制台中测试和与模型交互。
3.4 配置Ollama模型
修改该项目的application.yml配置文件,添加以下内容:
3.5 测试
图片