ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

agno Agent 输入输出实战:9 个示例全量验证结构化输出与双模型协作

agno Agent 输入输出实战:9 个示例全量验证结构化输出与双模型协作 agno Agent 输入输出实战9 个示例全量验证结构化输出与双模型协作【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno这套示例验证了 agno Agent 输入输出的完整链路输入侧如何用expected_output、消息字典、input_schema约束回复形态与输入契约输出侧如何借output_schema、parser_model、output_model拿到结构化数据或精修文案运行侧又如何捕获、落盘、流式消费结果。2026-02-13 的测试中 9 个示例全部 PASS实测耗时 2s101s是入门 Agent 输入输出参数最快的路径。 能力地图三组九个参数一表看懂这一节回答「我的需求该看哪个参数」。全部示例位于 cookbook/02_agents/02_input_output/ 目录按职责可分为三组分组参数/用法对应示例一句话作用实测耗时输入侧expected_outputexpected_output.py用自然语言描述回复成品形态模型照格式作答4s输入侧消息字典input_formats.py程序侧直接构造文本 图片 URL 的混合输入2s输入侧input_schemainput_schema.pyPydantic 模型校验输入字典与模型实例都能传101s输出侧output_schemaoutput_schema.py限定输出为结构化对象content直接是模型实例18s输出侧parser_modelparser_model.py第二模型专职把自由文本解析成目标结构46s输出侧output_modeloutput_model.py第二模型重写过最终回复替换主模型输出49s运行侧run()捕获response_as_variable.py完整RunOutput存变量供后续程序处理12s运行侧save_response_to_filesave_to_file.py运行结束自动把响应写入指定文件10s运行侧streamTruestreaming.py逐 token 吐出响应9s耗时差异本身就是一份链路说明2s 的图文输入和 4s 的格式约束都只走单次生成101s 的input_schema示例挂了 HackerNews 工具在真实检索46s 与 49s 的两个示例都多打了一次模型调用。场景化拆解四个问题四段最小代码回复形态与输入契约怎么定这一节解决「回复要长什么样、输入要什么形状」的约束问题。想让回复固定成「恰好 5 条、每条带标题加一句话」的列表把expected_output写上就行agent Agent( modelOpenAIResponses(idgpt-5.2), expected_outputA numbered list of exactly 5 items, each with a title and one-sentence description., markdownTrue, )它和instructions的差别在于后者管行为规则前者只规定成品形态。实测 4s 完成一次流式生成参数注入不改变调用链路。要传图文混合输入时print_response的参数换成消息字典即可role加多段content列表text 与 image_url 混排就是多模态输入这是全套件解析开销最低的一档2s 跑完。输入要程序化保证合法时给input_schema传一个 Pydantic 类字典和模型实例两种入参都接受class ResearchTopic(BaseModel): topic: str focus_areas: List[str] target_audience: str sources_required: int Field(default5) agent Agent( modelOpenAIResponses(idgpt-5-mini), tools[HackerNewsTools()], input_schemaResearchTopic, )细节上字典里给int字段传字符串5也能通过靠的是 Pydantic 的宽松类型转换。注意源码中该字段只接受Type[BaseModel]不支持裸字典定义 schema。让输出直接变成结构化数据这一节解决「run.content怎么从起就是对象而非字符串」。做法是给output_schema传 Pydantic 类agent Agent( modelOpenAIResponses(idgpt-5.2), output_schemaBreakingNewsSummary, ) run agent.run(Latest news from France?)run.content随即成为BreakingNewsSummary实例。该字段类型是Optional[Union[Type[BaseModel], Dict[str, Any]]]也就是说 Pydantic 模型类和 JSON Schema 字典两种写法都合法。示例 18s 完成端到端验证。双模型分工解析模型与精修模型怎么选这一节解决「第二次模型调用该花在解析上还是润色上」的问题。两者的代码形态几乎一样职责完全不同agent Agent( modelOpenAIResponses(idgpt-5-mini), output_modelOpenAIResponses(idgpt-5.2), output_model_promptYou are a world-class culinary writer. Rewrite the recipe with vivid descriptions., ) run agent.run(Give me a recipe for pad thai.)output_model吃到同样的对话产出自己的回复并整体替换主模型输出——便宜模型负责推理与工具调用强模型只写最后一稿菜谱示例实测 49s。而 parser_model.py 里的parser_model面向的是结构化场景主模型照常推理甚至边推理边用工具第二模型专职抽取成NationalParkAdventure这类 11 字段模型difficulty_rating用Field(ge1, le5)卡住取值范围实测 46s。官方注释里有一句硬提醒要 JSON 结构化输出就用parser_model别拿output_model凑数。响应的捕获、落盘与流式消费这一节解决「结果拿到手之后怎么用」。交互式演示用print_response要程序化就换run()run_response: RunOutput agent.run(What is the stock price of NVDA) pprint(run_response)同一个方法加streamTrue后返回Iterator[RunOutputEvent]可逐事件消费。想自动留档一行参数搞定agent Agent( modelOpenAIResponses(idgpt-5.2), save_response_to_filetmp/agent_output.md, markdownTrue, ) os.makedirs(tmp, exist_okTrue)纯流式则只动一个开关agent.print_response(..., streamTrue)内部自带富文本渲染示例 9s 跑完。⚖️ 选型指南同族参数怎么挑这一节给出对比参数时的判断标准不用自己踩坑。问结构化输出用output_schema还是parser_model判断条件选择主模型格式遵循稳定、无工具调用只用output_schema单次调用主模型输出不可控、格式弱、中途要调工具output_schemaparser_model多一次调用兜底问什么情况下才值得上output_model只有一种你要的是「更好读的最终文本」且主模型需要省钱。推理走 gpt-5-mini、成稿交给 gpt-5.2成本和质量各归其位。只要目标是结构化字段这条路一律不选。问run()还是print_response()演示、调试选后者接管线、要取RunOutput选前者。两者都支持流式。 避坑清单 环境前置先direnv allow载入含OPENAI_API_KEY的环境变量再跑./scripts/demo_setup.sh建好 demo 虚拟环境部分示例还依赖 pgvector 等本地服务。落盘目录要自建save_response_to_file只负责写文件父目录不存在时得自己os.makedirs。input_schema不吃字典只认 Pydantic 模型类schema 定义成 dict 会直接不合法。num_followups有下界followupsTrue开启追问建议时默认 3 条取值小于 1 会抛ValueError。耗时只是相对参考表中数字是 2026-02-13 单次实测受模型与网络影响别当性能承诺。收束9 个示例在 2026-02-13 的验证中全部 PASS把输入约束、结构化输出、双模型协作三条主线一次打通同目录的 followup_suggestions 系列可作为追问建议能力的延伸阅读。环境配好后任选其一即可复现.venvs/demo/bin/python cookbook/02_agents/02_input_output/file.py【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表