参数

参数类型默认值描述
modelOptional[Model]None用于此 Agent 的模型
nameOptional[str]NoneAgent 名称
agent_idOptional[str]NoneAgent UUID (未设置时自动生成)
agent_dataOptional[Dict[str, Any]]None与此 Agent 相关的元数据
introductionOptional[str]NoneAgent 简介。在开始运行时添加到聊天历史记录中。
user_idOptional[str]None与此 Agent 交互的用户 ID
user_dataOptional[Dict[str, Any]]None与此 Agent 交互的用户的元数据
session_idOptional[str]None会话 UUID (未设置时自动生成)
session_nameOptional[str]None会话名称
session_stateOptional[Dict[str, Any]]None会话状态 (存储在数据库中以在运行之间持久化)
contextOptional[Dict[str, Any]]None可用于工具和提示函数的上下文
add_contextboolFalse如果为 True,则将上下文添加到用户提示中
resolve_contextboolTrue如果为 True,则在运行 Agent 之前解析上下文 (即调用上下文中的任何函数)
memoryOptional[Memory]NoneAgent 记忆
add_history_to_messagesboolFalse将聊天历史记录添加到发送给模型的消息中
num_history_runsint3要包含在消息中的历史运行次数。
search_previous_sessions_historyboolFalse将此设置为 True 以允许搜索先前的会话。
num_history_sessionsint2指定要包含在搜索中的过去会话数量。建议目前将其数量保留为 2 或 3,因为更多的数量可能会填满模型的上下文长度,从而可能导致性能问题。
knowledgeOptional[AgentKnowledge]NoneAgent 知识
knowledge_filtersOptional[Dict[str, Any]]None要应用于知识库的知识过滤器
enable_agentic_knowledge_filtersboolFalse启用 Agentic 知识过滤器
add_referencesboolFalse通过将 AgentKnowledge 的引用添加到用户提示来启用 RAG
retrieverOptional[Callable[..., Optional[List[Dict]]]]None将引用添加到 user_message 的函数
references_formatLiteral["json", "yaml"]"json"引用格式
storageOptional[AgentStorage]NoneAgent 存储
extra_dataOptional[Dict[str, Any]]None与此 Agent 一起存储的额外数据
toolsOptional[List[Union[Toolkit, Callable, Function]]]None提供给模型的工具列表
show_tool_callsboolFalse在 Agent 响应中显示工具调用
tool_call_limitOptional[int]None单次运行允许的最大工具调用次数
tool_choiceOptional[Union[str, Dict[str, Any]]]None控制模型调用哪个(或哪些)工具
reasoningboolFalse通过逐步解决问题来启用推理
reasoning_modelOptional[Model]None用于推理的模型
reasoning_agentOptional[Agent]None用于推理的 Agent
reasoning_min_stepsint1最少推理步数
reasoning_max_stepsint10最多推理步数
read_chat_historyboolFalse添加一个允许模型读取聊天历史记录的工具
search_knowledgeboolTrue添加一个允许模型搜索知识库的工具
update_knowledgeboolFalse添加一个允许模型更新知识库的工具
read_tool_call_historyboolFalse添加一个允许模型获取工具调用历史记录的工具
system_messageOptional[Union[str, Callable, Message]]None以字符串或函数形式提供系统消息。这将覆盖 descriptiongoalinstructions 等,并按原样发送提供的系统消息。
system_message_rolestr"system"系统消息的角色
create_default_system_messageboolTrue如果为 True,则使用 Agent 设置创建默认系统消息
descriptionOptional[str]NoneAgent 的描述,将添加到系统消息的开头
goalOptional[str]None此任务的目标
success_criteriaOptional[str]NoneAgent 的成功标准
instructionsOptional[Union[str, List[str], Callable]]NoneAgent 的指令列表
expected_outputOptional[str]None提供 Agent 的预期输出
additional_contextOptional[str]None添加到系统消息末尾的附加上下文
markdownboolFalse如果 markdown=true,则添加指令以使用 markdown 格式化输出
add_name_to_instructionsboolFalse如果为 True,则将 Agent 名称添加到指令中
add_datetime_to_instructionsboolFalse如果为 True,则将当前日期时间添加到系统消息中
add_location_to_instructionsboolFalse如果为 True,则将当前位置添加到系统消息中
add_state_in_messagesboolFalse如果为 True,则将会话状态变量添加到消息中
add_messagesOptional[List[Union[Dict, Message]]]None系统消息之后添加的额外消息列表
user_messageOptional[Union[List, Dict, str, Callable, Message]]None提供用户消息
user_message_rolestr"user"用户消息的角色
create_default_user_messageboolTrue如果为 True,则创建默认用户消息
retriesint0尝试的重试次数
delay_between_retriesint1重试之间的延迟
exponential_backoffboolFalse如果为 True,则重试之间的延迟每次加倍
response_modelOptional[Type[BaseModel]]None提供一个响应模型以将响应作为 Pydantic 模型获取
parse_responseboolTrue如果为 True,则将响应转换为 response_model
use_json_modeboolFalse如果设置了 response_model,则设置模型的响应“模式”,即模型应明确响应 JSON 对象而不是 Pydantic 模型
parser_modelOptional[Model]None用于解析响应的模型
parser_model_promptOptional[str]None用于解析响应的提示
save_response_to_fileOptional[str]None将响应保存到文件
streamOptional[bool]None从 Agent 流式传输响应
stream_intermediate_stepsboolFalse从 Agent 流式传输中间步骤
store_eventsboolFalse将流式事件存储在 RunResponse 上
events_to_skipOptional[List[RunEvent]]None指定在 RunResponse 上存储事件时要跳过的事件类型
teamOptional[List[Agent]]NoneAgent 可以将任务移交给的代理团队
team_dataOptional[Dict[str, Any]]None团队成员之间共享的数据
roleOptional[str]None如果此 Agent 是团队的一部分,则这是 Agent 的角色
respond_directlyboolFalse如果为 True,成员 Agent 直接响应用户
add_transfer_instructionsboolTrue添加将任务转移给团队成员的说明
team_response_separatorstr"\n"团队响应之间的分隔符
debug_modeboolFalse启用调试日志
monitoringboolFalse将 Agent 信息日志记录到 agno.com 以进行监控
telemetryboolTrue日志化用于分析的最小遥测数据

