参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
model | Optional[Model] | None | 用于此 Agent 的模型 |
name | Optional[str] | None | Agent 名称 |
agent_id | Optional[str] | None | Agent UUID (未设置时自动生成) |
agent_data | Optional[Dict[str, Any]] | None | 与此 Agent 相关的元数据 |
introduction | Optional[str] | None | Agent 简介。在开始运行时添加到聊天历史记录中。 |
user_id | Optional[str] | None | 与此 Agent 交互的用户 ID |
user_data | Optional[Dict[str, Any]] | None | 与此 Agent 交互的用户的元数据 |
session_id | Optional[str] | None | 会话 UUID (未设置时自动生成) |
session_name | Optional[str] | None | 会话名称 |
session_state | Optional[Dict[str, Any]] | None | 会话状态 (存储在数据库中以在运行之间持久化) |
context | Optional[Dict[str, Any]] | None | 可用于工具和提示函数的上下文 |
add_context | bool | False | 如果为 True,则将上下文添加到用户提示中 |
resolve_context | bool | True | 如果为 True,则在运行 Agent 之前解析上下文 (即调用上下文中的任何函数) |
memory | Optional[Memory] | None | Agent 记忆 |
add_history_to_messages | bool | False | 将聊天历史记录添加到发送给模型的消息中 |
num_history_runs | int | 3 | 要包含在消息中的历史运行次数。 |
search_previous_sessions_history | bool | False | 将此设置为 True 以允许搜索先前的会话。 |
num_history_sessions | int | 2 | 指定要包含在搜索中的过去会话数量。建议目前将其数量保留为 2 或 3,因为更多的数量可能会填满模型的上下文长度,从而可能导致性能问题。 |
knowledge | Optional[AgentKnowledge] | None | Agent 知识 |
knowledge_filters | Optional[Dict[str, Any]] | None | 要应用于知识库的知识过滤器 |
enable_agentic_knowledge_filters | bool | False | 启用 Agentic 知识过滤器 |
add_references | bool | False | 通过将 AgentKnowledge 的引用添加到用户提示来启用 RAG |
retriever | Optional[Callable[..., Optional[List[Dict]]]] | None | 将引用添加到 user_message 的函数 |
references_format | Literal["json", "yaml"] | "json" | 引用格式 |
storage | Optional[AgentStorage] | None | Agent 存储 |
extra_data | Optional[Dict[str, Any]] | None | 与此 Agent 一起存储的额外数据 |
tools | Optional[List[Union[Toolkit, Callable, Function]]] | None | 提供给模型的工具列表 |
show_tool_calls | bool | False | 在 Agent 响应中显示工具调用 |
tool_call_limit | Optional[int] | None | 单次运行允许的最大工具调用次数 |
tool_choice | Optional[Union[str, Dict[str, Any]]] | None | 控制模型调用哪个(或哪些)工具 |
reasoning | bool | False | 通过逐步解决问题来启用推理 |
reasoning_model | Optional[Model] | None | 用于推理的模型 |
reasoning_agent | Optional[Agent] | None | 用于推理的 Agent |
reasoning_min_steps | int | 1 | 最少推理步数 |
reasoning_max_steps | int | 10 | 最多推理步数 |
read_chat_history | bool | False | 添加一个允许模型读取聊天历史记录的工具 |
search_knowledge | bool | True | 添加一个允许模型搜索知识库的工具 |
update_knowledge | bool | False | 添加一个允许模型更新知识库的工具 |
read_tool_call_history | bool | False | 添加一个允许模型获取工具调用历史记录的工具 |
system_message | Optional[Union[str, Callable, Message]] | None | 以字符串或函数形式提供系统消息。这将覆盖 description 、goal 、instructions 等,并按原样发送提供的系统消息。 |
system_message_role | str | "system" | 系统消息的角色 |
create_default_system_message | bool | True | 如果为 True,则使用 Agent 设置创建默认系统消息 |
description | Optional[str] | None | Agent 的描述,将添加到系统消息的开头 |
goal | Optional[str] | None | 此任务的目标 |
success_criteria | Optional[str] | None | Agent 的成功标准 |
instructions | Optional[Union[str, List[str], Callable]] | None | Agent 的指令列表 |
expected_output | Optional[str] | None | 提供 Agent 的预期输出 |
additional_context | Optional[str] | None | 添加到系统消息末尾的附加上下文 |
markdown | bool | False | 如果 markdown=true,则添加指令以使用 markdown 格式化输出 |
add_name_to_instructions | bool | False | 如果为 True,则将 Agent 名称添加到指令中 |
add_datetime_to_instructions | bool | False | 如果为 True,则将当前日期时间添加到系统消息中 |
add_location_to_instructions | bool | False | 如果为 True,则将当前位置添加到系统消息中 |
add_state_in_messages | bool | False | 如果为 True,则将会话状态变量添加到消息中 |
add_messages | Optional[List[Union[Dict, Message]]] | None | 系统消息之后添加的额外消息列表 |
user_message | Optional[Union[List, Dict, str, Callable, Message]] | None | 提供用户消息 |
user_message_role | str | "user" | 用户消息的角色 |
create_default_user_message | bool | True | 如果为 True,则创建默认用户消息 |
retries | int | 0 | 尝试的重试次数 |
delay_between_retries | int | 1 | 重试之间的延迟 |
exponential_backoff | bool | False | 如果为 True,则重试之间的延迟每次加倍 |
response_model | Optional[Type[BaseModel]] | None | 提供一个响应模型以将响应作为 Pydantic 模型获取 |
parse_response | bool | True | 如果为 True,则将响应转换为 response_model |
use_json_mode | bool | False | 如果设置了 response_model ,则设置模型的响应“模式”,即模型应明确响应 JSON 对象而不是 Pydantic 模型 |
parser_model | Optional[Model] | None | 用于解析响应的模型 |
parser_model_prompt | Optional[str] | None | 用于解析响应的提示 |
save_response_to_file | Optional[str] | None | 将响应保存到文件 |
stream | Optional[bool] | None | 从 Agent 流式传输响应 |
stream_intermediate_steps | bool | False | 从 Agent 流式传输中间步骤 |
store_events | bool | False | 将流式事件存储在 RunResponse 上 |
events_to_skip | Optional[List[RunEvent]] | None | 指定在 RunResponse 上存储事件时要跳过的事件类型 |
team | Optional[List[Agent]] | None | Agent 可以将任务移交给的代理团队 |
team_data | Optional[Dict[str, Any]] | None | 团队成员之间共享的数据 |
role | Optional[str] | None | 如果此 Agent 是团队的一部分,则这是 Agent 的角色 |
respond_directly | bool | False | 如果为 True,成员 Agent 直接响应用户 |
add_transfer_instructions | bool | True | 添加将任务转移给团队成员的说明 |
team_response_separator | str | "\n" | 团队响应之间的分隔符 |
debug_mode | bool | False | 启用调试日志 |
monitoring | bool | False | 将 Agent 信息日志记录到 agno.com 以进行监控 |
telemetry | bool | True | 日志化用于分析的最小遥测数据 |
print_response
运行 Agent 并打印响应。
参数:
message
(Optional[Union[List, Dict, str, Message]]): 要发送给 Agent 的消息session_id
(Optional[str]): 要使用的会话 IDuser_id
(Optional[str]): 要使用的用户 IDmessages
(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): 是否将输出格式化为 markdownshow_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]): 要使用的用户 IDsession_id
(Optional[str]): 要使用的会话 IDaudio
(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]): 要使用的会话 IDuser_id
(Optional[str]): 要使用的用户 IDmessages
(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): 是否将输出格式化为 markdownshow_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]): 要使用的用户 IDsession_id
(Optional[str]): 要使用的会话 IDaudio
(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]): 要继续的运行 IDupdated_tools
(Optional[List[ToolExecution]]): 要使用的更新后的工具,在使用 run_id
恢复运行时必需stream
(Optional[bool]): 是否流式传输响应stream_intermediate_steps
(Optional[bool]): 是否流式传输中间步骤user_id
(Optional[str]): 要使用的用户 IDsession_id
(Optional[str]): 要使用的会话 IDretries
(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]): 要继续的运行 IDupdated_tools
(Optional[List[ToolExecution]]): 要使用的更新后的工具,在使用 run_id
恢复运行时必需stream
(Optional[bool]): 是否流式传输响应stream_intermediate_steps
(Optional[bool]): 是否流式传输中间步骤user_id
(Optional[str]): 要使用的用户 IDsession_id
(Optional[str]): 要使用的会话 IDretries
(Optional[int]): 尝试的重试次数knowledge_filters
(Optional[Dict[str, Any]]): 要应用的知识过滤器返回值:
Union[RunResponse, AsyncIterator[RunResponseEvent]]
: 根据 stream
参数,返回 RunResponse 或 RunResponseEvents 的异步迭代器获取给定会话 ID 和用户 ID 的会话摘要。
参数:
session_id
(Optional[str]): 要使用的会话 ID (如果未提供,则使用当前会话)user_id
(Optional[str]): 要使用的用户 ID (如果未提供,则使用当前用户)返回值:
Optional[SessionSummary]
: 会话摘要获取给定用户 ID 的用户记忆。
参数:
user_id
(Optional[str]): 要使用的用户 ID (如果未提供,则使用当前用户)返回值:
Optional[List[UserMemory]]
: 用户记忆列表将工具添加到 Agent。
参数:
tool
(Union[Toolkit, Callable, Function, Dict]): 要添加的工具替换 Agent 的工具。
参数:
tools
(List[Union[Toolkit, Callable, Function, Dict]]): 要设置的工具列表