写在前面
本篇介绍LangChain4j如何接入大模型,具体包括DeepSeek和阿里百炼。
接入DeepSeek
获取开发参数
点击 这里 访问DeepSeek官网,注册账号,然后充值,并获取对应的base_url和api_key:

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

配置模型参数
点击 这里 访问DeepSeek接口文档,首次调用需要进行设置:

在LangChain4j中,DeepSeek和GPT一样也使用了OpenAI的接口标准,因此也使用OpenAiChatModel进行接入。
修改项目的application.properties配置文件中关于大模型的配置信息为如下所示:
1 2 3 4 5 6 7
| #DeepSeek langchain4j.open-ai.chat-model.base-url=https://api.deepseek.com langchain4j.open-ai.chat-model.api-key=${DEEP_SEEK_API_KEY} #DeepSeek-V3 langchain4j.open-ai.chat-model.model-name=deepseek-chat #DeepSeek-R1 推理模型 #langchain4j.open-ai.chat-model.model-name=deepseek-reasoner
|
启动测试类
继续使用之前在测试类中创建的contextChatModel方法,执行结果如下所示:

接入阿里百炼
阿里百炼简介
阿里云百炼是 2023 年 10 月推出的,它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、图像、音视频等不同模态。
阿里云百炼的优势如下:
(1)集成超百款大模型 API,模型选择丰富;
(2)5-10 分钟就能低代码快速构建智能体,应用构建高效;
(3)提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;
(4)在线部署可按需扩缩容,新用户有千万 token 免费送,业务落地成本低。
支持接入的模型列表,可以点击 这里 :

以及 模型广场:

申请免费体验
第一步,点击进入免费体验页面:

第二步,点击免费体验:

第三步,点击开通服务:

第四步,确认开通:

获取开发参数
点击 这里 访问阿里百炼官网,注册账号,然后充值,并获取对应的base_url和api_key:

配置开发参数
为了apikay的安全,建议将其配置在服务器的环境变量中,变量名自定义即可,如 DASH_SCOPE_API_KEY。
添加对应依赖
点击 这里 访问阿里百炼接口文档,首次调用需要进行设置:

