SpringAI集成本地AI大模型Ollama(调用篇)非常简单!!
在如今的技术环境中,人工智能(AI)模型已经成为各行各业提升效率、解决问题的重要工具。其中,Ollama作为一种开源的AI大模型,凭借其强大的性能和灵活的适应性,受到越来越多开发者的关注。本文将介绍如何在Spring应用中集成和调用Ollama模型,并提供简单易懂的代码示例。
什么是Ollama?
Ollama是一款支持多种自然语言处理任务的AI大模型。它可以应用于文本生成、对话系统、内容推荐等场景。由于其模型体量较大,因此一般建议在本地环境中运行,以确保数据安全性和响应速度。
在Spring项目中集成Ollama
1. 准备工作
首先,确保你的开发环境中已经安装了Java和Maven。此外,你需要在本地机器上安装Ollama。可以通过以下命令进行安装:
curl -sSfL https://ollama.com/download | sh
安装完成后,可以通过命令行验证Ollama是否安装成功:
ollama list
这将显示你可以使用的所有模型。
2. 创建Spring Boot项目
使用Spring Initializr创建一个新的Spring Boot项目,选择需要的依赖项,一般建议包含Spring Web和Spring Boot DevTools。
3. 添加依赖
在pom.xml
文件中,添加Http Client的依赖,以便我们能够通过HTTP请求与Ollama接口进行通信:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
4. 创建RestClient
我们需要创建一个RestClient类,用于发送HTTP请求到Ollama:
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.stereotype.Service;
@Service
public class OllamaClient {
private final String baseUrl = "http://localhost:11434"; // 默认为Ollama运行的端口
public String callOllamaModel(String modelName, String prompt) {
String result = "";
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost post = new HttpPost(baseUrl + "/models/" + modelName);
// 构建请求体
StringEntity entity = new StringEntity("{\"prompt\":\"" + prompt + "\"}");
post.setEntity(entity);
post.setHeader("Content-Type", "application/json");
CloseableHttpResponse response = httpClient.execute(post);
result = new String(response.getEntity().getContent().readAllBytes());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
5. 创建Controller
接下来,我们需要创建一个Controller类,提供一个API接口,供外部调用:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api")
public class OllamaController {
@Autowired
private OllamaClient ollamaClient;
@PostMapping("/generate")
public String generate(@RequestParam String model, @RequestParam String prompt) {
return ollamaClient.callOllamaModel(model, prompt);
}
}
6. 运行项目
确保Ollama模型服务在本地运行,然后启动你的Spring Boot应用。在终端中输入以下命令:
mvn spring-boot:run
7. 测试集成
可以使用Postman或cURL命令测试接口。例如,向API发送请求:
curl -X POST "http://localhost:8080/api/generate?model=your_model_name&prompt=Hello"
如果一切配置正确,你应该会收到Ollama返回的生成结果。
总结
本文介绍了如何在Spring Boot项目中集成和调用本地AI大模型Ollama。通过简单的HTTP请求,我们能够轻松地将Ollama的强大功能整合到自己的应用中。希望这篇文章能够帮助你更好地理解和使用Ollama模型,提高开发效率!