欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > Langchain4j 初体验

Langchain4j 初体验

2025/6/20 1:40:23 来源:https://blog.csdn.net/qq_38322527/article/details/148709324  浏览:    关键词:Langchain4j 初体验

文章目录

  • 前言
  • 环境准备
  • 基本功能使用测试
    • 使用 openAI
      • 核心依赖
      • 验证demo
    • 接入其他模型
      • 使用 DeepSeek 大模型
      • 接入阿里百炼大模型
      • 使用阿里百炼文生图
      • 使用阿里百炼文生语音

前言

LangChain4j 是一个基于Java的开源框架,用于开发人工智能驱动的应用程序,尤其是涉及大语言模型(LLM)交互的场景。它的设计目标是简化开发者与大语言模型的集成过程,提供一套工具和组件来处理复杂的 LLM 应用逻辑,例如对话管理、提示工程、工具调用等。

环境准备

  • jdk 17
  • maven 3.6.3
  • springboot 3.4.0
  • langchain4j 1.0.0-beta1

基本功能使用测试

使用 openAI

核心依赖

<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j</artifactId><version>1.0.0-beta1</version>
</dependency>
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai</artifactId><version>1.0.0-beta1</version>
</dependency>

验证demo

Langchain4j官方网站中推荐了一种直接使用测试的方法。如下所示:

@Test
public void test1() {OpenAiChatModel demo = OpenAiChatModel.builder().apiKey("demo").modelName("gpt-4o-mini").build();String answer = demo.chat("你好,你是谁?");System.out.println(answer);
}

运行后控制台打印效果:

你好!我是一个人工智能助手,旨在回答问题和提供信息。有什么我可以帮助你的吗?

一般来说,使用大模型都需要用到apiKey模型地址。但Langchain4j为了让广大开发人员不用过多关注申请和付费类,推出使用demo代替apikey的形式进行代码验证。其中原理在于OpenAiChatModel中填充属性时,识别到apiKeydemo时,会使用其官方本身的大模型。
在这里插入图片描述
在这里插入图片描述
当然,在使用apiKey("demo")时,模型编号只能使用gpt-4o-mini

接入其他模型

使用 DeepSeek 大模型

在deepseek官方网站中有一个描述。

* 出于与 OpenAI 兼容考虑,您也可以将 base_url 设置为 https://api.deepseek.com/v1 来使用,但注意,此处 v1 与模型版本无关。* deepseek-chat 模型指向 DeepSeek-V3-0324, 通过指定 model='deepseek-chat' 调用。* deepseek-reasoner 模型指向 DeepSeek-R1-0528, 通过指定 model='deepseek-reasoner' 调用。

编写测试代码,如下所示:

@Test
public void deepseekTest() {// 配置在系统环境变量中的 key,也可以直接使用 apiKey("xxxxxxxx") 的方式String deepSeekKey = System.getenv("DEEP_SEEK_KEY");ChatLanguageModel deepSeekModel = OpenAiChatModel.builder().baseUrl("https://api.deepseek.com").apiKey(deepSeekKey).modelName("deepseek-chat").build();String answer = deepSeekModel.chat("你好,你是谁?");System.out.println(answer);
}

执行后控制台打印信息如下所示:

你好!我是DeepSeek Chat,一个由深度求索公司(DeepSeek)开发的智能AI助手。
我可以帮助你解答问题、提供信息、聊天交流,还能处理各种文本和文件内容。如果有任何问题或需要帮助,尽管问我吧!😊

接入阿里百炼大模型

阿里百炼是一个大模型的大集合平台,在里面能够白嫖(滑稽)。
查看 LangChain4j 官网 引入对应的依赖。

<!-- 阿里千问 -->
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-dashscope</artifactId><version>1.0.0-beta1</version>
</dependency>

编写测试代码。

/*** 百炼相关pom* <dependency>*             <groupId>dev.langchain4j</groupId>*             <artifactId>langchain4j-community-dashscope</artifactId>*             <version>${langchain4j.version}</version>*         </dependency>**  对应千问大模型 url  https://bailian.console.aliyun.com/console?tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712576.html%23cde3eb109flda*  对应  langchain4j 官网 https://docs.langchain4j.dev/integrations/language-models/dashscope/*  qwq-32b 仅支持流式*/
@Test
public void qianwenTest() {String aliAiKey = System.getenv("ALI_AI_KEY");ChatLanguageModel qianwenModel = QwenChatModel.builder()
//                .baseUrl("https://dashscope.aliyuncs.com").apiKey(aliAiKey).modelName("qwen-max").build();String answer = qianwenModel.chat("你好,你是谁?");System.out.println(answer);
}

运行后控制台打印信息如下:

你好!我是Qwen,这是我的英文名,你也可以叫我通义千问。
我是阿里云自主研发的超大规模语言模型,能够回答问题、创作文字,还能表达观点、撰写代码,功能多多。
有什么我可以帮助你的吗?

使用阿里百炼文生图

在阿里百炼大模型平台中,能够文生图的模型有很多。本次验证使用通义万相-文生图V2版。

代码案例如下:

/*** ali 百炼* 文生图* https://bailian.console.aliyun.com/console?tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2862677.html*         <dependency>*             <groupId>dev.langchain4j</groupId>*             <artifactId>langchain4j-community-dashscope</artifactId>*             <version>${langchain4j.version}</version>*         </dependency>*/
@Test
public void test1() {WanxImageModel wanxImageModel = WanxImageModel.builder().apiKey(System.getenv("ALI_AI_KEY")).modelName("wanx2.1-t2i-plus").build();Response<Image> response = wanxImageModel.generate("写实风格,一只黑色小猫好奇地看向天空,镜头从平视逐渐上升,最后俯拍小猫好奇的眼神。");System.out.println(response.content().url());
}

执行后,控制台会返回一个生成的图片地址。

https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1d/7a/20250617/11701983/39589058-2bc7-4e88-898b-e59273ab1cf7.png?Expires=1750215539&OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4G8qL&Signature=yBxDnfW0SxFUyhnYITB6zSt65ys%3D

使用阿里百炼文生语音

对应百炼模型选择 语音合成-CosyVoice 。其中音色的选择也有限制,可以参照 百炼音色选择。

编写Java代码测试:

/*** 语音* 百炼文档   https://bailian.console.aliyun.com/console?tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2817551.html* 百炼音色   https://help.aliyun.com/zh/model-studio/cosyvoice-java-sdk#722dd7ca66a6x**/
@Test
public void test2() {// String voice = "longwan";String voice = "longtong";SpeechSynthesisParam build = SpeechSynthesisParam.builder().apiKey(System.getenv("ALI_AI_KEY")).model("cosyvoice-v1").voice(voice).build();SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(build, null);ByteBuffer audio = speechSynthesizer.call("大家好,我是最帅的人!");// 写入音频文件File file = new File("output.mp3");try (FileOutputStream fos = new FileOutputStream(file)){fos.write(audio.array());} catch (Exception e) {}
}

执行完毕后,会将对应的字节码写入指定文件中。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词