Agno AgentOS Showcase 实战验证指南:RAG、金融研究与团队编排平台的全链路测试

发布时间:2026/9/10 9:17:02

Agno AgentOS Showcase 实战验证指南:RAG、金融研究与团队编排平台的全链路测试 Agno AgentOS Showcase 实战验证指南RAG、金融研究与团队编排平台的全链路测试【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno导读本指南以 Agno 仓库中cookbook/05_agent_os/24_showcase一课为对象围绕其测试日志TEST_LOG.md展开完整还原一个集安全认证Bearer、AgentOS 链路追踪、pgvector 知识库 RAG、网页 金融实时研究与团队编排于一体的演示应用是如何被验证的。读完本文你将掌握该 showcase 的运行前提、启动步骤、三个 Python 模块的测试证据以及底层 AgentOS 认证、追踪与评测持久化机制的实现细节。一、这个 Showcase 是什么24_showcase将 AgentOS 课程体系组装成一个连贯的演示进程它同时承载一个基于 pgvector 的 Agno 文档问答助手、一个结合网页与金融数据的实时研究员以及一个金融 Team并把会话sessions、追踪traces、知识knowledge与评测结果evals统一持久化到 PostgreSQL。应用始终启用基于OS_SECURITY_KEY的 Bearer 认证启用 AgentOS 追踪并在服务启动前真实运行一次AccuracyEval。模块文件与职责如下来自 README.md文件讲解内容_agents.py共享 PostgreSQL 存储、pgvector 文档知识库、Agno Assist 与 Sage 两个 Agent_teams.py将 Sage 与专注市场数据的专家组合成一个金融 Teamdemo.py一个带安全认证与追踪的 AgentOS加上知识准备与一次可存储的准确率评测测试日志确认了该模块的三个文件全部通过PASS且测试模式均为LIVE真实调用模型与工具非 mock_agents.py与_teams.py作为无__main__的支撑模块由测试装置导入驱动demo.py则是完整运行的入口脚本。二、测试环境与前置条件TEST_LOG.md 记录了两次验证2026-07-24针对 Agno 源码提交45bfff9f2aa6ec11b7386c3cd3bf6d1141d005dc进行测试服务端口为 178772026-08-24demo.py重测原因是评测持久化断言从accuracy_evaluation.eval_id迁移到了result.run_id重测端口为SHOWCASE_PORT17879。两次测试共用同一套环境演示用的 Python 虚拟环境、端口 5532 上的 PostgreSQL pgvector、OpenAI 的gpt-5.5与 Anthropic 的claude-sonnet-4-6模型。对应的环境准备步骤来自 README.md安装演示环境./scripts/demo_setup.sh启动 5532 端口的 pgvector 数据库run_pgvector.sh 会拉起agnohq/pgvector:18容器数据库ai、用户与密码均为ai并把容器的 5432 映射到宿主机 5532./cookbook/scripts/run_pgvector.sh导出OPENAI_API_KEYAgno Assist、向量嵌入、金融专家与 Team 领队使用导出ANTHROPIC_API_KEYSage 与准确率评测裁判使用导出私有OS_SECURITY_KEY受保护的 REST 请求须以 Bearer token 携带它export OS_SECURITY_KEYreplace-with-a-local-secret保持网络可用需要访问 Agno 文档页、网页搜索与 Yahoo Finance。注意文档明确提示上述密钥仅用于本地示例生产环境应使用独立私密的密钥。三、启动流程与源码级解读从仓库根目录运行.venvs/demo/bin/python -m cookbook.05_agent_os.24_showcase.demo端口默认 7777被占用时可设置SHOWCASE_PORT覆盖demo.py中showcase_port int(os.getenv(SHOWCASE_PORT, 7777))。独立可用的 Uvicorn 模块目标是cookbook.05_agent_os.24_showcase.demo:app。启动阶段依次执行三个可观察步骤demo.py 中的__main__分支准备知识prepare_knowledge()将https://docs.agno.com/agent-os/introduction.md插入 PostgreSQL 内容表与 pgvector 表skip_if_existsTrue避免 URL 派生内容 ID 已存在时产生重复行验证检索查询 pgvector 并要求至少返回一条文档匹配否则抛出RuntimeError真实评测以 Agno Assist 与被评测 Agent 的组合运行AgentOS Documentation Accuracy评测把结果落库后再在默认 7777 端口提供服务。3.1 AgentOS 实例的构造demo.py构造了一个完整的、安全的 AgentOSagent_os AgentOS( idagent-os-showcase, nameAgentOS Showcase, descriptionA secured, traced AgentOS with RAG, research, finance, and evaluation., dbshowcase_db, agents[agno_assist, sage], teams[finance_team], knowledge[agno_docs], tracingTrue, settingsAgnoAPISettings(os_security_keysecurity_key), ) app agent_os.get_app()tracingTrue开启 AgentOS 追踪测试日志在早期验证中捕获到一条含4 个 span的 tracef43d8d4a65e4c0218fc6f84ef9df77a2覆盖 Agent、模型、工具与 Team 层次AgnoAPISettings(os_security_key...)将 Bearer 密钥注入应用配置。底层 settings.py 中该字段定义为Bearer token for API authentication同时内置了对localhost:3000、agno.com、os.agno.com等域名的 CORS 白名单。3.2 服务启动的底层实现agent_os.serve(appcookbook.05_agent_os.24_showcase.demo:app, host127.0.0.1, portshowcase_port)最终委托给 Uvicornapp.py。serve()还支持通过环境变量AGENT_OS_HOST与AGENT_OS_PORT覆盖主机与端口并根据AGNO_API_RUNTIMEstg切换公告的公共端点当settings.os_security_key存在时启动面板会显示:lock: Security Key Enabled。3.3 认证机制的源码印证AgentOS 的 Bearer 认证在 auth.py 中实现get_auth_token_from_request()从请求的Authorization头中提取Bearer前缀后的 tokenauth.py路由层在bool(settings.os_security_key)为真时要求认证将请求 token 与os_security_key比对router.py支持 JWT 与 legacyos_security_key两种模式并存JWT 授权开启时跳过安全密钥校验settings.py。这就是匿名请求被401拒绝、携带正确密钥后返回200的底层原因。四、模块级测试证据_agents.py测试模式LIVE支撑模块无__main__对象被测试装置导入驱动。测试动作将当前 AgentOS 简介加载进Agno Documentation知识库 → 搜索 pgvector → 以各自配置的模型与工具运行 Agno Assist 与 Sage。测试结果TEST_LOG.md 记录知识搜索返回2 个文档片段Agno Assist 运行9ba0f654-3d9e-439a-8401-4d6534b46edf调用了search_knowledge_base正确识别出 Agents、Teams 与 Workflows 三类组件并引用https://docs.agno.com/agent-os/introduction.md作为出处Sage 运行db9591cc-3f19-4531-89c8-48c1114c6e06调用了get_current_stock_price与search_news返回了带日期的 NVIDIA 市场数据并附新闻来源链接。4.1 共享存储与知识库构造_agents.py 中showcase_db是一个PostgresDb通过独立表隔离各类数据showcase_db PostgresDb( idagent-os-showcase-db, db_urlpostgresqlpsycopg://ai:ailocalhost:5532/ai, session_tableagent_os_showcase_sessions, knowledge_tableagent_os_showcase_knowledge, eval_tableagent_os_showcase_evals, traces_tableagent_os_showcase_traces, spans_tableagent_os_showcase_spans, )知识库agno_docs把内容存进 PostgreSQL 内容表、向量存进 pgvector 表agno_docs Knowledge( nameAgno Documentation, contents_dbshowcase_db, vector_dbPgVector( db_urlDB_URL, table_nameagent_os_showcase_documents, embedderOpenAIEmbedder(idtext-embedding-3-small), ), max_results5, )4.2 两个 Agent 的设计Agno AssistRAG 路径模型为OpenAIResponses(idgpt-5.5)挂在agno_docs知识库上指令要求“先搜索 Agno 文档再作答”“基于检索到的文档陈述框架结论”“当文档无法回答时明确说明”并开启add_history_to_contextTrue携带最近 3 轮历史与markdownTrue。测试日志中它调用search_knowledge_base的行为正是 RAG 链路的证据。Sage实时研究模型为Claude(idclaude-sonnet-4-6)装配两组工具WebSearchTools网页搜索 新闻、固定最多 5 条结果、20 秒超时与YFinanceTools股价、公司信息、基本面、分析师推荐、公司新闻。指令要求“用 YFinanceTools 取价格与基本面”“用 WebSearchTools 取时效性信息”“引用网页来源并为市场数据标注检索日期”“区分事实与解读”并开启add_datetime_to_contextTrue以便在回答中标注时间。五、模块级测试证据_teams.py测试模式LIVE。测试动作以broadcast广播模式运行 Finance Team任务是需要同时依赖两名注册成员与实时金融数据的 NVDA 与 AMD 对比。测试结果Team 运行a4f62211-5d17-43ee-911f-817eb60be176完成收集到来自 Sage 与 Market Analyst 的成员响应两名成员都取到了两个股票的当前价格gpt-5.5的 Team 领队把两份结果调和成一张带来源的对比表并标注了时间timing方面的注意事项。5.1 团队构造源码_teams.py 先定义市场专家market_analystgpt-5.5YFinanceTools 扩展至财报与关键财务比率再组合 Teamfinance_team Team( idfinance-team, nameFinance Team, modelOpenAIResponses(idgpt-5.5), dbshowcase_db, members[sage, market_analyst], instructions[ Delegate current news and broad context to Sage., Delegate exact market and fundamentals work to the Market Analyst., Reconcile the two member responses into one concise, sourced brief., Distinguish facts, interpretation, and material uncertainty., Do not present the response as investment advice., ], delegate_to_all_membersTrue, # 广播模式同时委派给所有成员 show_members_responsesTrue, # 领队可见成员响应并做调和 markdownTrue, )delegate_to_all_membersTrue正是测试中“broadcast 模式”的配置来源每个成员各自取数领队再对响应进行调和与汇总。六、模块级测试证据demo.py含评测持久化迁移测试模式LIVE。测试动作2026-08-24 重测端口 17879准备知识 → 运行真实准确率评测 → 验证认证与评测端点。测试结果AccuracyEval da6e8c87-0250-40d3-aec3-2c8398810a51由claude-sonnet-4-6裁判打出10/10持久化断言通过result.run_id读回评测行这是从eval_id迁移后的新验证方式匿名GET /config返回401携带密钥后返回200评测列表端点返回3 条已存储的运行各自拥有独立 ID服务器干净退出无残留监听进程。2026-07-24 首轮验证端口 17877覆盖面更广AccuracyEval 0a7df9c3-aecc-4ee5-bc2e-fa7165bb234a同为 10/10持久化通过 eval 号47325c0e-73c5-4477-87e7-38dc4f5323ce验证资源发现接口恰好返回agno-assist、sage、finance-team三个组件知识搜索后的 Agent 运行为46f18a31-9a8e-4db5-810b-c63e14275ec0追踪f43d8d4a65e4c0218fc6f84ef9df77a2含 4 个 span。6.1 评测构造与持久化源码demo.py中的评测定义accuracy_evaluation AccuracyEval( dbshowcase_db, nameAgentOS Documentation Accuracy, modelClaude(idclaude-sonnet-4-6), agentagno_assist, inputWhich three component types can AgentOS serve?, expected_outputAgentOS can serve Agents, Teams, and Workflows., additional_guidelines[ Accept capitalization and singular or plural variations., The answer must identify all three component types., ], num_iterations1, show_spinnerFalse, )底层 accuracy.py 中AccuracyEval.run()会为每次执行生成唯一的run_idAccuracyResult携带该字段并以eval_{run_id}_{i}的形式命名评测会话demo.py在运行后通过showcase_db.get_eval_run(result.run_id)校验评测行已落库——这正是测试日志提到的“持久化检查从eval_id迁移到run_id”的落点对应 db/base.py 的get_eval_run接口。七、认证与资源发现如何验证应用根页面、GET /health与GET /info保持公开便于发现与健康检查其余接口均需密钥。匿名请求被拒绝curl -i http://127.0.0.1:7777/config携带密钥发现两个 Agent 与一个 Teamcurl \ -H Authorization: Bearer ${OS_SECURITY_KEY} \ http://127.0.0.1:7777/configruns、sessions、knowledge、traces 与 evaluation 端点同样需要该请求头。测试日志证实认证后资源发现接口精确返回agno-assist、sage、finance-team三项。7.1 推荐试用的 Prompt组件PromptAgno AssistWhich three component types can AgentOS serve? Link the relevant documentation.SageGive me current context and market data for NVDA, separating facts from interpretation.Finance TeamCompare MSFT and GOOGL fundamentals and recent news in a concise table.路径分工Agno Assist 走 RAG先检索已索引文档再作答Sage 用WebSearchTools取时效信息、YFinanceTools取市场数据Finance Team 委派给 Sage 与市场专家后调和两者响应。7.2 通过 REST 与控制面检查结果将http://127.0.0.1:7777连接至 AgentOS 控制面并携带安全密钥后可检查Agents and Teamsagno-assist、sage、finance-team、KnowledgeAgno Documentation实例与已索引的 introduction、Sessions三条 Prompt 执行后、TracesAgent/模型/工具/Team span、Evals已存储的AgentOS Documentation Accuracy结果。等价的带认证 REST 表面为GET /config资源发现GET /knowledge/content知识内容GET /sessions会话GET /traces追踪GET /eval-runs评测运行测试日志中“匿名 401 / 认证 200 / 评测列表返回三条存储运行”正是这些端点的直接验证。八、验证清单与关闭流程TEST_LOG.md 的 Validation 部分记录了静态与运行态双重校验模式校验递归模式校验恰好检查 3 个 Python 文件0 违规工程检查Ruff format 与 check、Python 编译、清单inventory对等、本地 Markdown 链接、legacy 文件删除与git diff --check全部通过运行态收尾PostgreSQL 与 pgvector 在共享测试环境中保持运行测试结束后无 showcase 服务进程或监听器残留。关闭演示在服务终端按Ctrl-C停止服务器PostgreSQL 数据保留供下次运行复用仅当容器仅为本课而启动时才停止共享的 pgvector 容器。九、关键结论可复现的端到端演示一个demo.py串联了知识灌入、pgvector 检索自检、真实AccuracyEval落库与安全服务的全流程测试日志三次关键验证两个支撑模块 完整入口均通过。认证与追踪是标配AgnoAPISettings(os_security_key...)驱动 Bearer 认证tracingTrue驱动链路追踪匿名 401 / 认证 200 / 4-span trace 是两者的直接观测结果。评测持久化以run_id为准AccuracyEval.run()每次生成唯一run_id落库校验通过get_eval_run(result.run_id)完成10/10 的裁判成绩与三条历史 eval 记录均可从GET /eval-runs复现。广播式 Team 是金融对比任务的正确编排delegate_to_all_membersTrue让 Sage 与 Market Analyst 并行取数领队统一调和测试以 NVDA/AMD 实时对比验证了该模式的有效性。如需深入源码可继续阅读 demo.py、_agents.py、_teams.py 三个示例文件以及认证实现 auth.py、服务启动 app.py 与评测实现 accuracy.py。【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 9:12:01