在LangChain4j中,阿里百炼使用的不是标准的OpenAI接口,是社区版所以需要单独进行配置。
第一步,在项目的pom文件中新增对应的依赖:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <!-- 接入阿里云百炼平台 --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId> </dependency>
<dependencyManagement> <!--引入阿里云百炼平台管理清单--> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-community-bom</artifactId> <version>${langchain4j.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencyManagement>
|
第二步,在项目的application.properties配置文件中新增如下配置信息:
1 2 3
| #阿里百炼平台 langchain4j.community.dashscope.chat-model.api-key=${DASH_SCOPE_API_KEY} langchain4j.community.dashscope.chat-model.model-name=qwen-plus
|
启动测试类
在之前的测试类中创建一个名为contextQwen的方法,里面的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| @SpringBootTest class YusiAiLangchain4jApplicationTests { @Autowired private QwenChatModel qwenChatModel;
/** * Qwen语言模型接入测试 */ @Test void contextQwen() { //向模型提问 String answer = qwenChatModel.chat("你好,你是谁?"); //输出结果 System.out.println(answer); } }
|
执行结果如下所示:

测试通义万相
在之前的测试类中创建一个名为testDashScopeWanx的方法,里面的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12
| /** * 生成图片测试 */ @Test void testDashScopeWanx() { WanxImageModel wanxImageModel = WanxImageModel.builder() .modelName("wanx2.1-t2i-plus") .apiKey("sk-85c1140b2220426ab78fc2a8948f3116") .build(); Response<Image> response = wanxImageModel.generate("奇幻森林精灵:在一片弥漫着轻柔薄雾的古老森林深处,阳光透过茂密枝叶洒下金色光斑。一位身材娇小、长着透明薄翼的精灵少女站在一朵硕大的蘑菇上。她有着海藻般的绿色长发,发间点缀着蓝色的小花,皮肤泛着珍珠般的微光。身上穿着由翠绿树叶和白色藤蔓编织而成的连衣裙,手中捧着一颗散发着柔和光芒的水晶球,周围环绕着五彩斑斓的蝴蝶,脚下是铺满苔藓的地面,蘑菇和蕨类植物丛生,营造出神秘而梦幻的氛围。"); System.out.println(response.content().url()); }
|
之后运行上述代码,将会输出一张照片的地址,访问该地址,照片如下所示:

测试DeepSeek
也可以在阿里百炼上集成第三方大模型,如DeepSeek,只需将配置参数上的base-url参数指定到百炼平台,使用百炼上的大模型名称和apiKey即可。如集成百炼-deepseek,此时添加的参数如下:
1 2 3 4 5
| #集成百炼-deepseek langchain4j.open-ai.chat-model.base-url=https://dashscope.aliyuncs.com/compatible-mode/v1 langchain4j.open-ai.chat-model.api-key=${DASH_SCOPE_API_KEY} langchain4j.open-ai.chat-model.model-name=deepseek-v3 langchain4j.open-ai.chat-model.temperature=0.9
|
temperature是温度系数,取值范围通常在 0 到 1 之间。值越高,模型的输出越随机、富有创造性;值越低,输出越确定、保守。这里设置为 0.9,意味着模型会有一定的随机性,生成的回复可能会比较多样化。
Ollama本地部署
为什么要本地部署
Ollama 是一个本地部署大模型的工具,使用 Ollama 进行本地部署有以下多方面的原因:
- 数据隐私与安全:对于金融、医疗、法律等涉及大量敏感数据的行业,数据安全至关重要;
- 离线可用性:在网络不稳定或无法联网的环境中,本地部署的 Ollama 模型仍可正常运行;
- 降低成本:云服务通常按使用量收费,长期使用下来费用较高。而 Ollama 本地部署,只需一次性投入硬件成本,对于需要频繁使用大语言模型且对成本敏感的用户或企业来说,能有效节约成本;
- 部署流程简单:只需通过简单的命令 “ollama run < 模型名>”,就可以自动下载并运行所需的模型;
- 灵活扩展与定制:可对模型微调,以适配垂直领域需求。
在ollama上部署DeepSeek
第一步,下载并安装ollama:

第二步,查看模型列表,选择要部署的模型:


第三步,执行命令“ollama run deepseek-r1:1.5b”运行大模型,如果是第一次运行则会先下载大模型:

Ollama常用命令
下图是Ollama的常用命令:

举个例子,查看一下当前已经下载的模型:
1 2 3 4
| C:\Users\gutsy>ollama list NAME ID SIZE MODIFIED deepseek-r1:1.5b e0979632db5a 1.1 GB 4 months ago qwen3:1.7b 8f68893c685c 1.4 GB 4 months ago
|
langchain4j集成Ollama
引入依赖
点击 这里 阅读langchain4j对于Ollama的支持文档:

由于我们使用的是SpringBoot,因此在项目的pom文件中新增如下依赖:
1 2 3 4 5
| <!-- 接入ollama --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-ollama-spring-boot-starter</artifactId> </dependency>
|
配置模型参数
请注意通过Ollama部署的模型的端口都是11434,因此在其application.properties配置文件新增对应配置项信息:
1 2 3 4 5 6 7 8 9 10 11
| #ollama langchain4j.ollama.chat-model.base-url=http://localhost:11434 langchain4j.ollama.chat-model.model-name=deepseek-r1:1.5b # 创造性控制 # 0.7到1.2:适用于需要较高创造性的场景,如诗歌生成或头脑风暴 # 0.3到1.0:适用于需要较高稳定性和多样性的场景,如技术文档或法律文书的生成 langchain4j.ollama.chat-model.temperature=0.8 # 模型进行通信的超时时间为60秒 langchain4j.ollama.chat-model.timeout=PT60S langchain4j.ollama.chat-model.log-requests=true langchain4j.ollama.chat-model.log-responses=true
|
创建测试用例
我们可以在测试类中新建一个名为testOllama的方法,然后测试我们刚才下载本地部署的deepseek-r1模型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| @SpringBootTest class YusiAiLangchain4jApplicationTests {
@Autowired private OllamaChatModel ollamaChatModel;
/** * 测试Ollama */ @Test public void testOllama() { //向模型提问 String answer = ollamaChatModel.chat("你好,你是谁?"); //输出结果 System.out.println(answer); } }
|
运行上述测试类,结果如下所示:
1
| 您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
|