当前位置: 首页 > news >正文

langchain4j对接阿里云百炼平台

1. 主流的java大模型开发框架介绍

1.1 LangChain4J

  1. 提供标准化API,支持超过15个主流大模型提供商和嵌入存储。
  2. 提供工具箱,从低级提示词模板到高级AI服务,适合构建聊天机器人和检索增强生成(RAG)管道。
  3. 社区支持活跃,能够快速整合最新的AI技术,便于Java开发者将AI功能集成到现有项目中。
  4. 官网地址:https://docs.langchain4j.dev

1.2 Spring AI:

  1. 深度集成到Spring框架中,Java开发者可以轻松将AI功能嵌入到现有Spring项目中。
  2. 尽管Spring AI仍处于发展阶段,尚未发布正式版本,但其凭借Spring生态系统,具备了极强的扩展性和集成能力。

对比

对比LangChain4JSpring AI
功能成熟度功能全面,适合大规模AI应用仍在发展,功能有待完善
集成能力支持多种LLM和嵌入存储,适合多样化场景集成到Spring项目中,扩展性强
社区支持社区活跃,反馈迅速项目正在成长,API变更较大

2. 阿里云百炼平台

2.1平台地址:https://bailian.console.aliyun.com

2.2前往平台申请apiKey

3. 引入相关jar包

3.1 langchain4j-bom版本控制依赖

引入版本控制后子jar包不需要写版本号

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-bom</artifactId>
            <version>1.0.0-beta1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3.2 langchain4j相关jar

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

4.代码示例

代码获取: www.yulaoban.club/ca

视频地址

4.1 注入聊天模型到容器

    @Bean
    public ChatLanguageModel chatLanguageModel(){
        return OpenAiChatModel.builder()
                .apiKey("your apikey from dashscope")
                .modelName("qwen-turbo")
                .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
                .build();
    }

4.2 定义聊天助手接口

public interface AssistantService {

    String chat(@UserMessage String msg);

}

4.3 绑定聊天模型到聊天助手

    @Bean
    public AssistantService assistantService(ChatLanguageModel chatLanguageModel){
        return AiServices.builder(AssistantService.class)
                .chatLanguageModel(chatLanguageModel)
                .chatMemoryProvider(memoryId -> MessageWindowChatMemory.withMaxMessages(10))
                .build();
    }

4.4 controller示例

@RestController
@RequestMapping("/chat")
public class ChatController {

    @Resource
    private AssistantService assistantService;

    @GetMapping("/generate")
    public String simple(@RequestParam("msg") String msg){
        return assistantService.chat(msg);
    }
}

相关文章:

  • Java 学习记录:基础到进阶之路(二)
  • 解锁MySQL 8.0.41源码调试:Mac 11.6+CLion 2024.3.4实战指南
  • 63. Three.js案例-不同材质属性来增强3D对象的真实感
  • [c语言日寄]浮点数的排序
  • 鸿蒙next 多行文字加图片后缀实现方案
  • goweb中文件上传和文件下载
  • [特殊字符] 深度实战:Android 13 系统定制之 Recovery 模式瘦身指南
  • 【Agent】OpenManus-Flow组件详细分析
  • PTA 7-12 排序
  • Linux 线程控制
  • VBA第二十六期 VBA用调试语句做进度条
  • 魔法协议Magic-MCP:开启AI智能体「万能互联」的新时代
  • 基于Yocto项目与SSD MobileNet的树莓派AI视觉系统构建指南*
  • 山东大学计算机组成与设计第五章习题解析
  • conda的基本使用及pycharm里设置conda环境
  • SpringData JPA事务管理:@Transactional注解与事务传播
  • Docker 镜像优化:如何避免重复安装软件,加速服务的构建与部署
  • 全面对比分析:HDMI、DP、DVI、VGA、Type-C、SDI视频接口特点详解
  • 3.水中看月
  • DeepSeek+Dify本地部署私有化知识库
  • 怎么把做的网页放入网站/seo渠道是什么意思
  • 专业模板网站制作哪家好/360投放广告怎么收费
  • 学而思的网站哪里做的/品牌运营
  • 昆明中国建设银行网站/百度的广告
  • 网站排名如何提升/营销网站建设培训学校
  • 做家装家居网站/如何免费开自己的网站