来源:互联网 更新时间:2026-07-07 14:30
Text-to-SQL 总是失败?这个能自动学习的 AI 智能体,通过动态上下文和持续学习机制,彻底改变了传统模式!
核心内容:

本文将展示如何构建一个自我提升的 Text-to-SQL 智能体,它利用动态上下文和“穷人的持续学习”来回答问题。整个方案将问题拆分为两部分:
当智能体找到一个成功的结果时,它会将其存储在知识库中,供以后使用。这为 Text-to-SQL 智能体提供了一个自我提升的反馈循环,同时保持在线路径的稳定性。
大多数 Text-to-SQL 智能体在实践中失败,是因为它们每次从头开始描述表、列、查找连接键,每次都会重复同样的错误。
相比之下,高级分析师或数据工程师不会每次都从头开始。他们会利用部落知识和经验,挖掘过去的查询以找到正确的查询。一旦找到有用的查询,就会将其保存在知识库中,供以后参考。Text-to-SQL 智能体也需要这样。
从实践来看,大多数 Text-to-SQL 的失败并非“模型很蠢”,而是“模型缺少上下文和部落知识”的问题。常见的错误包括:
目标很明确:
动态上下文就是:
智能体可以检索的内容包括:
如果知识库中有“每周活跃用户”的查询,智能体就应该检索它,而不是重新发明。
“穷人的持续学习”意味着:
每个好的查询都成为未来的上下文。每个错误都成为一条规则。每次澄清都成为共享知识。
穷人的持续学习之所以有效,是因为它提供了一个务实的学习循环:稳定的在线行为,受控的改进。最大的好处是,可以手动探索知识库并修复问题或错误——想象一下手动更新模型权重。
系统分为两部分:
对学习路径可以有两项改进:
知识库需要存储三种信息:
TO_DATE 函数”)。示例代码库包含以下文件(表信息和常见查询):
agents/sql/knowledge/
├── constructors_championship.json
├── drivers_championship.json
├── fastest_laps.json
├── race_results.json
├── race_wins.json
└── common_queries.sql
系统提供了一个生产就绪的工具,使用以下技术构建:
这里是仓库(https://github.com/agno-agi/agentos-railway)的链接,包含生产代码库。
以下是仓库的结构:
.
├── agents
│ ├── __init__.py
│ ├── sql
│ │ ├── __init__.py
│ │ ├── knowledge
│ │ ├── load_f1_data.py
│ │ ├── load_sql_knowledge.py
│ │ ├── sql_agent.py
│ │ └── test_questions.txt
│ └── ... more agents
├── app
│ ├── __init__.py
│ └── main.py
├── compose.yaml
├── db
│ └── ... database configuration
├── Dockerfile
├── pyproject.toml
├── railway.json
├── README.md
├── requirements.txt
├── scripts
│ ├── dev_setup.sh
│ ├── entrypoint.sh
│ ├── railway_up.sh
│ ├── format.sh
│ └── validate.sh
├── teams
│ └── finance_team.py
└── workflows
└── research_workflow.py
git clone https://github.com/agno-agi/agentos-railway.git
cd agentos-railway
使用 OpenAI 作为 Text-to-SQL 智能体(服务中也为其他智能体使用了 Anthropic 和 Parallel Search)。请导出以下环境变量:
# 必需
export OPENAI_API_KEY="YOUR_API_KEY_HERE"
# 可选
export ANTHROPIC_API_KEY="YOUR_API_KEY_HERE"
export PARALLEL_API_KEY="YOUR_API_KEY_HERE"
可复制 example.env 文件并将其重命名为 .env 以开始。
将使用 Docker 在本地运行应用程序并将其部署到 Railway。如果需要,请安装 Docker Desktop(https://www.docker.com/products/docker-desktop)。
使用 docker compose 运行应用程序:
docker compose up --build -d
此命令构建 Docker 镜像并启动应用程序:
localhost:5432 访问。启动后,可以在 localhost:8000/docs 查看 FastAPI 应用程序。
要加载 SQL 智能体的数据,请运行:
docker exec -it agentos-railway-agent-os-1 python -m agents.sql.load_f1_data
要填充知识库,请运行:
docker exec -it agentos-railway-agent-os-1 python -m agents.sql.load_sql_knowledge
http://localhost:8000 作为一个新的 AgentOS,可命名为 Local AgentOS(或任意名称)。演示视频地址:https://www.ashpreetbedi.com/videos/sql-agent-demo.mp4
这是一个 Text-to-SQL 智能体的演示。注意如何将一个查询添加到知识库中,当再次提出相同的问题时,智能体使用它来生成 SQL。
完成后,使用以下命令停止应用程序:
docker compose down
要将应用程序部署到 Railway,请运行以下命令:
brew install railway
railway login
./scripts/railway_up.sh
此命令将:
电视剧《小欢喜》剧情介绍
俄罗斯最大yandex入口外贸日报直达链接
二次元男生网名可爱(精选100个)
美好的简约网名男生(精选100个)
腾讯元宝怎么用来分析股票基金的基本面信息?
Bubbly无法连接服务器修复方法
盖乐世社区怎么删除帖子?盖乐世社区个人发布内容撤回步骤
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
免费观看国外短视频的app有哪些 观看国外短视频的软件下载
问题:CIA币好不?Cia Protocol币今日上线:价格预测、代币经济学和未来潜力
国际贵金属走低,现货黄金价格跌0.49%
wallpaper壁纸声音怎么开启
倒数日怎么注册 倒数日账号注册教程
币安Binance交易所官方入口 币安App下载安装与实名注册教程
本田CR-V支持哪些手机互联功能
玉米名字网名大全男生(精选100个)
失落城堡2打完魔王后如何继续玩
短剧《退休金断供,女儿女婿慌了》剧情介绍
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc