当前位置: 首页 > article >正文

深入浅出:Spring AI 集成 DeepSeek 构建智能应用

Spring AI 作为 Java 生态中备受瞩目的 AI 应用开发框架,凭借其简洁的 API 设计和强大的功能,为开发者提供了构建智能应用的强大工具。与此同时,DeepSeek 作为领先的 AI 模型服务提供商,在自然语言处理、计算机视觉等领域展现了卓越的性能。本文将带你探索如何将 Spring AI 与 DeepSeek 无缝集成,体验其便捷的开发流程与高效的智能能力,助你快速构建功能强大的 AI 驱动应用。

1 创建项目

在这里插入图片描述

注意: Spring AI 需要 Java 17 或更高版本

在这里插入图片描述

Spring AI通过现有的OpenAI客户端与DeepSeek AI集成,所以选择OpenAI依赖包.

在这里插入图片描述
Maven 依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>cn.hengzq</groupId>
    <artifactId>spring-ai-deepseek-example-001</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-ai-deepseek-example-001</name>
    <description>spring-ai-deepseek-example-001</description>
    <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0-M6</spring-ai.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

配置DeepSeek

spring:
  application:
    name: spring-ai-deepseek-example-001
  ai:
    openai:
      api-key: sk-e3b91498acca434a909ffa1115823937
      base-url: https://api.deepseek.com
      chat:
        options:
          model: deepseek-chat

获取DeepSeek API-KEY,请参考DeepSeek官网「获取DeepSeek API-KEY」
在这里插入图片描述

2 对话模型(Chat Model)

@RestController
@RequestMapping("/chat")
public class ChatController {

    private final ChatModel chatModel;

    public ChatController(ChatModel chatModel) {
        this.chatModel = chatModel;
    }

    @GetMapping("/conversation")
    public String conversation(@RequestParam("message") String message) {
        return chatModel.call(message);
    }

}

调用http://localhost:8080/chat/conversation?message=自我介绍一下

在这里插入图片描述

项目源码地址: spring-ai-deepseek-example-001

3 Orange 开源AI项目在线体验

  • Orange 官网: http://hengzq.cn
  • 在线体验: http://tiny.hengzq.cn
  • 项目文档: http://hengzq.cn/orange-monomer/
  • 单体架构-后端源码下载【GitHub】: https://github.com/hengzq/orange-monomer
  • 单体架构-后端源码下载【Gitee】: https://gitee.com/hengzq/orange-monomer
  • 微服务版本-后端源码下载【GitHub】: https://github.com/hengzq/orange-cloud
  • 微服务版本-后端源码下载【Gitee】: https://gitee.com/hengzq/orange-cloud
  • 前端源码下载【GitHub】: https://github.com/hengzq/orange-cloud
  • 前端源码下载【Gitee】: https://gitee.com/hengzq/orange-cloud

注:前端项目设计灵活,能够同时兼容后端的单体架构和微服务架构


http://www.kler.cn/a/566341.html

相关文章:

  • 【FL0093】基于SSM和微信小程序的微信点餐系统小程序
  • 大语言模型训练的目标(不同的结构和阶段)
  • ragflow-mysql 启动失败案例分析
  • 深度学习简介
  • pikachu
  • C++核心编程之文件操作
  • 无人机自主导航与避障技术!
  • 力扣3112. 访问消失节点的最少时间
  • FS800DTU联动OneNET平台数据可视化View
  • git从零学起
  • std::sort 排序算法本质
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-ops.py
  • 软件工程复试专业课-能力成熟度模型CMM
  • 科技赋能!深圳市悠声科技有限公司荣获“GAS消费电子科创奖-技术进步奖”!
  • 理解 AI IDE 中的代码库索引:深入探讨 Cursor 的实现
  • 区块链的基本原理和优势
  • 刨析刷任务赚钱平台的算法(众包经济应用)
  • 服务器间免密登录
  • 单片机学习笔记——入门51单片机
  • spring注解开发(Spring整合MyBatis——Mapper代理开发模式、(Spring、MyBatis、Jdbc)配置类)(6)