LangChain4j
LangChain4j 是 LangChain 的 Java 版本,旨在为 Java 开发者提供构建大型语言模型(LLM)应用的框架。它简化了 LLM 与 Java 应用程序的集成,支持多种主流模型(如 OpenAI、阿里百炼、百度文心等),并提供丰富的工具链,如聊天记忆管理、提示模板、检索增强生成(RAG)、工具调用(Function Calling)和智能代理(Agent)等
OpenAI API 请求与响应参数详解
请求信息

响应信息

LangChain4j快速入门
获取ApiKey
阿里云百炼获取ApiKey:https://bailian.console.aliyun.com/?utm_content=se_1021829511&tab=model#/api-key
创建ApiKey

给ApiKey设置环境变量

引入依赖
langchain4j-open-ai依赖
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
<version>1.0.1-beta6</version>
</dependency>
junit5依赖
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.1</version>
</dependency>
LangChain4j官方demo
使用官方提供的演示模型
/**
* 官方提供的演示ai模型
*/
@Test
void official()
{
OpenAiChatModel model = OpenAiChatModel.builder()
.baseUrl("http://langchain4j.dev/demo/openai/v1")
.apiKey("demo")
.modelName("gpt-4o-mini")
.build();
String answer = model.chat("你是谁?");
System.out.println(answer);
}
运行后结果

使用通义千问(qwen-plus)
/**
* 接入通义千问(qwen-plus)
*/
@Test
void getApiKey()
{
//获取环境变量配置的API-KEY
String key = System.getenv("API-KEY");
OpenAiChatModel model = OpenAiChatModel.builder()
.baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1") //基地址
.apiKey(key) //密钥
.modelName("qwen-plus") //使用模型
.build(); //构建
//调用chat方法进行交互
String mes = model.chat("你是谁?");
System.out.println(mes);
}
运行后如果获取不到环境变量,需要重启编译器(idea)

LangChain4j配置日志信息
日志依赖
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.18</version>
</dependency>
代码
设置logRequests和logResponses
OpenAiChatModel model = OpenAiChatModel.builder()
.baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1") //基地址
.apiKey(key) //密钥
.modelName("qwen-plus") //使用模型
.logRequests(true) //请求
.logResponses(true) //响应
.build(); //构建
结果

Spring整合LangChain4j
使用环境
SpringBoot:3.2.4
引入依赖
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
<version>1.0.0-beta3</version>
</dependency>
yaml文件配置
server:
port: 8100
#配置langchain4j
langchain4j:
open-ai:
chat-model:
api-key: ${
API-KEY} #使用环境变量配置
base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 #基地址
model-name: qwen-plus #模型
log-requests: true #请求
log-responses: true #响应
#配置日志级别
logging:
level:
dev.langchain4j: debug
配置日志一定要开启log-requests和log-responses并且设置日志级别
Controller代码
import dev.langchain4j.model.chat.ChatLanguageModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ChatController {
@Autowired
ChatLanguageModel chatLanguageModel;
@GetMapping("/chat")
public String model(@RequestParam(value = "message", defaultValue = "Hello") String message)
{
return chatLanguageModel.chat(message);
}
}
运行

会话功能
AiService工具
引入依赖
<!-- 工具 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-spring-boot-starter</artifactId>
<version>1.0.1-beta6</version>
</dependency>
声明接口
import dev.langchain4j.service.spring.AiService;
import dev.langchain4j.service.spring.AiServiceWiringMode;
@AiService(
wiringMode = AiServiceWiringMode.EXPLICIT, //手动装配
chatModel = "openAiChatModel" //指定模型
)
public interface ConsultantService
{
public String chat(String mes);
}

最低0.47元/天 解锁文章
1779

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



