一、了解langchain4j
1. 创建springboot 项目
1.1引入angchain4j的依赖
正常引入springboot所需要的一些依赖以后,添加langchain4j的依赖(版本号:1.0.0-beta3)
LangChain4j
参考文档:
https://docs.langchain4j.dev/integrations/language-models/dashscope#plain-jav
a
<!-- LangChain4j AI相关 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-spring-boot-starter</artifactId>
<version>${langchain4j.version}</version>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
<version>${langchain4j.version}</version> <!-- 使用变量统一版本 -->
</dependency>
<!-- 接入阿里云百炼平台 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
<version>${langchain4j.version}</version>
</dependency>
1.2 获取API-Key
由于我们需要获取一个API-Key来调用大模型的接口,所以我们可以在一些提供免费接口试用的厂商申请一个额apikey,比如DeepSeek、BaiChuan、阿里云百炼、智谱清言等。我们以阿里云百炼为例
链接:阿里云百炼
什么是阿里百炼
- 阿里云百炼是 2023 年 10 月推出的。它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、 图像、音视频等不同模态。
- 功能优势:集成超百款大模型 API,模型选择丰富;5-10 分钟就能低代码快速构建智能体,应用构 建高效;提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;在线部署可按需扩 缩容,新用户有千万 token 免费送,业务落地成本低。
支持接入的模型列表: https://help.aliyun.com/zh/model-studio/models 模型广场: https://bailian.console.aliyun.com/?productCode=p_efm#/model-market
点击免费体验
点击右上角登录
然后申请一个 API-KEY
然后得到的API-KEY好好保存,然后开始进行配置文件
如果不想创建API-KEY,则使用下面的秘钥进行实现最原本的langchain4j
# langchain4j 测试模型配置
langchain4j:
#原始langchain4j配置
open-ai:
chat-model:
api-key: demo # OpenAI API 密钥(演示用)
model-name: gpt-4o-mini # 使用的模型名称
base-url: http://langchain4j.dev/demo/openai/v1 # 的演示环境URL
log-requests: true # 启用请求日志
log-responses: true # 启用响应日志
#阿里百炼平台配置
community:
dashscope:
chat-model:
api-key: sk-88 # 必须提供,从阿里云控制台获取
model-name: qwen-max # 或其他通义千问模型(如 qwen-turbo、qwen-max)
1.3测试通义灵码
/**
* 通义千问大模型
*/
@Autowired
private QwenChatModel qwenChatModel;
@Test
public void testDashScopeQwen() {
//向模型提问
String answer = qwenChatModel.chat("你好");
//输出结果
System.out.println("模型输出:"+answer);
}
![]()
1.4测试通义万象
/**
*测试通义万象
*/
@Value("${langchain4j.community.dashscope.chat-model.api-key}")
String appkey;
@Test
public void testDashScopeWanx(){
WanxImageModel wanxImageModel = WanxImageModel.builder()
.modelName("wanx2.1-t2i-plus")
.apiKey(appkey)
.build();
Response<Image> response = wanxImageModel.generate("奇幻森林精灵:在一片弥漫着轻柔薄雾的古老森林深处,阳光透过茂密枝叶洒下金色光斑。一位身材娇小、长着透明薄翼的精灵少女站在一朵硕大的蘑菇上。她 有着海藻般的绿色长发,发间点缀着蓝色的小花,皮肤泛着珍珠般的微光。身上穿着由翠绿树叶和白色藤蔓编织而成的 连衣裙,手中捧着一颗散发着柔和光芒的水晶球,周围环绕着五彩斑斓的蝴蝶,脚下是铺满苔藓的地面,蘑菇和蕨类植 物丛生,营造出神秘而梦幻的氛围。");
System.out.println("模型输出:"+response.content().url());
}
二、人工智能服务 AIService
1、什么是AIService
AIService
使用面向接口和动态代理的方式完成程序的编写,更灵活的实现高级功能。
1.1、链 Chain(旧版)
链的概念源自
Python
中的
LangChain
。其理念是针对每个常见的用例都设置一条链,比如聊天机器人、 检索增强生成(RAG
)等。链将多个底层组件组合起来,并协调它们之间的交互。链存在的主要问题是不灵活。
1.2、人工智能服务 AIService
在
LangChain4j
中我们使用
AIService
完成复杂操作。底层组件将由
AIService
进行组装。
AIService
可处理最常见的操作:
- 为大语言模型格式化输入内容
- 解析大语言模型的输出结果
它们还支持更高级的功能:
- 聊天记忆 Chat memory
- 工具 Tools
- 检索增强生成 RAG
2、创建AIService
2.1创建接口
package com.ai.javaailangchain4j.assistant;
public interface Assistant {
String chat(String userMessage);
}
2.2测试用例
import com.ai.javaailangchain4j.assistant.Assi

最低0.47元/天 解锁文章
4319

被折叠的 条评论
为什么被折叠?



