autogen_ext.experimental.task_centric_memory.utils#
- class Apprentice(client: ChatCompletionClient, config: ApprenticeConfig | 无 = None, logger: PageLogger | 无 = None)[源代码]#
基础:
object
一个最小化的包装器,将任务中心化内存与代理或团队结合起来。 应用程序可以使用Apprentice类,或者直接实例化 并调用Memory Controller,使用此类作为示例。
- Parameters:
client – 用于调用模型的客户端。
config –
一个可选的字典,可以用来覆盖以下值:
name_of_agent_or_team: 目标代理或团队的名称,用于分配任务。
disable_prefix_caching: 设置为True以通过在第一条消息前添加随机整数来禁用前缀缓存。
MemoryController: 传递给MemoryController的配置字典。
logger – 一个可选的日志记录器。如果为None,将创建一个默认的日志记录器。
- async add_task_solution_pair_to_memory(task: str, solution: str) 无 [源代码]#
将一个任务-解决方案对添加到记忆库中,以便以后作为组合洞察一起检索。这在洞察是展示如何解决给定类型任务时非常有用。
- class ChatCompletionClientRecorder(client: ChatCompletionClient, mode: 字面量['record', 'replay'], session_file_path: str, logger: PageLogger | 无 = None)[源代码]#
-
一个支持快速、大规模测试代码调用LLM客户端的聊天完成客户端。
支持两种模式:
“record”:委派给底层客户端,同时记录输入消息和响应,当调用finalize()时,这些记录将被保存到磁盘。
“replay”:从磁盘加载之前记录的消息和响应,然后在每次调用时检查其消息是否与记录的消息匹配,并返回记录的响应。
记录的数据以JSON列表的形式存储。每条记录是一个字典,包含一个“mode”字段(“create”或“create_stream”)、一个序列化的消息列表,以及一个“response”(用于create调用)或一个“stream”(用于create_stream调用的流输出列表)。
ReplayChatCompletionClient和ChatCompletionCache执行类似的任务,但有显著差异: - ReplayChatCompletionClient按照指定的顺序回放预定义的响应, 不记录任何内容或检查发送到客户端的消息。 - ChatCompletionCache缓存响应,并为之前见过的消息回放它们, 无论顺序如何,并为任何未缓存的消息调用基础客户端。
- actual_usage() RequestUsage [源代码]#
- property capabilities: ModelCapabilities#
- count_tokens(messages: Sequence[已注解[系统消息 | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[工具 | 工具模式] = []) int [源代码]#
- async create(messages: Sequence[已注解[系统消息 | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[工具 | 工具模式] = [], json_output: bool | 无 = None, extra_create_args: 映射[str, 任何] = {}, cancellation_token: CancellationToken | 无 = None) CreateResult [源代码]#
- create_stream(messages: Sequence[已注解[系统消息 | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[工具 | 工具模式] = [], json_output: bool | 无 = None, extra_create_args: 映射[str, 任何] = {}, cancellation_token: CancellationToken | 无 = None) AsyncGenerator[str | CreateResult, 无] [源代码]#
- remaining_tokens(messages: Sequence[已注解[系统消息 | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[工具 | 工具模式] = []) int [源代码]#
- total_usage() RequestUsage [源代码]#
- class Grader(client: ChatCompletionClient, logger: PageLogger | 无 = None)[源代码]#
基础:
object
运行基本测试,并确定任务成功,不限于字符串匹配。
- Parameters:
client – 用于调用模型的客户端。
logger – 一个可选的记录器。如果为None,则不执行日志记录。
- async call_model(summary: str, user_content: str | 列表[str | 图片], system_message_content: str | 无 = None, keep_these_messages: bool = True) str [源代码]#
使用给定的输入调用模型客户端并返回响应。
- class PageLogger(config: PageLoggerConfig | 无 = None)[源代码]#
基础:
object
将文本和图像记录到一组HTML页面中,每个函数/方法一个页面,在调用树中相互链接。
- Parameters:
config –
一个可选的字典,可用于覆盖以下值:
level: 日志级别,可以是DEBUG、INFO、WARNING、ERROR、CRITICAL或NONE。
path: 日志文件将写入的目录路径。
- log_message_content(message_content: str | 列表[str | 图片] | 列表[FunctionCall] | 列表[FunctionExecutionResult], summary: str) 无 [源代码]#
添加一个包含消息内容的页面,包括任何图片。
- log_model_call(summary: str, input_messages: 列表[已注解[系统消息 | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], response: CreateResult) Page | 无 [源代码]#
将发送给模型的日志消息和TaskResult响应记录到新页面。
- log_model_task(summary: str, input_messages: 列表[已注解[系统消息 | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], task_result: TaskResult) Page | 无 [源代码]#
记录发送到模型的消息和TaskResult响应到一个新页面。
- class Teachability(memory_controller: MemoryController, name: str | 无 = None)[源代码]#
基础:
Memory
赋予AssistantAgent快速从用户教导、提示和建议中学习的能力。
使用步骤: 1. 实例化 MemoryController。 2. 实例化 Teachability,将内存控制器作为参数传递。 3. 实例化一个 AssistantAgent,将 teachability 实例(封装在一个列表中)作为内存参数传递。 4. 像往常一样使用 AssistantAgent,例如与用户聊天。
- async add(content: MemoryContent, cancellation_token: CancellationToken | 无 = None) 无 [源代码]#
尝试从传递的内容中提取任何建议,并将其添加到内存中。
- async query(query: str | MemoryContent, cancellation_token: CancellationToken | 无 = None, **kwargs: 任何) MemoryQueryResult [源代码]#
返回似乎与查询相关的任何记忆。
- async update_context(model_context: ChatCompletionContext) UpdateContextResult [源代码]#
从用户的最后一次交互中提取任何建议并存储在内存中,并将任何相关的记忆添加到模型上下文中。