示例用法
创建代理,用FastAPIApp
进行封装,然后进行托管:
- 设置
OPENAI_API_KEY
环境变量。 - API 地址为
http://localhost:8001
,文档地址为http://localhost:8001/docs
。
POST
请求发送到 http://localhost:8001/v1/run
:
核心组件
FastAPIApp
: 用于封装 Agno 代理/团队以用于 FastAPI。FastAPIApp.serve
: 使用 Uvicorn 托管 FastAPI 应用。
FastAPIApp
使用辅助函数进行路由处理。
FastAPIApp
类
Agno FastAPI 应用的主入口点。
初始化参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
agents | Optional[List[Agent]] | None | Agno Agent 实例列表。 |
teams | Optional[List[Team]] | None | Agno Team 实例列表。 |
workflows | Optional[List[Team]] | None | Agno Workflow 实例列表。 |
settings | Optional[APIAppSettings] | None | API 配置。如果为 None 则使用默认值。 |
api_app | Optional[FastAPI] | None | 现有的 FastAPI 应用。如果为 None 则创建新的。 |
router | Optional[APIRouter] | None | 现有的 APIRouter。如果为 None 则创建新的。 |
app_id | Optional[str] | None | 应用标识符(如果未设置则自动生成)。 |
name | Optional[str] | None | 应用名称。 |
description | Optional[str] | None | 应用描述。 |
agent
或 team
,不要同时提供两者。
关键方法
方法 | 参数 | 返回类型 | 描述 |
---|---|---|---|
get_app | use_async: bool = True prefix: str = "/v1" | FastAPI | 返回配置好的 FastAPI 应用(默认异步)。设置前缀、错误处理器、CORS 和文档。 |
端点
端点可在指定的前缀(默认为/v1
)下访问。
1. POST /run
- 描述: 与代理/团队进行交互(使用
agent.run()
/arun()
或team.run()
/arun()
)。 - 请求表单参数:
参数 类型 默认值 描述 message
str
...
输入消息(必需)。 stream
bool
True
(同步),False
(异步默认)流式响应。 monitor
bool
False
启用监控。 session_id
Optional[str]
None
用于会话连续性的会话 ID。 user_id
Optional[str]
None
用户 ID。 files
Optional[List[UploadFile]]
None
要上传的文件。 - 响应:
stream=True
:StreamingResponse
(text/event-stream
),包含 JSONRunResponse
/TeamRunResponse
事件。stream=False
: JSONRunResponse
/TeamRunResponse
字典。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
app | Union[str, FastAPI] | N/A | FastAPI 应用实例或导入字符串(必需)。 |
host | str | "localhost" | 要绑定的主机。 |
port | int | 7777 | 要绑定的端口。 |
reload | bool | False | 为开发启用自动重载。 |