SpringBoot集成LangChain4j玩转AI大模型(一)

一、了解langchain4j

1. 创建springboot 项目

1.1引入angchain4j的依赖

正常引入springboot所需要的一些依赖以后,添加langchain4j的依赖(版本号:1.0.0-beta3)

LangChain4j 参考文档: https://docs.langchain4j.dev/integrations/language-models/dashscope#plain-jav a
        <!-- LangChain4j AI相关 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-spring-boot-starter</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
            <version>${langchain4j.version}</version> <!-- 使用变量统一版本 -->
        </dependency>
        <!-- 接入阿里云百炼平台 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>

1.2 获取API-Key

由于我们需要获取一个API-Key来调用大模型的接口,所以我们可以在一些提供免费接口试用的厂商申请一个额apikey,比如DeepSeek、BaiChuan、阿里云百炼、智谱清言等。我们以阿里云百炼为例
链接:阿里云百炼

什么是阿里百炼
  • 阿里云百炼是 2023 10 月推出的。它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、 图像、音视频等不同模态。
  • 功能优势:集成超百款大模型 API,模型选择丰富;5-10 分钟就能低代码快速构建智能体,应用构 建高效;提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;在线部署可按需扩 缩容,新用户有千万 token 免费送,业务落地成本低。
  • 支持接入的模型列表: https://help.aliyun.com/zh/model-studio/models
  • 模型广场: https://bailian.console.aliyun.com/?productCode=p_efm#/model-market

点击免费体验

点击右上角登录

然后申请一个 API-KEY

然后得到的API-KEY好好保存,然后开始进行配置文件

如果不想创建API-KEY,则使用下面的秘钥进行实现最原本的langchain4j

# langchain4j 测试模型配置
langchain4j:
  #原始langchain4j配置
  open-ai:
    chat-model:
      api-key: demo  # OpenAI API 密钥(演示用)
      model-name: gpt-4o-mini # 使用的模型名称
      base-url: http://langchain4j.dev/demo/openai/v1  # 的演示环境URL
      log-requests: true  # 启用请求日志
      log-responses: true  # 启用响应日志
  #阿里百炼平台配置
  community:
    dashscope:
      chat-model:
        api-key: sk-88  # 必须提供,从阿里云控制台获取
        model-name: qwen-max  # 或其他通义千问模型(如 qwen-turbo、qwen-max)
1.3测试通义灵码
    /**
     * 通义千问大模型
     */
    @Autowired
    private QwenChatModel qwenChatModel;

    @Test
    public void testDashScopeQwen() {
        //向模型提问
        String answer = qwenChatModel.chat("你好");
        //输出结果
        System.out.println("模型输出:"+answer);
    }

1.4测试通义万象

    /**
     *测试通义万象
     */
    @Value("${langchain4j.community.dashscope.chat-model.api-key}")
    String appkey;
    @Test
    public void testDashScopeWanx(){
        WanxImageModel wanxImageModel = WanxImageModel.builder()
                .modelName("wanx2.1-t2i-plus")
                .apiKey(appkey)
                .build();
        Response<Image> response = wanxImageModel.generate("奇幻森林精灵:在一片弥漫着轻柔薄雾的古老森林深处,阳光透过茂密枝叶洒下金色光斑。一位身材娇小、长着透明薄翼的精灵少女站在一朵硕大的蘑菇上。她 有着海藻般的绿色长发,发间点缀着蓝色的小花,皮肤泛着珍珠般的微光。身上穿着由翠绿树叶和白色藤蔓编织而成的 连衣裙,手中捧着一颗散发着柔和光芒的水晶球,周围环绕着五彩斑斓的蝴蝶,脚下是铺满苔藓的地面,蘑菇和蕨类植 物丛生,营造出神秘而梦幻的氛围。");
                System.out.println("模型输出:"+response.content().url());
    }

二、人工智能服务 AIService

1、什么是AIService

AIService 使用面向接口和动态代理的方式完成程序的编写,更灵活的实现高级功能。
1.1、链 Chain(旧版)
链的概念源自 Python 中的 LangChain 。其理念是针对每个常见的用例都设置一条链,比如聊天机器人、 检索增强生成(RAG )等。链将多个底层组件组合起来,并协调它们之间的交互。链存在的主要问题是不灵活。
1.2、人工智能服务 AIService
LangChain4j 中我们使用 AIService 完成复杂操作。底层组件将由 AIService 进行组装。
AIService 可处理最常见的操作:
  • 为大语言模型格式化输入内容
  • 解析大语言模型的输出结果
它们还支持更高级的功能:
  • 聊天记忆 Chat memory
  • 工具 Tools
  • 检索增强生成 RAG

2、创建AIService

2.1创建接口
package com.ai.javaailangchain4j.assistant;

public interface Assistant {
    String chat(String userMessage);
}
2.2测试用例
import com.ai.javaailangchain4j.assistant.Assi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值