LangChain4j × Helidon 集成指南:借助 Helidon Inject 与 CDI 构建声明式 AI 应用

发布时间:2026/9/15 15:42:04
LangChain4j × Helidon 集成指南:借助 Helidon Inject 与 CDI 构建声明式 AI 应用
LangChain4j × Helidon 集成指南借助 Helidon Inject 与 CDI 构建声明式 AI 应用【免费下载链接】langchain4jLangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers and vector stores, and makes implementing tool calling (including MCP support), agents and RAG easy. It integrates seamlessly with enterprise Java frameworks like Quarkus and Spring Boot.项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j本文基于 langchain4j 仓库文档 helidon.md 及其配套教程 helidon-integration.md 编写。LangChain4j 是一个为 JVM 打造的、符合 Java 惯例的开源 LLM 应用开发库而 Helidon 官方提供的 LangChain4j 集成模块可以让开发者直接用 Helidon 的编程模型Helidon SE / Helidon MP声明式地装配 ChatModel、EmbeddingStore、AI Services 等 LangChain4j 组件大幅降低集成成本。读完本文你将掌握 Helidon 集成模块的核心能力、版本要求、示例工程结构以及它与 CDIMicroProfile环境的协同方式能够据此快速搭建自己的 AI 驱动 Helidon 应用。为什么需要 Helidon 官方集成模块Helidon 在其官方文档中提供了针对 LangChain4j 的集成模块依赖坐标见下文它的目标不是替代 LangChain4j而是替代手工往 Helidon 应用里拼装 LangChain4j 依赖与初始化代码这一过程。相比手动引入 LangChain4j 库Helidon 集成模块带来四个核心优势优势说明与 Helidon Inject 集成根据配置自动在 Helidon 服务注册表中创建并注册选定的 LangChain4j 组件无需手写工厂类约定优于配置Convention Over Configuration为常见使用场景提供合理的默认值减少重复的手动配置声明式 AI Services在 Helidon 的声明式编程模型中直接支持 LangChain4j 的 AI Services代码结构更干净、更易维护与 CDI 集成借助 Helidon Inject 到 CDI 的桥接能力LangChain4j 组件可以被用在 CDI 环境中例如 Helidon MPMicroProfile应用这些特性共同显著降低了把 LangChain4j 引入 Helidon 应用的复杂度。从仓库文档的定位看这一模块属于框架集成类别与仓库中记录的 Quarkus、Spring Boot、Micronaut 集成同属一类而在 intro.md 中Helidon 也与 Quarkus、Spring Boot、Micronaut 一起被列为 LangChain4j 的一等公民框架集成对象。支持版本Java 21 与 Helidon 4.2LangChain4j 本身要求 JDK 17 以上见 get-started.md 中 The minimum supported JDK version is 17而Helidon 的 LangChain4j 集成模块在此基础上要求更高Java 21Helidon 4.2这意味着如果你要在 Helidon 应用中启用该集成需要确认你的运行环境满足这两个前提条件。Helidon 4.x 基于 Virtual Threads 与 Nima响应式 Web 服务器Java 21 的虚拟线程特性是其重要基础这也是版本要求高于 LangChain4j 基线的原因之一。在 Helidon 中装配 LangChain4j 组件Helidon 集成模块的工作方式是基于配置驱动你在application.yaml或 Helidon 支持的其它配置源中声明需要哪些 LangChain4j 组件Helidon 集成会在启动时自动创建对应实例并注册到 Helidon 的服务注册表中。这种模式下你不再需要手写类似下面的样板代码// 传统手动方式示意需要自行创建并管理组件生命周期 ChatLanguageModel model OpenAiChatModel.builder() .apiKey(your-api-key) .modelName(gpt-4o) .build();而是通过配置声明后直接通过 Helidon InjectInject或服务注册表查询拿到组件。从仓库 README 的记录可以确认Helidon 集成模块的 Maven 坐标是io.helidon.integrations.langchain4j见 README.md示例工程位于 helidon-io/helidon-examples 仓库的examples/integrations/langchain4j目录。覆盖的组件类型结合 LangChain4j 自身的模块划分见仓库的 integrations/frameworks 目录与 intro.md 的功能列表Helidon 集成通常覆盖以下类型的组件可按需在配置中启用语言模型ChatLanguageModel/StreamingChatLanguageModel对应 language-models 分类下的各供应商集成如 OpenAI、Azure OpenAI、Google Gemini、Ollama 等嵌入模型与向量存储EmbeddingModel、EmbeddingStore对应 embedding-models 与 embedding-stores 分类AI Services以接口形式声明由集成模块在运行时生成实现见下文声明式 AI Services工具Tools与其它 RAG 组件如内容摄取器ingestor、内容检索器content retriever等需要说明的是具体某个供应商或存储类型是否被 Helidon 集成模块原生支持以 Helidon 官方文档helidon.io的 LangChain4j 集成章节为准LangChain4j 仓库本身并不包含 Helidon 集成模块的源码实现。声明式 AI Services接口即服务Helidon 集成支持 LangChain4j 的AI Services在声明式编程模型中使用。LangChain4j 的 AI Services 是仓库中的高层 LLM API见 intro.md 功能列表与 tutorials/ai-services.md其核心思想是你只定义一个 Java 接口框架在运行时根据注解生成实现。例如interface Assistant { SystemMessage(你是一位乐于助人的咖啡店员。) String chat(UserMessage String userMessage); }在 Helidon 应用中这个接口可以作为 Helidon 管理的 bean 被注入到业务代码里Path(/assistant) public class AssistantResource { private final Assistant assistant; Inject public AssistantResource(Assistant assistant) { this.assistant assistant; } GET Produces(MediaType.TEXT_PLAIN) public String chat(QueryParam(q) String question) { return assistant.chat(question); } }这种接口 注解 依赖注入的组合正是 Helidon 声明式编程模型与 LangChain4j AI Services 的契合点业务代码不再接触底层ChatLanguageModel的构建细节只需要面向接口编程代码结构干净且易于测试和维护。CDI 桥接在 Helidon MP 中使用 LangChain4jHelidon 有两种编程模型Helidon SE轻量、基于 Reactive Streams / Nima 的函数式风格Helidon MP完整实现 MicroProfile 规范基于 CDIContexts and Dependency Injection。Helidon 的 LangChain4j 集成通过Helidon Inject 到 CDI 的桥接bridge让注册在 Helidon 服务注册表中的 LangChain4j 组件也可以在 CDI 环境中被解析从而支持 Helidon MP 应用。这意味着同一个集成模块可以同时服务于 SE 与 MP 两种模型开发者无需为两种模型分别维护两套组件初始化逻辑。仓库文档中与此相关的一个佐证是 integrations/frameworks/cdi.mdLangChain4j CDI 项目在其支持运行时表格中列出了 Helidon扩展类型标注为 Both即同时支持构建期兼容与可移植扩展两种方式。这进一步印证了 Helidon 生态中 LangChain4j 组件与 CDI 环境的深度协同是官方支持的方向。参考示例Coffee Shop AssistantHelidon 官方提供了配套的示例工程仓库教程文档 helidon-integration.md 对其有明确记录示例一Coffee Shop Assistant这是一个演示如何构建咖啡店 AI 助手的示例应用可以回答关于菜单的问题、给出推荐并创建订单。它使用从 JSON 文件初始化的向量存储embedding store。关键特性包括集成 OpenAI 聊天模型使用嵌入模型embedding model、向量存储embedding store、内容摄取器ingestor与内容检索器content retriever——这是典型 RAG 管线的完整装配使用 Helidon Inject 进行依赖注入支持从 JSON 文件初始化向量存储支持回调函数callback functions增强交互。示例工程分为两个版本Helidon SE 版Coffee Shop Assistant for Helidon SE位于 helidon-io/helidon-examples 仓库examples/integrations/langchain4j/coffee-shop-assistant-seHelidon MP 版Coffee Shop Assistant for Helidon MP位于examples/integrations/langchain4j/coffee-shop-assistant-mp。两个版本分别演示了上述 SE / MP 两种编程模型下的集成方式是学习该集成模块的最佳起点。示例二Hands-on Lab 动手实验Helidon 还提供了一份Hands-on Lab包含构建 Coffee Shop Assistant 的分步指导HOL: Building AI-Powered Applications with Helidon and LangChain4j位于 helidon-io/helidon-labs 仓库的hols/langchain4j目录。如果你希望从零开始按步骤走一遍完整的集成流程这份实验材料是理想的实践路径。快速上手指引综合以上信息在 Helidon 应用中启用 LangChain4j 集成的典型路径如下确认环境JDK 21 与 Helidon 4.2集成模块的硬性前提引入依赖添加io.helidon.integrations.langchain4j相关依赖具体 artifact 按需选择如语言模型、向量存储等子模块并在pom.xml中同时引入所需的 LangChain4j 供应商集成如langchain4j-open-ai可参考 get-started.md 中的 Maven 依赖写法配置组件在application.yaml中声明需要启用的 ChatModel、EmbeddingStore 等组件及其参数声明 AI Services定义带注解的接口通过 Helidon Inject 注入使用运行与验证启动应用后组件会自动注册到 Helidon 服务注册表若使用 Helidon MP可通过 CDI 直接注入 LangChain4j 组件对照学习参考 Coffee Shop AssistantSE/MP 两个版本与 Hands-on Lab快速理解完整装配流程。详细的配置项说明与最新 API 用法请查阅 Helidon 官方文档中的 LangChain4j 集成章节LangChain4j 侧的概念AI Services、RAG、Tools可继续阅读仓库的 tutorials 目录例如 ai-services.md、agents.md、rag.md。【免费下载链接】langchain4jLangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers and vector stores, and makes implementing tool calling (including MCP support), agents and RAG easy. It integrates seamlessly with enterprise Java frameworks like Quarkus and Spring Boot.项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考