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
测试即可