詹学伟
詹学伟
Published on 2025-06-02 / 15 Visits
0
0

初探langchain4j

一、简介

LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程

官网:

https://docs.langchain4j.dev

二、主要功能

与大型语言模型和向量数据库的便捷交互

通过统一的应用程序编程接口(API),可以轻松访问所有主要的商业和开源大型语言模型以及向量数据

库,使你能够构建聊天机器人、智能助手等应用。

专为 Java 打造

借助Spring Boot 集成,能够将大模型集成到ava 应用程序中。大型语言模型与 Java 之间实现了双向集

成:你可以从 Java 中调用大型语言模型,同时也允许大型语言模型反过来调用你的 Java 代码

智能代理、工具、检索增强生成(RAG)

为常见的大语言模型操作提供了广泛的工具,涵盖从底层的提示词模板创建、聊天记忆管理和输出解

析,到智能代理和检索增强生成等高级模式。

三、接入大模型

参考文档:

https://docs.langchain4j.dev/get-started

说明:jdk版本不低于17,我使用的是17.0.2版本

1.新建SpringBoot项目

2.添加依赖

        <!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
            <version>1.0.0-beta3</version>
        </dependency>

3.编写测试用例

    @Test
    void testLLM() {
        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);
    }

四、SpringBoot整合

参考文档:

https://docs.langchain4j.dev/tutorials/spring-boot-integration

1.新建SpringBoot项目

2.添加依赖

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
    <version>1.0.0-beta3</version>
</dependency>

3.编写测试用例

    @Autowired
    private OpenAiChatModel openAiChatModel;

    @Test
    void testOpenAiChatModel(){
        String answer = openAiChatModel.chat("你是谁");
        System.out.println(answer);
    }

五、接入其他大模型

1、都有哪些大模型

大语言模型排行榜:

https://superclueai.com/

LangChain4j支持接入的大模型

https://docs.langchain4j.dev/integrations/language-models/

2.接入DeepSeek

1.获取开发参数

访问官网:

https://www.deepseek.com/

注册账号,获取base_url和api_key,充值

2.配置模型参数

DeepSeek API文档:

https://api-docs.deepseek.com/zh-cn/

在 LangChain4j 中,DeepSeek 和 GPT 一样也使用了 OpenAI 的接口标准,因此也使用OpenAiChatModel进行接入

3.步骤

1.添加配置文件

langchain4j:
  open-ai:
    chat-model:
      base-url: https://api.deepseek.com
      api-key: sk-851e968414c947c6be86427b101xxxx
      model-name: deepseek-chat
      model-name: =deepseek-reasoner

2.编写测试用例

    @Autowired
    private OpenAiChatModel openAiChatModel;

    @Test
    void testOpenAiChatModel(){
        String answer = openAiChatModel.chat("你是谁");
        System.out.println(answer);
    }

六、接入阿里百炼平台

1.什么是阿里百炼

阿里云百炼是 2023 年 10 月推出的。它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、

图像、音视频等不同模态。

功能优势集成超百款大模型 API,模型选择丰富;5-10 分钟就能低代码快速构建智能体,应用构

建高效;提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;在线部署可按需扩

缩容,新用户有千万 token 免费送,业务落地成本低。

支持接入的模型列表:

https://help.aliyun.com/zh/model-studio/models

模型广场:

https://bailian.console.aliyun.com/?productCode=p_efm#/model-market

2.申请免费体验并开通服务

3.配置apiKey

申请apiKey: https://bailian.console.aliyun.com/?apiKey=1&productCode=p_efm#/api-key

4.添加依赖

LangChain4j参考文档:

https://docs.langchain4j.dev/integrations/language-models/dashscope#plain-java
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
            <version>1.0.0-beta3</version>
        </dependency>

5.配置文件

langchain4j:
  community:
    dashscope:
      chat-model:
        api-key: sk-09c7b571687b46d5a2e25a03fbdd2fd1
        model-name: qwen-max

6.编写测试用例

    @Autowired
    private QwenChatModel qwenChatModel;

    @Test
    void testQwen(){
        String answer = qwenChatModel.chat("你是谁");
        System.out.println(answer);
    }

7.千文文生图

    @Test
    public void testDashScopeWanx(){
        WanxImageModel wanxImageModel = WanxImageModel.builder()
                .modelName("wanx2.1-t2i-plus")
                .apiKey("sk-09c7b571687b46d5a2e25a03fbdd2fd1")
                .build();
        Response<Image> response = wanxImageModel.generate("一间有着精致窗户的花店,漂亮的木质门,摆放着花朵");
                System.out.println(response.content().url());
    }

8.测试DeepSeek

也可以在阿里百炼上集成第三方大模型,如DeepSeek

将配置参数上的base-url参数指定到百炼平台,使用百炼上的大模型名称和apiKey即可

langchain4j:
  community:
    dashscope:
      chat-model:
        api-key: sk-09c7b571687b46d5a2e25a03fbddxxxx
        model-name: qwen-max
    @Autowired
    private OpenAiChatModel openAiChatModel;

    @Test
    void testOpenAiChatModel(){
        String answer = openAiChatModel.chat("你是谁");
        System.out.println(answer);
    }


Comment