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

longchain4j 学习系列(2)-调用远程deepseek

接上一篇继续,longchain4j支持open-ai兼容的各种模式,包括deepseek

一、修改pom依赖

1 <!-- LongChain4j OpenAI Integration (支持DeepSeek) -->
2 <dependency>
3     <groupId>dev.langchain4j</groupId>
4     <artifactId>langchain4j-open-ai</artifactId>
5     <version>${longchain4j.version}</version>
6 </dependency>
View Code

二、注入相应实例

 1 package com.cnblogs.yjmyzz.longchain4j.study.config;
 2 
 3 import dev.langchain4j.model.chat.ChatModel;
 4 import dev.langchain4j.model.chat.StreamingChatModel;
 5 import dev.langchain4j.model.openai.OpenAiChatModel;
 6 import dev.langchain4j.model.openai.OpenAiStreamingChatModel;
 7 import org.springframework.beans.factory.annotation.Value;
 8 import org.springframework.context.annotation.Bean;
 9 import org.springframework.context.annotation.Configuration;
10 
11 import java.time.Duration;
12 
13 /**
14  * DeepSeek配置类
15  * 用于配置LongChain4j与DeepSeek大模型的连接
16  *
17  * @author 菩提树下的杨过
18  * @version 1.0.0
19  */
20 @Configuration
21 public class DeepSeekConfig {
22 
23     @Value("${deepseek.api-key:your-deepseek-api-key-here}")
24     private String apiKey;
25 
26     @Value("${deepseek.base-url:https://api.deepseek.com}")
27     private String baseUrl;
28 
29     @Value("${deepseek.model:deepseek-chat}")
30     private String model;
31 
32     @Value("${deepseek.timeout:60}")
33     private Integer timeoutSeconds;
34 
35     @Value("${deepseek.temperature:0.7}")
36     private Double temperature;
37 
38     @Value("${deepseek.max-tokens:2048}")
39     private Integer maxTokens;
40 
41     /**
42      * 配置DeepSeek聊天模型
43      *
44      * @return ChatModel实例
45      */
46     @Bean
47     public ChatModel chatModel() {
48         return OpenAiChatModel.builder()
49                 .apiKey(apiKey)
50                 .baseUrl(baseUrl)
51                 .modelName(model)
52                 .temperature(temperature)
53                 .maxTokens(maxTokens)
54                 .timeout(Duration.ofSeconds(timeoutSeconds))
55                 .logRequests(true)
56                 .logResponses(true)
57                 .build();
58     }
59 
60     /**
61      * 配置DeepSeek流式聊天模型
62      *
63      * @return StreamingChatModel实例
64      */
65     @Bean
66     public StreamingChatModel streamingChatModel() {
67         return OpenAiStreamingChatModel.builder()
68                 .apiKey(apiKey)
69                 .baseUrl(baseUrl)
70                 .modelName(model)
71                 .temperature(temperature)
72                 .maxTokens(maxTokens)
73                 .timeout(Duration.ofSeconds(timeoutSeconds))
74                 .logRequests(true)
75                 .logResponses(true)
76                 .build();
77     }
78 }
View Code

三、yaml配置调整

1 # DeepSeek配置
2 deepseek:
3   api-key: ${DEEPSEEK_API_KEY:your-deepseek-api-key-here}
4   base-url: https://api.deepseek.com
5   model: deepseek-chat
6   timeout: 60
7   temperature: 0.7
8   max-tokens: 2048
View Code

这样就可以了,API controller部分无需调整。

四、longchain4j的优势

试想一个场景:假如我们做的是1个多租户的大型AI应用,有多个租户都使用deepseek,每个租户都有自己的api key,这时候如果还使用yaml配置文件写死,启动时全都创建好实例就太不灵活了。

这种情况下,运行时【动态注入】apiKey 及deepseek相关实例就很有必要了!

幸好,longchain4j的 OpenAiChatModelBuilder 提供了apiKey注入的能力

image

image

这样就可以了(注:目前为止spring-ai 1.0版本,都还未提供这个能力)

 

文中代码:https://github.com/yjmyzz/longchain4j-study/tree/day02

http://www.zskr.cn/news/13617.html

相关文章:

  • 2025最新国内过滤器品牌 TOP10 权威测评推荐厂家与选购指南
  • Python 将 HTML 转换为纯文本 TXT (HTML 文本提取) - 实践
  • 【Android之路】界面和状态交互 - 详解
  • ubi文件系统的 制作 + 挂载
  • 元推理用无限嵌套,取代目前弱ai的暴力无限试错
  • java 语法基础课后作业
  • 完整教程:Nginx HTTPS 深入实战 配置、性能与排查全流程(Nginx https
  • 20243907张驰
  • ubuntu系统挂载硬盘
  • RAG实践:一文掌握大模型RAG过程
  • 完整教程:上下文工程驱动智能体向 透明化推理日志
  • 深入解析:@scqilin/phone-ui 手机外观组件库
  • ES 是否有类似mysql explain的语句诊断用法
  • Codeforces 补题笔记
  • 【RabbitMQ】消息可靠性保障
  • 变电站、开闭所、环网柜、配电站
  • 聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
  • Redis HASH+RediSearch 设计自定义索引
  • Altium Designer 25.8.1 最新版安装指南
  • 数据结构篇
  • 2025 年二氧化氯发生器厂家最新权威推荐排行榜:TOP 级企业技术实力与成本优势解析,助力用户精准选购电解法二氧化氯发生器/电解食盐二氧化氯发生器厂家推荐
  • winform 烦人的键盘事件 再遇上 chart 上下左右 失灵
  • 2025 年铝板品牌最新权威推荐排行榜:1-7 系主流铝板企业 TOP5 精选及工艺品质测评指南1060/1100/3003/3004/5052/6061/6063/6082铝板厂家推荐
  • 2025 防撞软包生产厂家权威推荐排行榜:E0 级环保 + B1 级阻燃,公检法 / 幼儿园场景最新优选厂家谈话室/留置病房/教育中心/体育馆防撞软包厂家推荐
  • 中位数定理
  • 计算机网络---网络层 - 详解
  • 国标GB28181视频平台EasyGBS:强大的视频监控与一站式视频服务解决方案
  • 题解:P13507 [OOI 2024] Three Arrays
  • 2025 年最新编织袋生产厂家权威推荐排行榜:聚焦 TOP5 优质企业,助力企业精准甄选可靠合作伙伴牛皮纸/塑料/PP彩膜/化工/化肥编织袋厂家推荐
  • # PostgreSQL高可用架构深度解析:从单机到分布式的演进之路