langchain4j各模块核心 API 一览-------核心模型mode

核心模型接口(Model Interfaces)

这是与各种大模型(如 OpenAI、Qwen、Ollama 等)直接对话的底层 API,提供了最大的灵活性。

表格

核心 API 接口 作用与说明
ChatLanguageModel 最核心的对话接口 。接收一组聊天消息(ChatMessage),返回 AI 的回复(AiMessage)。几乎所有高级功能最终都会调用它。
StreamingChatLanguageModel 流式对话接口。与上面类似,但支持流式输出(打字机效果),通过回调函数(StreamingChatResponseHandler)逐字返回结果。
EmbeddingModel 文本向量化接口。将文本转换为高维向量(Embedding),是 RAG(检索增强生成)和语义搜索的基础。
ScoringModel 文本评分/重排接口。根据查询对多段文本进行相关性打分,常用于 RAG 流程中的重排(Re-ranking)环节。
ImageModel 图像处理接口。用于生成或编辑图像(如调用 DALL-E)。
ModerationModel 内容审核接口。用于检查文本或图像中是否包含违规、有害的内容。

💬 ChatMessage 消息类型

在使用 ChatLanguageModel 时,需要传入不同类型的消息来构建完整的对话上下文:

  • SystemMessage:系统消息。通常放在对话开头,用于设定 AI 的角色、行为约束和回答风格。
  • UserMessage:用户消息。代表人类用户或应用程序发出的提问,支持纯文本,部分模型也支持图文多模态输入。
  • AiMessage :AI 回复消息。模型生成的回答,除了文本内容,还可能包含请求执行工具的指令(ToolExecutionRequest)。
  • ToolExecutionResultMessage:工具执行结果。当 AI 决定调用外部工具后,将工具执行的结果反馈给模型。

🛠️ 核心方法:generate()

ChatLanguageModel 接口中最核心的方法就是 generate(),它有多种重载形式:

  • 简单调用String generate(String userMessage)
    直接传入一个字符串,返回一个字符串。这是最便捷的用法。
  • 标准调用Response<AiMessage> generate(List<ChatMessage> messages)
    传入一个包含 SystemMessageUserMessage 等的消息列表,返回一个包含 AiMessage 和 Token 使用统计等元数据的 Response 对象。这是最标准、最灵活的用法。