SpringAI实战之快速上手

1. 快速上手

介绍

  • 模型集成:支持OpenAI、Hugging Face等主流AI服务,轻松切换不同大模型(如GPT-4、Llama 2、Deepseek等)

  • 向量数据库:集成Pinecone、Chroma等向量数据库,支持语义搜索与相似度匹配

  • 文档处理:自动解析PDF、Markdown等文档,提取文本内容生成向量嵌入

  • 对话记忆:内置对话历史管理,支持上下文感知的多轮对话

  • 工具调用:通过@Tool注解快速集成外部API(如天气查询、数据库操作)

  • 优化求解:集成Timefold Solver解决资源调度等优化问题

  • 可观测性:提供指标监控(延迟、Token消耗)和日志追踪

  • 代理模式:支持工作流驱动和自主决策两种代理模式,实现复杂任务自动化

  • MCP: 支持MCP 客户端和 MCP服务端

    申请API key

查看可用的模型

点击链接跳转 https://www.bigmodel.cn/console/modelcenter/square,后续从这里找模型

创建Spring Boot项目

创建项目之后,引入依赖

配置依赖管理

复制代码
 <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0</spring-ai.version>
</properties>
 <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>

引入Spring AI相关依赖

复制代码
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-starter-model-zhipuai</artifactId>
        </dependency>
</dependencies>

添加配置文件

复制代码
server:
  port: 8080
spring:
  ai:
    zhipuai:
      api-key: ${创建的key}

到这一步基本工作已经完成

使用Chat Client 完成大模型调用

在调用过程中,我们需要使用spring ai的chat client和 chat model

复制代码
@Autowired
private ChatModel zhiPuAiChatModel;

    @GetMapping("/ai")
    public String generation(@RequestParam(defaultValue = "你觉得知识能改变命运么?") String userInput) {
        ChatClient chatClient = ChatClient.create(zhiPuAiChatModel);
        String content = chatClient.prompt(userInput).call().content();
        return content;
    }

请求API http://localhost:8080/ai,得到相应结果:

那么到这里我们已经完成了Spring AI 与大模型交互的第一步,接下来会给大家分享更多Spring AI提供的能力。具体详情可见本人的SpringAI系列专栏。

相关推荐
HelloWorld工程师几秒前
@Primary 注解
java·spring
养肥胖虎8 小时前
CodeGraph学习笔记:给代码建索引,节省Token和时间
ai·codegraph·代码索引
aqi009 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
代码什么用10 小时前
Spring基础使用
java·后端·spring
Su米苏10 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园10 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁10 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网11 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西11 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨11 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言