类 BaseChatModel<T extends ChatConfig>

java.lang.Object
com.agentsflex.core.model.chat.BaseChatModel<T>
类型参数:
T - 具体的配置类型,必须是 ChatConfig 的子类
所有已实现的接口:
ChatModel
直接已知子类:
OpenAICompatibleChatModel

public abstract class BaseChatModel<T extends ChatConfig> extends Object implements ChatModel
支持责任链、统一上下文和协议客户端的聊天模型基类。

该类为所有具体的 LLM 实现(如 OpenAI、Qwen、Ollama)提供统一入口,并集成:

  • 责任链模式:通过 ChatInterceptor 实现请求拦截、监控、日志等横切逻辑
  • 线程上下文管理:通过 ChatContextHolder 在整个调用链中传递上下文信息
  • 协议执行抽象:通过 ChatClient 解耦协议细节,支持 HTTP/gRPC/WebSocket 等
  • 可观测性:自动集成 OpenTelemetry(通过 ChatObservabilityInterceptor

架构流程

  1. 调用 chat(Prompt, ChatOptions)chatStream(Prompt, StreamResponseListener, ChatOptions)
  2. 构建请求上下文(URL/Headers/Body)并初始化 ChatContext
  3. 构建责任链:可观测性拦截器 → 全局拦截器 → 用户拦截器
  4. 责任链执行:每个拦截器可修改 ChatContext,最后由 ChatClient 执行实际调用
  5. 结果返回给调用方