旺季物流运力锁定实操指南:从成本测算到风险管控

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 9:12:01

如何用源码写规则做静态分析:Semgrep 代码扫描完整指南

如何用源码写规则做静态分析:Semgrep 代码扫描完整指南 【免费下载链接】semgrep Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. 项目地址: https://gitcode.com/GitHub_Trending/se/semgrep …

2026/9/10 10:07:12

SpringBoot+Vue非遗文化传承网站开发实践

1. 非遗文化传承网站系统概述这个基于SpringBootVue的非遗文化传承网站系统,本质上是一个面向非物质文化遗产保护与传播的数字化解决方案。作为一名参与过多个文化类项目开发的老兵,我深知这类系统的核心价值在于如何平衡技术实现与文化呈现的关系。系统…

2026/9/10 10:07:12

伏昔尼布:低级别胶质瘤靶向新药的用药艺术与安全边界

对于携带IDH基因突变的2级星形细胞瘤或少突胶质瘤细胞瘤患者而言,伏昔尼布(Vorasidenib,商品名VORANIGO)的上市标志着治疗格局的重大转变。作为一款口服、高选择性的IDH1/IDH2双重抑制剂,它能够在不需要立即进行放化疗…

2026/9/10 10:07:12

CANN/ge UT开发指南

UT用例开发指导 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…

2026/9/10 10:07:12

CANN/GE算子形状推断函数实现

IMPLEMT_INFERFUNC 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorF…

2026/9/10 10:02:10

MTProxy配置参数详解:从端口设置到worker数量优化

MTProxy配置参数详解:从端口设置到worker数量优化 MTProxy是一款高效的代理工具,本文将详细解析其核心配置参数,帮助新手用户快速掌握从端口设置到worker数量优化的全过程,轻松搭建稳定可靠的代理服务。 一、基础参数解析 1.1 …

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码