内容提要
MAF采用多态设计哲学,提供了Agent基类,主要类型为ChatClientAgent。其管道式设计支持Agent与LLM之间的消息交换,并定义了AgentRunContext和AgentSession等基础类型,以承载运行时信息。Agent通过消息交互支持结构化输出,便于后续处理与分析。AIAgent类定义了Agent的核心方法,支持阻塞和流式调用,优化了AI模型的使用与管理。
关键要点
-
MAF采用多态设计哲学,提供Agent基类,主要类型为ChatClientAgent。
-
ChatClientAgent采用管道式设计,支持Agent与LLM之间的消息交换。
-
基础类型包括AgentRunContext、AgentRunOptions、AgentSession和ChatMessage,承载运行时信息。
-
AgentRunContext包含当前Agent的运行上下文信息。
-
AgentRunOptions用于控制Agent的运行行为,包含ContinuationToken和ResponseFormat等属性。
-
ContinuationToken用于流式和后台任务的状态管理。
-
ChatResponseFormat支持结构化输出,便于后续处理与分析。
-
AIAgent类定义了Agent的核心方法,支持阻塞和流式调用,优化AI模型的使用与管理。
-
AgentSession用于管理Agent的会话状态,支持状态的序列化与反序列化。
-
AIContent是MAF框架中定义交互内容的基类,支持多模态内容的处理。
-
流式调用通过ChatResponseUpdate对象返回中间结果,支持实时更新。
-
ChatResponse和UsageDetails提供了关于AI调用的详细信息,帮助优化模型使用。
延伸问答
MAF的Agent基类是什么?
MAF的Agent基类是AIAgent,主要用于创建不同类型的Agent。
ChatClientAgent的设计特点是什么?
ChatClientAgent采用管道式设计,支持Agent与LLM之间的消息交换。
AgentRunContext的作用是什么?
AgentRunContext包含当前Agent的运行上下文信息,承载运行时信息。
什么是ContinuationToken,它的用途是什么?
ContinuationToken用于流式和后台任务的状态管理,帮助客户端从正确位置继续获取数据。
MAF如何支持结构化输出?
MAF通过ChatResponseFormat类支持结构化输出,允许LLM返回符合JSON Schema的内容。
AgentSession的主要功能是什么?
AgentSession用于管理Agent的会话状态,支持状态的序列化与反序列化。