LangChain4j接入通义千问依赖怎么写
时间: 2025-05-09 09:15:13 浏览: 37
### LangChain4j 中接入通义千问及相关 Maven 配置
在 LangChain4j 中接入通义千问,可以通过其提供的客户端库完成对接。以下是详细的说明:
#### 1. 添加 Maven 依赖
为了使用通义千问的功能,需引入阿里云的相关 SDK 和 LangChain4j 的核心依赖。
```xml
<dependencies>
<!-- LangChain4j 核心依赖 -->
<dependency>
<groupId>io.langchain</groupId>
<artifactId>langchain4j-core</artifactId>
<version>0.9.0</version>
</dependency>
<!-- 阿里云 Java SDK -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>
<!-- 通义千问专用 SDK -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-qwen</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
```
上述配置中包含了 LangChain4j 的核心功能模块以及阿里云的通用 SDK 和通义千问专属 SDK[^1]。
#### 2. 创建服务类并初始化客户端
通过 `ChatClient` 或 `StreamingChatClient` 实现与通义千问的具体交互逻辑。以下是一个简单的实现示例:
```java
import com.alicloud.openservices.tablestore.core.utils.JsonUtils;
import com.aliyuncs.qwen.model.v20230718.CompletionRequest;
import com.aliyuncs.qwen.model.v20230718.CompletionResponse;
public class TongYiService {
private final ChatClient chatClient;
public TongYiService(ChatClient chatClient) {
this.chatClient = chatClient;
}
public String completion(String message) {
CompletionRequest request = new CompletionRequest();
request.setPrompt(message);
try {
CompletionResponse response = chatClient.completion(request);
return JsonUtils.toJsonString(response.getCompletion());
} catch (Exception e) {
throw new RuntimeException("Error while processing the request.", e);
}
}
}
```
此代码片段展示了如何利用 `ChatClient` 完成基础问答请求处理[^2]。
#### 3. 构建 Spring Boot 控制器
基于前面的服务层设计,可以构建一个 RESTful API 来暴露接口供外部调用。
```java
@RestController
@RequestMapping("/ai")
@CrossOrigin
public class TongYiController {
@Autowired
@Qualifier("tongYiSimpleServiceImpl")
private TongYiService tongYiSimpleService;
@GetMapping("/simple")
public String completion(@RequestParam(value = "message", defaultValue = "AI时代下Java开发者该何去何从?") String message) {
return tongYiSimpleService.completion(message);
}
}
```
这段代码定义了一个 `/ai/simple` 接口来测试基本 QA 功能[^3]。
---
###
阅读全文
相关推荐









