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

蓮花仙者
发布: 2025-12-16 09:19:00
原创
865人浏览过

接上一篇继续,longchain4j支持open-ai兼容的各类模型,涵盖deepseek等主流大模型

一、更新pom.xml依赖

1 2 <dependency>3     <groupid>dev.langchain4j</groupid>4     <artifactid>langchain4j-open-ai</artifactid>5     <version>${longchain4j.version}</version>6 </dependency>
登录后复制

二、配置Bean实例注入

 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.019  */20 @Configuration21 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     @Bean47     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      * 创建流式响应的聊天模型62      *63      * @return 返回StreamingChatModel实例64      */65     @Bean66     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 }
登录后复制

三、application.yml 配置项调整

1 # DeepSeek相关参数设置2 deepseek:3   api-key: ${DEEPSEEK_API_KEY:your-deepseek-api-key-here}4   base-url: https://api.deepseek.com5   model: deepseek-chat6   timeout: 607   temperature: 0.78   max-tokens: 2048
登录后复制

完成以上步骤后,无需修改API Controller层代码即可生效。

四、longchain4j的核心优势解析

设想这样一个业务场景:我们正在开发一个面向多租户的AI服务平台,多个客户均使用DeepSeek模型服务,但各自持有独立的API Key。若仍采用传统的YAML静态配置方式,在应用启动时就初始化所有模型实例,显然缺乏灵活性和安全性。

美图云修
美图云修

商业级AI影像处理工具

美图云修 52
查看详情 美图云修

此时,运行时动态传入apiKey并创建对应模型实例的能力变得至关重要!

值得庆幸的是,longchain4j中的OpenAiChatModelBuilder允许在构建过程中灵活设置apiKey,实现真正的动态化接入:

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

这一特性极大提升了系统扩展性与租户隔离能力(注:截至当前,spring-ai 1.0版本尚未支持此类动态配置)

示例代码地址:https://www.php.cn/link/7fa66f426416d30c0c885937fed3c9d1

以上就是longchain4j 学习系列(2)-调用远程deepseek的详细内容,更多请关注php中文网其它相关文章!

AI工具
AI工具

AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型,支持联网搜索。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号