目录
一、环境准备
二、创建项目、导入依赖
三、配置 application.yml
四、注入Bean,开箱即用
五、日志观察
一、环境准备
首先和快速上手 Spring AI 框架一样的前置条件:先申请一个 apikey ,此部分步骤参考:【SpringAI篇01】:5分钟教会你使用SpringAI (1.0.0稳定版)_spring-ai 1.0.0使用教程-CSDN博客文章浏览阅读1.4k次,点赞42次,收藏32次。后端开发之:从创建 SpringAI 项目开始,到快速入门实现调用大模型 API 实现对话功能。_spring-ai 1.0.0使用教程https://blog.csdn.net/lyh2004_08/article/details/148925217的前半部分即可
二、创建项目、导入依赖
1. 同样,langchain4j 对于 jdk 的要求最低也是 jdk17,按照下图操作即可
2. 导入一个 spring 的 web 依赖:
3. 项目创建完毕,按照官网教程导入 langchain4j 的 低级API(后续还有高级API) 的起步依赖(当前最新版本):
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId><version>1.1.0-beta7</version>
</dependency>
参考资料:Spring Boot 集成 | LangChain4j --- Spring Boot Integration | LangChain4j
三、配置 application.yml
随后,在 application.yml 或 application.properties 中配置如下配置:
langchain4j:open-ai:chat-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 # 百炼平台的baseUrlapi-key: ${langchain4j.api-key} # 你刚刚申请的apiKeymodel-name: qwen-plus # 你想使用的对话模型模型名log-requests: true # 是否打印请求日志log-responses: true # 是否打印响应日志
其中各项配置作用已在代码中表明。不过显然,langchain4j 与 SpringAI 一样,也都可以在创建 model 时自定义配置
四、注入Bean,开箱即用
由于前进做了相关模型的配置,langchain4j 的自动装配会为我们提供一个基于配置的默认 OpenAiChatModel,我们直接创建一个Controller,注入使用即可
package xyz.qiquqiu.lc4blogdemo.controller;import dev.langchain4j.model.openai.OpenAiChatModel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RestController
@RequiredArgsConstructor
public class ChatController {private final OpenAiChatModel chatModel;/*** 调用百炼的大模型进行聊天(阻塞式)* @param message 用户发送的消息,相当于提示词prompt* @return*/@RequestMapping("/chat")public String chat(String message) {log.debug("用户说:{}", message);return chatModel.chat(message);}
}
随后,打开浏览器,访问 chat 接口,测试效果:
五、日志观察
由于我们配置了请求与响应时打印日志的配置:
所以我们可以结合控制台输出,清晰地看到请求响应的过程:
请求日志:
响应日志: