「Java AI实战」LangChain4J接入Xinference本地大模型

系列文章目录

第一章 「Java AI实战」LangChain4J接入Xinference本地大模型



前言

随着大语言模型(LLM)的持续火热,LangChain 成为构建智能应用的事实标准。而对于 Java 开发者而言,LangChain4J 则是一把通往 AI 应用开发的新钥匙。它不仅封装了与 OpenAI、HuggingFace、Baidu、Azure 等模型服务的接入能力,更提供了类似 LangChain 的链式调用编排、上下文管理、Agent 机制、工具集成等核心功能,让 Java 开发者也能便捷地构建问答系统、RAG 应用、多轮对话、智能代理等 LLM 应用。

本系列将逐步了解 LangChain4J 的核心模块与实际用法,从基础组件到复杂链路,通过代码示例与项目实战,在 Java 的世界里轻松驾驭大模型,开启智能应用开发的新纪元。本文主要先介绍相关的基础内容。


一、简介

🚀 LangChain4J 是什么?

简介:LangChain4J 是一个专为 Java 开发者打造的开源框架,致力于将大语言模型(LLM)的强大能力以链式结构集成到 Java 应用中。它是 LangChain 在 Java 世界的“平行宇宙”,通过统一的接口封装,支持主流模型平台(如 OpenAI、Azure、HuggingFace、百度文心一言、Ollama、LocalAI 等),并提供对 Prompt 模板、Agent 智能体、多轮对话、记忆管理(Memory)、工具调用(Tool Calling)等核心能力的支持。

LangChain4J 的设计理念是:让 Java 开发者像使用标准库一样优雅地构建智能应用,不再受限于 Python 生态。

核心特性

✅ 多模型兼容(OpenAI / Claude / 文心 / Ollama 等)

🧩 支持 Prompt 模板、Chain 编排、上下文管理

🧠 内置 Memory 模块,支持多轮对话

🕹️ Agent 智能体 + Tool 插件机制

⚙️ 与 Spring Boot 无缝集成

🌍 支持 RAG(检索增强生成)场景构建

📦 Maven 依赖简单、API 易于使用

🚀 为什么使用LangChain4J ?

LangChain4J 是 LangChain 框架的 Java 语言实现,它的核心价值在于:将大模型能力嵌入到 Java 系统中,构建真正实用的“智能体”与“智能服务”。

1. Java生态兼容好,适合企业场景

  • 大多数企业系统后端还是 Java(Spring Boot / JEE)
  • LangChain4J 可以无缝嵌入 Java 服务,比如银行、政务、金融系统

2. 支持复杂链式调用和流程编排

  • 类似流程引擎,但围绕大模型的智能推理展开
  • 可以组合:LLM + 工具调用 + 数据查询 + 外部API + 状态判断 等

3. 可以打通数据库、微服务、搜索系统等

  • 嵌入 RAG 检索系统
  • 与业务系统双向通讯,实现 AI 助手执行复杂任务

4. 支持Agent、工具函数调用、上下文缓存等先进能力

  • 真正将“调用AI”变成“调用一个有智能的组件”,具备记忆和操作力

二、使用步骤

1.pom依赖

LangChain4j 在两个抽象层次上运行:

  • Low level:在此级别,可以最自由地访问所有底层组件
  • High level:在此级别,可以使用 AI 服务等高级 API 与 LLM 进行交互

基础pom

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

如果需要使用高级 AI 服务 API,则还需要添加 以下依赖项:

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j</artifactId>
    <version>1.0.0-beta3</version>
</dependency>

在这里插入图片描述
本篇选择的pom依赖如下:

   <!--所有调用均基于 OpenAI 协议标准,实现一致的接口设计与规范LangChain4j 提供与许多 LLM 提供商的集成。每个集成都有自己的 maven 依赖项。
        最简单的开始方式是从 OpenAI 集成开始-->
   <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
   </dependency>
   <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j</artifactId>
      <version>0.26.0</version> <!-- 或使用最新版本 -->
   </dependency>

2.API key + 模型选择

此处选择的模型为Xinference框架部署的模型,使用maxkb进行简单应用的创建。maxkb的部署和简单应用的创建可参考官网信息:

https://maxkb.cn/docs/

使用maxkb创建应用之后,可以获取应用的api key和base url。

在这里插入图片描述

xinference启动对应的LLM模型。Xinference的部署和使用参考往期文章:

https://blog.youkuaiyun.com/OFFTime_we/article/details/144774407?spm=1001.2014.3001.5502

在这里插入图片描述

3.Java服务配置文件 - application.properties

server.port=9001

spring.application.name=langchain4j

langchain4j.open-ai.chat-model.api-key=application-8cd247697f4e2b5c5b32dbae1a229b85
langchain4j.open-ai.chat-model.model-name=qwen2.5-instruct
langchain4j.open-ai.chat-model.base-url=http://localhost:8080/api/application/33405a8c-2372-11f0-84c3-0242ac110002

测试代码:

@RestController
@Slf4j
public class HelloLangChain4JController {

    @Resource
    private ChatLanguageModel chatLanguageModel;

    @GetMapping(value = "/langchain4j/hello")
    public String hello(@RequestParam(value = "prompt", defaultValue = "你是谁") String prompt) {
        String result = chatLanguageModel.generate(prompt);
        System.out.println("通过langchain4j调用模型返回结果:\n"+result);
        return result;
    }



    @GetMapping(value = "/langchain4j/hello2")
    public String hello2() {
        String result = chatLanguageModel.generate("你好,我爱吃西瓜");
        String result2 = chatLanguageModel.generate("我爱吃什么");
        System.out.println("11111\n"+result);
        System.out.println("2222\n"+result2);
        return result;
    }
}

输出结果:

在这里插入图片描述
在这里插入图片描述

三、总结

在本篇文章中,我们简要了解了 LangChain4J 的核心概念和优势,并通过实际步骤,快速完成了一个 Java 项目的基本接入。从添加 pom 依赖,到配置 API Key 和模型,再到完善服务端配置,整个流程清晰且高效。

LangChain4J 作为连接 Java 应用与大语言模型的桥梁,不仅降低了接入门槛,还为开发者提供了极大的灵活性和扩展性。无论是构建智能问答系统、自动化工具,还是结合私有知识库做定制化开发,LangChain4J 都展现了强大的潜力。

未来如果需要深度应用,比如自定义 Memory、优化 Prompt 模板、链式调用(Chain)等内容,还可以在此基础上进一步拓展。本专栏也会持续更新更深入的实战内容,欢迎大家一起探索 AI 与 Java 结合的更多可能!🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值