springboot集成langchain4j接入open AI和deepseek
LangChain4j介绍
官网:https://docs.langchain4j.info
- 统一 API: LLM 提供商(如 OpenAI 或 Google Vertex AI)和嵌入(向量)存储(如 Pinecone 或 Milvus) 使用专有 API。LangChain4j 提供统一的 API,避免了学习和实现每个特定 API 的需求。 要尝试不同的 LLM 或嵌入存储,您可以在它们之间轻松切换,无需重写代码。 LangChain4j 目前支持 15+ 个流行的 LLM 提供商 和 20+ 个嵌入存储。
- 全面的工具箱: 自 2023 年初以来,社区一直在构建众多 LLM 驱动的应用程序, 识别常见的抽象、模式和技术。LangChain4j 将这些提炼成一个即用型包。 我们的工具箱包含从低级提示模板、聊天记忆管理和函数调用 到高级模式如代理和 RAG 的工具。 对于每个抽象,我们提供一个接口以及基于常见技术的多个即用型实现。 无论您是在构建聊天机器人还是开发包含从数据摄取到检索完整管道的 RAG, LangChain4j 都提供多种选择。
- LangChain4j与 Spring AI 的对比
Spring Al LangChain4j 强依赖 Spring 生态 无框架依赖,可独立使用 SpringBoot应用快速接入单模型 多模型(动态模型)平台 快速开始
1.0.0-beta3 dev.langchain4j langchain4j {langchain4j.version} dev.langchain4j langchain4j-open-ai {langchain4j.version}
package com.kizzo.langchain4j_demos; import dev.langchain4j.model.openai.OpenAiChatModel; import org.junit.jupiter.api.Test; public class TestChat { @Test void testChat(){ OpenAiChatModel model = OpenAiChatModel.builder() .baseUrl("http://langchain4j.dev/demo/openai/v1") .apiKey("demo") .modelName("gpt-4o-mini") .build(); String answer = model.chat("Say 'Hello World'"); System.out.println(answer); // Hello World String answer2 = model.chat("你好你是谁?"); System.out.println(answer2); // Hello World } }
运行结果如图
@Test void testDeepseekChat(){ OpenAiChatModel model = OpenAiChatModel.builder() .baseUrl("https://api.deepseek.com") .apiKey(ApiKeys.DEEPSEEK_API_KEY) .modelName("deepseek-chat") .build(); String answer2 = model.chat("你好你是谁?"); System.out.println(answer2); }
运行结果如图
这里pom需要引入新依赖
dev.langchain4j langchain4j-community-dashscope ${langchain4j.version}
新增一个测试用例
@Test void testQwenChat(){ QwenChatModel model = QwenChatModel.builder() .apiKey(ApiKeys.QWEN_API_KEY) .modelName("qwen-plus") .build(); String answer = model.chat("你好你是谁?"); System.out.println(answer);
运行结果报错
com.alibaba.dashscope.exception.ApiException: {“statusCode”:403,“message”:“Model access denied.”,“code”:“Model.AccessDenied”,“isJson”:true,“requestId”:“c6930245-746d-96bf-9eea-f05a03ef67d4”}
; status body:{“statusCode”:403,“message”:“Model access denied.”,“code”:“Model.AccessDenied”,“isJson”:true,“requestId”:“c6930245-746d-96bf-9eea-f05a03ef67d4”}
解决方法:
查看官网错误码(https://help.aliyun.com/zh/model-studio/error-code)
发现新建的业务空间没有授权对应的模型,而默认的业务空间是授权的,测试的业务空间授权即可。
运行结果如图
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。