函数

运行 Agent 并打印响应。

参数:

  • message (Optional[Union[List, Dict, str, Message]]): 要发送给 Agent 的消息
  • session_id (Optional[str]): 要使用的会话 ID
  • user_id (Optional[str]): 要使用的用户 ID
  • messages (Optional[List[Union[Dict, Message]]]): 要使用的附加消息列表
  • audio (Optional[Sequence[Audio]]): 要包含的音频文件
  • images (Optional[Sequence[Image]]): 要包含的图像文件
  • videos (Optional[Sequence[Video]]): 要包含的视频文件
  • files (Optional[Sequence[File]]): 要包含的文件
  • stream (Optional[bool]): 是否流式传输响应
  • stream_intermediate_steps (bool): 是否流式传输中间步骤
  • markdown (bool): 是否将输出格式化为 markdown
  • show_message (bool): 是否显示消息
  • show_reasoning (bool): 是否显示推理过程
  • show_full_reasoning (bool): 是否显示完整的推理过程
  • console (Optional[Any]): 要用于输出的控制台
  • knowledge_filters (Optional[Dict[str, Any]]): 要应用的知识过滤器

run

运行 Agent。

参数:

  • message (Optional[Union[str, List, Dict, Message]]): 要发送给 Agent 的消息
  • stream (Optional[bool]): 是否流式传输响应
  • user_id (Optional[str]): 要使用的用户 ID
  • session_id (Optional[str]): 要使用的会话 ID
  • audio (Optional[Sequence[Audio]]): 要包含的音频文件
  • images (Optional[Sequence[Image]]): 要包含的图像文件
  • videos (Optional[Sequence[Video]]): 要包含的视频文件
  • files (Optional[Sequence[File]]): 要包含的文件
  • messages (Optional[Sequence[Union[Dict, Message]]]): 要使用的附加消息列表
  • stream_intermediate_steps (Optional[bool]): 是否流式传输中间步骤
  • retries (Optional[int]): 尝试的重试次数
  • knowledge_filters (Optional[Dict[str, Any]]): 要应用的知识过滤器

返回值:

  • Union[RunResponse, Iterator[RunResponseEvent]]: 根据 stream 参数,返回 RunResponse 或 RunResponseEvents 的迭代器

aprint_response

异步运行 Agent 并打印响应。

