Quarkus 如何拥抱 AI

2026 年,Java AI 开发已进入生产就绪阶段。Quarkus 通过 Quarkus LangChain4j 扩展,为 Java 开发者提供了与 Python 生态媲美的 AI 开发体验。

Quarkus LangChain4j

声明式 AI 服务简单用法如下所示。

@RegisterAiService
public interface CustomerSupportBot {

    @SystemMessage("You are a helpful car rental assistant.")
    @UserMessage("Help the customer with: {{question}}")
    String chat(@MemoryId String sessionId, @V("question") String question);
}

对应的核心特性如下。

  • 声明式编程:通过注解定义 AI 服务,CDI 自动注入
  • 20+ LLM 提供商:OpenAI、Anthropic、Ollama、Azure、Google Gemini 等
  • 30+ 向量存储:pgvector、Weaviate、Redis、Elasticsearch、Qdrant 等
  • 聊天记忆管理:自动管理会话上下文,支持 Token 窗口控制
  • 工具调用(Tool Calling):AI Agent 可动态调用 Java 方法

RAG(检索增强生成)

RAG(检索增强生成)也支持。

@Inject
EmbeddingStore<TextSegment> embeddingStore;

@Inject
EmbeddingModel embeddingModel;

public String answerWithContext(String question) {
    Embedding questionEmbedding = embeddingModel.embed(question).content();
    List<EmbeddingMatch<TextSegment>> relevant = 
        embeddingStore.findRelevant(questionEmbedding, 5);
    // 将检索到的上下文注入 Prompt
}

持久化有 Hibernate EmbeddingStore(LangChain4j 1.12.1+)。

  • 直接在 PostgreSQL/MySQL 中存储向量嵌入
  • 复用现有 Hibernate Session 和事务管理
  • 无需引入独立的向量数据库

当然,MCP(Model Context Protocol)与 Agent 生态也算丰富。

posted @ 2026-07-09 09:34  狗艳艳花  阅读(19)  评论(0)    收藏  举报