ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

GPT-Computer-Assistant 拆解:3 类智能体模式搭一条体育数据分析流水线

2026/9/20 21:13:30 拓冰建站 浏览量
GPT-Computer-Assistant 拆解:3 类智能体模式搭一条体育数据分析流水线 GPT-Computer-Assistant 拆解3 类智能体模式搭一条体育数据分析流水线【免费下载链接】gpt-computer-assistantBuild autonomous AI agents in Python.项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-computer-assistant比赛一结束你要花两小时手动扒比分、对数据表、再粘进 Excel老板一句得分为什么下滑就得翻回历史数据找答案。GPT-Computer-AssistantUpsonic是个 Python 自主智能体框架把抓数据、解析 PDF、连续分析、出报告写成任务描述交给智能体自己跑。麻烦对照体育分析的每类痛点用什么能力解体育数据的麻烦主要在于格式不一、来源多先对一下号官网 API 的 JSON 字段经常变动页面还要自己抓。工具层把任意请求逻辑包成可调用的 tool模型看签名自己决定什么时候调内置的网页抓取和搜索工具开箱即用实现在 src/upsonic/tools/。赛后报告是扫描版 PDF根本没有文本层。OCR 是两层流水线layer 0 做 PDF 转图、预处理layer 1 换识别引擎EasyOCR、PaddleOCR 等代码在 src/upsonic/ocr/。上一场分析的结论是什么这种问题重开一个会话就全忘了。Memory 配可插拔存储内存、SQLite、Postgres 都行让智能体记住会话甚至沉淀用户画像。一个智能体又算数又写稿还自己核对容易出错。Team 把多个智能体编成组按 sequential、coordinate、route 三种模式分工传话。说白了这个框架的核心是你写任务描述智能体自己决定调什么工具、按什么顺序调不用你手工拼 pipeline。Upsonic 模块拆解数据接入、分析引擎、输出呈现数据接入层外部 API 和 PDF 报告怎么接这层解决非结构化输入怎么进智能体。对 JSON API最灵活的做法是把一个函数用tool包成工具——模型看到的是你的函数签名和文档字符串靠它判断该不该调from upsonic import Agent, Task from upsonic.tools import tool tool def fetch_match_stats(team: str, date: str) - dict: Fetch a teams box score for a given date (points, rebounds, assists). # 这里用 requests 调体育数据 API返回 JSON return {team: team, pts: 112, reb: 44} agent Agent(modelanthropic/claude-sonnet-4-5, name数据采集) result agent.do(Task(description拿到勇士昨天比赛的详细数据, tools[fetch_match_stats])) print(result)跑完看到智能体自己发起了这次 API 调用吐回结构化统计不用你编排调用顺序。如果连请求逻辑都不想写内置的 WebFetchTool、WebSearchTool 可以直接传进去让智能体自己去抓网页、搜资料。PDF 报告走 OCR 通道。先装uv pip install upsonic[ocr]然后from upsonic.ocr import OCR from upsonic.ocr.layer_1.engines import EasyOCREngine engine EasyOCREngine(languages[en]) ocr OCR(layer_1_ocr_engineengine) text ocr.get_text(match_report.pdf) print(text[:200])跑完拿到一段扫描版报告里的纯文本换 PaddleOCR、Tesseract 只改 layer_1 那一行引擎。分析引擎层连续分析的记忆怎么挂这层解决第二个问题依赖第一个问题的答案。给智能体挂一个 Memory演示用内存存储生产换 SQLitefrom upsonic import Agent, Task from upsonic.storage import Memory, InMemoryStorage memory Memory( storageInMemoryStorage(), session_idplayer_a_analysis, full_session_memoryTrue, # 保留对话历史 num_last_messages10, ) analyst Agent(modelanthropic/claude-sonnet-4-5, name体育数据分析师, memorymemory) analyst.do(Task(description分析球员A最近5场比赛的得分趋势)) result analyst.do(Task(description结合刚才的分析解释得分下滑的原因)) print(result)第二个问题里智能体能引用第一个问题的趋势结论不用你把上下文再塞一遍。换成 SqliteStorage 只是把存储落到 db 文件进程重启后同一 session 还能接着聊。输出呈现层多智能体分工怎么排一个人干统计、写稿、核数三件事容易糊。Team 拆工序每个智能体带自己的 rolefrom upsonic import Agent, Task, Team stat_agent Agent(anthropic/claude-sonnet-4-5, name统计, role计算高阶数据指标) report_agent Agent(anthropic/claude-sonnet-4-5, name报告, role撰写比赛分析报告) team Team(agents[stat_agent, report_agent], modesequential) result team.do([ Task(计算两队近10场的得分效率指标), Task(基于上面的指标写一份比赛分析报告并预测下一场走势), ]) print(result)第一个智能体算完把结果交给第二个产出是一份能直接交付的报告。想让 leader 智能体自己分派任务把 mode 换成 coordinate 就行。三个落地场景从单场到整个赛季批量扫历史报告联赛一次性丢来一堆扫描版数据表要变成能查询的表。用自主版 AutonomousAgent给它一个 workspace 目录文件读写被限制在目录内路径穿越和危险命令直接拦掉from upsonic import AutonomousAgent, Task agent AutonomousAgent( modelanthropic/claude-sonnet-4-5, workspace/path/to/reports, # 文件操作只发生在这个目录内 ) agent.print_do(Task(读取目录里所有 PDF提取每名球员的得分和篮板 在本目录输出一个 csv))产出是目录里多出一个 csv行是球员、列是指标直接能进数据库。赛季纵向跟踪给跟踪智能体挂 SQLite 存储一个 session_id 对应一个球员。产出长这样一个season_tracking.db文件每次追问时智能体都能引用本赛季此前所有结论而不是从头讲一遍。周报自动化Team 加一个定时触发每周一第一个智能体拉上周数据、第二个按固定模板写周报产出是一份可直接外发的 markdown。和输出呈现层同一套写法差别只是把任务描述换成周报表格要求。快速跑通3 步装好并跑第一个任务装、配密钥、跑第一个任务一段命令搞定# 1. 安装 uv pip install upsonic # 或: pip install upsonic # 2. 在当前工作目录建 .env echo ANTHROPIC_API_KEYyour_key_here .env # 3. 跑第一个任务 python -c from upsonic import Agent, Task agent Agent(modelanthropic/claude-sonnet-4-5, namesmoke) agent.print_do(Task(description列出篮球数据里最常用的5个高阶指标)) 跑完终端里看到智能体回答就通了。两个高频报错ModuleNotFoundError: No module named upsonic一般是装到了系统 Python 却在 venv 里跑进 venv 重装一次401 或鉴权失败是 .env 不在你运行脚本的目录挪过去即可框架会自动从工作目录加载 .env。Upsonic 常见坑与适合谁现象智能体不调你写的工具。原因docstring 没写参数含义模型不知道它是干嘛的。解法把 args、返回值写进文档字符串参数名用英文语义化命名。现象长任务中途抛 context 或 token 超限。原因完整会话历史全进了上下文。解法用num_last_messages截断历史或把大任务拆成多个 Task。现象OCR 结果乱码或整段丢失。原因layer 0 预处理没处理好低分辨率扫描件。解法提高 PDF 转图分辨率或换 PaddleOCR 这类更强的引擎。适合谁有 Python 底子、想把取数—处理—报告这条链路自动化的开发者框架替你把工具调用和上下文管理的脏活收了。不适合对延迟有秒级 SLA 的实时场景智能体一次任务按分钟计模型调用也按次计费。下一步建议先把 tests/doc_examples/ 里 chat 和 memory 两个目录的示例跑通再把任务描述改成你自己的体育场景。【免费下载链接】gpt-computer-assistantBuild autonomous AI agents in Python.项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-computer-assistant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考