参数:

  • message (Optional[Union[List, Dict, str, Message]]): 要发送给 Agent 的消息
  • session_id (Optional[str]): 要使用的会话 ID
  • user_id (Optional[str]): 要使用的用户 ID
  • messages (Optional[List[Union[Dict, Message]]]): 要使用的附加消息列表
  • audio (Optional[Sequence[Audio]]): 要包含的音频文件
  • images (Optional[Sequence[Image]]): 要包含的图像文件
  • videos (Optional[Sequence[Video]]): 要包含的视频文件
  • files (Optional[Sequence[File]]): 要包含的文件
  • stream (Optional[bool]): 是否流式传输响应
  • stream_intermediate_steps (bool): 是否流式传输中间步骤
  • markdown (bool): 是否将输出格式化为 markdown
  • show_message (bool): 是否显示消息
  • show_reasoning (bool): 是否显示推理过程
  • show_full_reasoning (bool): 是否显示完整的推理过程
  • console (Optional[Any]): 要用于输出的控制台
  • knowledge_filters (Optional[Dict[str, Any]]): 要应用的知识过滤器

arun

异步运行 Agent。

参数:

  • message (Optional[Union[str, List, Dict, Message]]): 要发送给 Agent 的消息
  • stream (Optional[bool]): 是否流式传输响应
  • user_id (Optional[str]): 要使用的用户 ID
  • session_id (Optional[str]): 要使用的会话 ID
  • audio (Optional[Sequence[Audio]]): 要包含的音频文件
  • images (Optional[Sequence[Image]]): 要包含的图像文件
  • videos (Optional[Sequence[Video]]): 要包含的视频文件
  • files (Optional[Sequence[File]]): 要包含的文件
  • messages (Optional[Sequence[Union[Dict, Message]]]): 要使用的附加消息列表
  • stream_intermediate_steps (Optional[bool]): 是否流式传输中间步骤
  • retries (Optional[int]): 尝试的重试次数
  • knowledge_filters (Optional[Dict[str, Any]]): 要应用的知识过滤器

返回值:

  • Union[RunResponse, AsyncIterator[RunResponseEvent]]: 根据 stream 参数,返回 RunResponse 或 RunResponseEvents 的异步迭代器

continue_run

继续运行。

参数:

  • run_response (Optional[RunResponse]): 要继续的运行响应
  • run_id (Optional[str]): 要继续的运行 ID
  • updated_tools (Optional[List[ToolExecution]]): 要使用的更新后的工具,在使用 run_id 恢复运行时必需
  • stream (Optional[bool]): 是否流式传输响应
  • stream_intermediate_steps (Optional[bool]): 是否流式传输中间步骤
  • user_id (Optional[str]): 要使用的用户 ID
  • session_id (Optional[str]): 要使用的会话 ID
  • retries (Optional[int]): 尝试的重试次数
  • knowledge_filters (Optional[Dict[str, Any]]): 要应用的知识过滤器

返回值:

  • Union[RunResponse, Iterator[RunResponseEvent]]: 根据 stream 参数,返回 RunResponse 或 RunResponseEvents 的迭代器

acontinue_run

异步继续运行。

参数:

  • run_response (Optional[RunResponse]): 要继续的运行响应
  • run_id (Optional[str]): 要继续的运行 ID
  • updated_tools (Optional[List[ToolExecution]]): 要使用的更新后的工具,在使用 run_id 恢复运行时必需
  • stream (Optional[bool]): 是否流式传输响应
  • stream_intermediate_steps (Optional[bool]): 是否流式传输中间步骤
  • user_id (Optional[str]): 要使用的用户 ID
  • session_id (Optional[str]): 要使用的会话 ID
  • retries (Optional[int]): 尝试的重试次数
  • knowledge_filters (Optional[Dict[str, Any]]): 要应用的知识过滤器

返回值:

  • Union[RunResponse, AsyncIterator[RunResponseEvent]]: 根据 stream 参数,返回 RunResponse 或 RunResponseEvents 的异步迭代器

get_session_summary

获取给定会话 ID 和用户 ID 的会话摘要。

参数:

  • session_id (Optional[str]): 要使用的会话 ID (如果未提供,则使用当前会话)
  • user_id (Optional[str]): 要使用的用户 ID (如果未提供,则使用当前用户)

返回值:

  • Optional[SessionSummary]: 会话摘要

get_user_memories

获取给定用户 ID 的用户记忆。

参数:

  • user_id (Optional[str]): 要使用的用户 ID (如果未提供,则使用当前用户)

返回值:

  • Optional[List[UserMemory]]: 用户记忆列表

add_tool

将工具添加到 Agent。

参数:

  • tool (Union[Toolkit, Callable, Function, Dict]): 要添加的工具

set_tools

替换 Agent 的工具。

参数:

  • tools (List[Union[Toolkit, Callable, Function, Dict]]): 要设置的工具列表