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. 生成代理对象

浙公网安备 33010602011771号