LangChain4j:在java应用中快速构建LLM

概述

LangChain4j 是一个专为Java开发者设计的开源库,旨在简化将大型语言模型(LLM)集成到Java应用程序中的过程。 它于2023年初开发,灵感来源于Python和JavaScript的LLM库,特别是为了填补Java领域在这一方面的空白。

官网文档地址:Introduction | LangChain4j 

核心功能 

1.统一API:LangChain4j 提供统一 API,避免了学习和实现每个API的特定API。

2.全面的工具箱:该框架包含多种工具,从低级的提示模板、聊天记忆管理到高级模式(如AI服务和RAG)。

3.大量的示例:LangChain4j提供大量的使用示例,与Quarkus和SpringBoot的集成等

获取阿里云百炼的api-key 

1.注册阿里云账号

访问阿里云官网,完成账号注册流程,并开通百炼服务,网址:https://bailian.console.aliyun.com

2.获取 API Key

登录阿里云百炼平台,在个人中心或相关设置页面找到并生成 API Key,妥善保管此密钥,后续调用模型时需使用

入门实操

1.引入依赖

LangChain4j 提供与许多 LLM 提供商的集成。 每个集成都有自己的 maven 依赖项。 最简单的开始方法是 OpenAI 集成,如果希望使用高级 AI 服务 API,则还需要添加其他依赖项。

 <!--统一版本-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-bom</artifactId>
                <version>0.36.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
 <!--langchain4j 高级AI服务API-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j</artifactId>
        </dependency>
        <!--langchain4j 基础依赖-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
        </dependency>

2.编写启动类

package ym;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class Main {


    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

3.编写服务接口

package ym.service;

/**
 * ai接口
 */
public interface IChatAssistant {
    String chat(String message);

}

4.编写配置文件

package ym.config;
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.openai.OpenAiChatModel;
import dev.langchain4j.service.AiServices;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ym.service.IChatAssistant;
/**
 * 大模型配置
 */
@Configuration
public class LLMConfig {
    @Bean
    public ChatLanguageModel chatLanguageModel() {
        return OpenAiChatModel.builder()
                .apiKey("阿里百炼的apikey")
                .modelName("qwen-max")
                .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
                .build();
    }
    @Bean
    public IChatAssistant chatAssistant() {
        return AiServices.
                builder(IChatAssistant.class)
                // 选择模型
                .chatLanguageModel(chatLanguageModel())
                .build();
    }


}

5.编写控制器

package ym.controller.llm;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import ym.service.IChatAssistant;

/**
 * 基础ai对话
 */
@RequestMapping("/base")
@RestController
public class ChatController {
    @Autowired
    IChatAssistant iChatAssistant;

    /**
     * ai对话
     * @param message
     * @return
     */
    @GetMapping("/chat")
    public String chat(String message) {
        return iChatAssistant.chat(message);
    }
}

6.访问测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾柯伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值