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

LangChain4j +DeepSeek大模型应用开发——2 接入其他大模型

1. 接入DeepSeek

获取开发参数

访问官网:DeepSeek | 深度求索 注册账号,获取base_url和api_key,充值

配置开发参数

为了apikay的安全,建议将其配置在服务器的环境变量中。变量名自定义即可,例如 DEEP_SEEK_API_KEY

配置模型参数

DeepSeek API文档:首次调用 API | DeepSeek API Docs

在 LangChain4j 中,DeepSeek 和 GPT 一样也使用了 OpenAI 的接口标准,因此也使用OpenAiChatModel进行接入

# DeepSeek
langchain4j:open-ai:chat-model:base-url: https://api.deepseek.comapi-key: ${DEEP_SEEK_API_KEY}# DeepSeek-V3model-name: deepseek-chat# DeepSeek-R1 推理模型        # model-name: deepseek-reasoner
测试

直接使用前面的测试用例即可

2. ollama本地部署

为什么要本地部署

Ollama是一个本地部署大模型的工具。使用 Ollama 进行本地部署有以下多方面的原因:

  • 数据隐私与安全:对于金融、医疗、法律等涉及大量敏感数据的行业,数据安全至关重要。

  • 离线可用性:在网络不稳定或无法联网的环境中,本地部署的 Ollama 模型仍可正常运行

  • 降低成本:云服务通常按使用量收费,长期使用下来费用较高。而 Ollama 本地部署,只需一次性投入硬件成本,对于需要频繁使用大语言模型且对成本敏感的用户或企业来说,能有效节约成本。

  • 部署流程简单:只需通过简单的命令 “ollama run < 模型名>”,就可以自动下载并运行所需的模型。

ollama上部署DeepSeek

官网:Ollama

(1)下载并安装ollama:OllamaSetup.exe

(2)查看模型列表,选择要部署的模型,模型列表: Ollama Search

(3)执行命令:ollama run deepseek-r1:1.5运行大模型。如果是第一次运行则会先下载大模型

常用命令

引入依赖

参考文档:Ollama | LangChain4j

<!-- 接入ollama -->
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-ollama-spring-boot-starter</artifactId>
</dependency>
配置模型参数
# ollama
langchain4j:ollama:chat-model:base-url: http://localhost:11434model-name: deepseek-r1:1.5blog-requests: truelog-responses: true
测试用例
/*** ollama接入*/
@Autowired
private OllamaChatModel ollamaChatModel;
@Test
public void testOllama() {//向模型提问String answer = ollamaChatModel.chat("你好");//输出结果System.out.println(answer);
}

3.接入阿里百炼平台

什么是阿里百炼

阿里云百炼是 2023 年 10 月推出的。它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、图像、音视频等不同模态。

集成超百款大模型 API,模型选择丰富;5-10 分钟就能低代码快速构建智能体,应用构建高效;提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;在线部署可按需扩缩容,新用户有千万 token 免费送,业务落地成本低。

  • 支持接入的模型列表:模型列表_大模型服务平台百炼(Model Studio)-阿里云帮助中心

  • 模型广场:百炼控制台

申请免费体验

(1)点击进入免费体验页面

(2)点击免费体验

(3)点击开通服务

(4)确认开通

配置apiKey

申请apiKey:百炼控制台

配置apiKey:配置在环境变量DASH_SCOPE_API_KEY

相关环境

LangChain4j参考文档:DashScope (Qwen) | LangChain4j

<dependencies><!-- 接入阿里云百炼平台 --><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId></dependency>
</dependencies><dependencyManagement><dependencies><!--引入百炼依赖管理清单--><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-bom</artifactId><version>${langchain4j.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

配置模型参数

# 阿里百炼平台
langchain4j:community:dashscope:chat-model:api-key: ${DASH_SCOPE_API_KEY}model-name: qwen-max
测试通义千问
/*** 通义千问大模型*/
@Autowired
private QwenChatModel qwenChatModel;
@Test
public void testDashScopeQwen() {//向模型提问String answer = qwenChatModel.chat("你好");//输出结果System.out.println(answer);
}
测试通义万象

生成图片测试

@Test
public void testDashScopeWanx(){WanxImageModel wanxImageModel = WanxImageModel.builder().modelName("wanx2.1-t2i-plus").apiKey(System.getenv("DASH_SCOPE_API_KEY")).build();Response<Image> response = wanxImageModel.generate("奇幻森林精灵:在一片弥漫着轻柔薄雾的古老森林深处,阳光透过茂密枝叶洒下金色光斑。一位身材娇小、长着透明薄翼的精灵少女站在一朵硕大的蘑菇上。她有着海藻般的绿色长发,发间点缀着蓝色的小花,皮肤泛着珍珠般的微光。身上穿着由翠绿树叶和白色藤蔓编织而成的连衣裙,手中捧着一颗散发着柔和光芒的水晶球,周围环绕着五彩斑斓的蝴蝶,脚下是铺满苔藓的地面,蘑菇和蕨类植物丛生,营造出神秘而梦幻的氛围。");System.out.println(response.content().url());
}
测试DeepSeek

也可以在阿里百炼上集成第三方大模型,如DeepSeek

将配置参数上的base-url参数指定到百炼平台,使用百炼上的大模型名称和apiKey即可

# 集成百炼-deepseek
langchain4j:open-ai:chat-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1api-key: ${DASH_SCOPE_API_KEY}model-name: deepseek-v3temperature: 0.9# 温度系数:取值范围通常在 0 到 1 之间。# 值越高,模型的输出越随机、富有创造性;# 值越低,输出越确定、保守。这里设置为 0.9,意味着模型会有一定的随机性,生成的回复可能会比较多样化。

使用之前的测试用例testSpringBoot测试即可

http://www.xdnf.cn/news/193735.html

相关文章:

  • 练习普通话,说话更有节奏
  • Odoo 18 中计划、待办、项目管理模块解析
  • re题(49)BUUCTF-crackMe
  • 【深度剖析】贵州茅台的数字化转型(2025)(中1)
  • Spring的BeanFactory和FactoryBean的区别
  • springboot dev process
  • JVM模型、GC、OOM定位
  • [250428] Nginx 1.28.0 发布:性能优化、安全增强及新特性
  • wps批注线条怎么取消去掉wps批注后有竖线
  • CentOS7——Docker部署java服务
  • 基于常微分方程的神经网络(Neural ODE)
  • 如何通过Google Chrome增强网页内容的安全性
  • 低空经济无人机创新实训室解决方案
  • 亚马逊环保标识运营指南:抢占流量新赛道的6大策略解析
  • 读论文《Deep learning-assited pulsed discharge plasma catalysis modeling》2023 ECM
  • Android Studio 2024版,前进返回按钮丢失解决
  • springboot项目之websocket的坑:spring整合websocket后进行单元测试后报错的解决方案
  • Qt6.8.2中WebAssembly沙盒环境中预加载文件
  • Cursor
  • 可视化图解算法:合并二叉树
  • JVM 生产环境问题定位与解决实战(八):实战篇——正则表达式回溯引发的CPU 100%
  • C++20 小语法
  • 【KWDB 创作者计划】_KWDB产品技术解读
  • 【线性规划】对偶问题的实际意义与重要性质 学习笔记
  • 鼠标获取坐标 vs 相机获取坐标
  • SpringBoot应用原生或docker镜像容器集成Skywalking
  • 数据要素与居民就业的深层联结 数字化转型下的劳动力市场变革
  • 项目上线流程梳理(Linux宝塔面板)
  • 基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
  • Web基础与HTTP协议