240
世界上有2种人,一种懂二进制,另一种不懂二进制。

langchain4j各模块核心 API 一览------AiServices

核心 API 方法作用与说明
builder() 创建 AiServices 的构建器实例。
chatLanguageModel() 必选项。绑定底层的大语言模型(如 OpenAI、Qwen、Ollama 等)。
chatMemory() 绑定单一的聊天记忆(适用于单用户场景)。
chatMemoryProvider() 绑定记忆提供者(多用户场景必选),通过传入 memoryId 动态分配独立的记忆空间。
tools() 注册工具对象(Object)。框架会自动扫描对象中带有 @Tool 注解的方法,供大模型调用。
contentRetriever() 绑定内容检索器,用于实现基础的 RAG(检索增强生成)功能。
retrievalAugmentor() 绑定高级 RAG 编排器,支持接入查询改写、重排等复杂流水线。
systemMessageProvider() 动态提供系统提示词(System Prompt),可根据上下文动态生成。
build() 生成最终的动态代理对象。

🎯 核心注解 API(接口定义时使用)

在定义你自己的 AI 接口(如 TeacherAgent)时,LangChain4j 提供了几个关键注解来控制运行时的行为:

  • @SystemMessage:定义系统级指令,设定 AI 的角色和行为规范。
  • @UserMessage:标记用户输入的变量,支持使用模板语法(如 {{it}} 或 {{variableName}})。
  • @MemoryId:标记用于路由记忆的 ID 参数(如 Session ID 或 User ID),配合 chatMemoryProvider 实现多租户记忆隔离。
  • @V:用于在 @UserMessage 模板中映射具体的变量值。

💻 代码示例:如何组装 AiServices

结合你之前提到的“教学老师 Agent”场景,AiServices 的实际组装代码通常是这样的:

java

TeacherAgent agent = AiServices.builder(TeacherAgent.class)
    .chatLanguageModel(model)             // 1. 接入大模型
    .chatMemoryProvider(memoryProvider)   // 2. 接入多用户短期记忆
    .tools(new MemoryTools())             // 3. 接入长期记忆工具
    .retrievalAugmentor(augmentor)        // 4. 接入 RAG 检索流水线
    .build();                             // 5. 生成代理对象
posted @ 2026-08-04 17:40  _Origin  阅读(2)  评论(0)    收藏  举报