赞
踩
Ollama 是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型。极大地简化了在 Docker 容器内部署和管理 LLM 的过程,使得用户能够快速地在本地运行大型语言模型。
官方网站:https://ollama.com/
下载地址:https://ollama.com/download,以 Mac OS 为例,下载后解压即用,支持多平台一键安装。
官方模型:https://ollama.com/library,我们以 70 亿参数的大模型部署到本地来进行演示。
模型启动:下载完成后打开终端,即可操作 Ollama 相关的命令
# 查看当前模型列表
ollama list
# 拉取模型
ollama pull
# 启动模型
ollama run llama3:70b
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
cp Copy a model
rm Remove a model
help Help about any command
Spring AI 是 AI 工程的应用框架,其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI 领域,并将 Java 类作为应用程序的构建块推广到 AI 领域。
目前 SpringAI 涵盖了广泛的功能,包括聊天机器人、嵌入式、图像生成、矢量数据库、高等数学运算等多领域 API。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
spring:
application:
name: SpringAI
ai:
ollama:
chat:
enabled: true
options:
model: llama3:70b
@SpringBootApplication
public class SpringAiApplication {
public static void main(String[] args) {
SpringApplication.run(SpringAiApplication.class, args);
}
}
@RestController @RequestMapping("/ai") public class ChatController { // 客户端 private final OllamaChatClient chatClient; // 构造器注入 @Autowired public ChatController(OllamaChatClient chatClient) { this.chatClient = chatClient; } /** * 批处理 * * @param message 提示信息 * @return 交互结果 */ @GetMapping("/generate") public Map<String, Object> generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) { return Map.of("generation", chatClient.call(message)); } /** * 流处理 * * @param message 提示信息 * @return 交互结果 */ @GetMapping("/stream") public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) { Prompt prompt = new Prompt(new UserMessage(message)); return chatClient.stream(prompt); } }
我并不擅长前端,所以并没有专门设计一个交互页面,只是希望大家能够理解 SpringAI 可以实现怎样的功能,通过这个案例大家可以举一反三,实现自己想要的功能,暂不建议应用于生产环境
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。