现代 Java 与 AI:面向企业级应用

Java 正在将 AI 规范化以投入生产。你不再需要猜测是否应该在 Java 中使用 AI,而是需要知道如何基于稳定的契约进行构建。

Java 生态系统正从原型阶段转向稳定标准。如今你可以利用三大核心支柱:

  • 用于 LLM 编排的 LangChain4j。
  • 用于提供上下文的 RAG(检索增强生成)。
  • 用于工具和数据的 MCP(Model Context Protocol)。

1. LangChain4j 与 Quarkus

LangChain4j 是 LangChain 生态系统的 Java 版本。它采用了声明式注解等真正的 Java 设计模式。

你可以使用 AI Service 模式来抽象业务逻辑。你只需编写一个简单的 Java 接口,框架就会处理 Prompt(提示词)和模型调用。

通过 Quarkus,你可以通过配置来切换 OpenAI 或 Ollama 等 LLM 提供商。你的业务逻辑保持不变。这种隔离性对于企业级架构至关重要。

2. 用于私有数据的 RAG

LLM 并不了解你的私有数据。RAG 解决了这个问题。与其进行昂贵的微调,不如在查询时检索相关的文档片段。

该过程分为三个步骤:

  • 摄取 (Ingestion):解析并拆分文档。
  • 索引 (Indexing):创建嵌入 (embeddings) 并将其存储在向量数据库中。
  • 检索 (Retrieval):在查询期间寻找匹配项。

你可以使用现有的基础设施,如 Oracle 或带有 pgvector 的 PostgreSQL。即使更换数据库,流水线依然保持稳定。

3. 用于行动的 MCP

如果说 RAG 提供的是知识,那么 MCP 提供的就是行动。Model Context Protocol 允许模型使用工具和数据源。

通过 Quarkus MCP 扩展,你可以使用单个注解将 Java Bean 暴露为工具。外部 Agent 可以通过标准协议发现并调用这些工具。

完整的流程如下:

  • 用户发送消息。
  • LLM 决定调用哪些工具。
  • Quarkus 执行 Java 代码。
  • 结果作为上下文返回给 LLM。
  • LLM 生成一个有据可依 (grounded) 的回答。

基于稳定性进行构建:

  • 使用 LangChain4j 实现声明式 AI 服务。
  • 利用现有的向量数据库构建 RAG 流水线。
  • 使用 MCP 将现有的 CDI Bean 暴露为工具。
  • 为 AI 生成的代码建立明确的管理规范。

当其他人还在争论该使用哪个框架时,你应该专注于构建坚实的基础。

Source: https://dev.to/ochimenes_rocha_f78f5dbb0/java-moderno-com-ia-langchain4j-quarkus-rag-e-mcp-na-pratica-enterprise-52po

Optional learning community: https://t.me/GyaanSetuAi