/s/1mdo9RW2ndALHhFUNsafrPw 提取码:01lx
一、什么是SpringAI? Spring AI是Spring生态中应用于人工智能领域的应用框架,它的目标是将Spring 生态系统的设计原则(如可移植性、模块化设计)应用于AI领域,并在AI领域中推广使用POJO(Plain Old Java Objects)作为应用的构建模块。
二、Spring AI能做什么? 支持目前主流大语言模型平台,例如 OpenAI、Microsoft、Amazon、Google 和 Huggingface; 支持阻塞与流式的文本对话; 支持图像生成(当前仅限OpenAI的dall-e-*模型和SD); 支持嵌入模型; 支持LLM生成的内容转为POJO; 支持主流的向量数据库或平台:Azure Vector Search, Chroma, Milvus, Neo4j, PostgreSQL/PGVector, PineCone, Qdrant, Redis 和 Weaviate 支持函数调用 支持自动装配和启动器(与Spring Boot完美集成); 提供用于数据处理工程的ETL框架;
三、主要功能 跨 AI 供应商的便携式 API:支持聊天、文生图、嵌入模型;支持同步和流式API选项;访问特定模型功能。 ● 支持几乎所有的ai模型提供商:如如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama,包括国内的千帆、智谱AI等 ● 结构化输出:将AI模型输出映射为POJO; ● 支持所有主要向量数据库。 ● 功能调用(Tools/Function Calling):工具/功能调用-允许模型请求执行客户端工具和功能,从而根据需要访问必要的实时信息。 ● 可观测 ● springboot自动装配 ● 支持聊天对话记忆和检索增强生成(RAG)
四、DeepSeek 介绍 DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理、代码生成等深度能力,堪称"AI界的六边形战士"。DeepSeek 最新版本 R1 采用了“思维链”技术,能够展示完整的推理过程,使其在复杂推理任务上表现出色,甚至在某些方面可以与 OpenAI 的 O1 模型相媲美。
DeepSeek 身上的标签有很多,其中最具代表性的标签有以下两个:
低成本(不挑硬件、开源、使用简单无需复杂提示词)。 高性能(推理能力极强、回答准确)。
五、接入的意义与优势 将 DeepSeek 接入 Spring 应用,意味着开发者可以将强大的 AI 能力快速融入现有的 Java 项目中,而无需从头开始构建复杂的 AI 系统。这不仅提高了开发效率,还能为用户提供更智能的交互体验。
DeepSeek可以作为推理型助手集成到Spring AI中,提升业务流程。尽管它不是智能体的首选,但它在推理和数据分析上的强大能力依然可以为您的系统增添显著价值。
可以通过在Spring AI中接入DeepSeek的API,实现与DeepSeek的交互。例如,使用DeepSeek SDK的依赖,配置DeepSeek的API密钥和其他相关参数,创建服务类用于与DeepSeek API进行交互,以及创建控制器层处理HTTP请求并调用服务层的方法
优势 低成本:DeepSeek 是开源且易用的,硬件要求宽松,无需繁琐的提示词配置。 高性能:推理速度快、回答准确,适合各类高要求任务。 无缝集成:通过 Spring AI,DeepSeek 可以无缝集成到 Spring 应用中,开发者可以利用熟悉的 Spring 生态进行开发。 灵活性:支持多种配置方式,开发者可以根据自己的需求调整生成参数。 受益人群 开发者:能够快速将 AI 功能集成到现有项目中,提升开发效率。 企业:可以利用 DeepSeek 的强大能力优化业务流程,提升用户体验。 数据科学家:能够通过 Spring AI 的统一接口,快速验证和部署 AI 模型。
六、具体接入方法 添加依赖 在 pom.xml 中添加 Spring AI 的 spring-ai-openai 模块依赖:
xml复制
spring: ai: openai: base-url: https://api.deepseek.com/v1 api-key: your-deepseek-api-key chat.options: model: deepseek-chat 创建 Spring AI 客户端 创建一个服务类,注入 OpenAiClient 并调用 DeepSeek:
import org.springframework.ai.client.AiClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;
@Service public class DeepSeekService { private final AiClient aiClient;
@Autowired
public DeepSeekService(AiClient aiClient) {
this.aiClient = aiClient;
}
public String callDeepSeek(String prompt) {
return aiClient.generate(prompt);
}
}
创建 REST 控制器 创建一个控制器,用于接收用户输入并调用 DeepSeek 服务
有疑问加站长微信联系(非本文作者)
