Spring AI整合DeepSeek、Ollama本地大模型
一、Spring AI简介
该项目旨在简化包含人工智能功能的应用程序的开发,而不会产生不必要的复杂性
官网地址:https://docs.spring.io/spring-ai/reference/index.html
Spring AI 提供了抽象,作为开发 AI 应用程序的基础。 这些抽象具有多种实现,支持以最少的代码更改轻松交换组件。
Spring AI 提供以下功能:
-
跨 AI 提供商的可移植 API 支持,用于聊天、文本到图像和嵌入模型。支持同步和流式处理 API 选项。此外,还可以访问特定于模型的特征。
-
支持所有主要的 AI 模型提供商,例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama。支持的模型类型包括:
-
聊天完成
-
嵌入
-
文本到图像
-
音频转录
-
文本到语音
-
适度
-
-
结构化输出 - AI 模型输出到 POJO 的映射。
-
等等
二、初体验
2.1 整合DeepSeek
DeepSeek AI 提供开源的 DeepSeek V3 模型,该模型以其尖端的推理和解决问题的能力而闻名。Spring AI 通过重用现有的 OpenAI 客户端与 DeepSeek AI 集成。
先决条件:
-
创建 API 密钥: 请访问此处创建 API 密钥。使用 Spring AI 项目中的属性对其进行配置。
spring.ai.openai.api-key
-
设置 DeepSeek 基 URL: 将属性设置为 。
spring.ai.openai.base-url api.deepseek.com
-
选择一个 DeepSeek 模型: 使用该属性指定模型。有关可用选项,请参阅支持的型号。
spring.ai.openai.chat.options.model=<model name>
2.1.1 创建spring-ai-demo工程
2.1.2 环境变量配置
application.yml
# 配置Spring应用的基本信息
spring:
# 应用名称
application:
name: spring-ai-demo
# AI相关配置
ai:
# OpenAI API的配置
openai:
# OpenAI API密钥
api-key: sk-5a3c081casd34bbbcb9a9d9b824430
# OpenAI API基础URL
base-url: https://api.deepseek.com
embedding:
enabled: false # DeepSeek API不支持嵌入,所以我们需要禁用它。
# 聊天功能的配置
chat:
options:
# 指定聊天使用的模型
model: deepseek-chat
友情提示
deepseek不在提供新用户注册赠送免费额度,可以使用siliconflowt替换,地址:https://cloud.siliconflow.cn/models
# 配置Spring应用的基本信息
spring:
# 应用名称
application:
name: spring-ai-demo
# AI相关配置
ai:
# OpenAI API的配置
openai:
# OpenAI API密钥
api-key: sk-vdoioxlfydrqozugyasdqwebopktvgnyhvxsyrfkascdpxew
# OpenAI API基础URL
base-url: https://api.siliconflow.cn
embedding:
enabled: false # DeepSeek API不支持嵌入,所以我们需要禁用它。
# 聊天功能的配置
chat:
options:
# 指定聊天使用的模型
model: deepseek-ai/DeepSeek-V3
2.1.3 chat 模型进行文本生成
package com.liming.controller;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.beans.factory.annotation.Autowired;
impo