ARTICLE DETAIL

资讯详情

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

业务方催数据,还能让 AI 替你写 SQL?Vanna AI 自然语言生成 SQL 完整指南

业务方催数据,还能让 AI 替你写 SQL?Vanna AI 自然语言生成 SQL 完整指南 业务方催数据还能让 AI 替你写 SQLVanna AI 自然语言生成 SQL 完整指南【免费下载链接】vanna Chat with your SQL database . Accurate Text-to-SQL Generation via LLMs using Agentic Retrieval .项目地址: https://gitcode.com/GitHub_Trending/va/vannaVanna AI 是一个 Python 写的自然语言生成 SQL 框架你用日常语言提问它替你生成 SQL、执行查询、返回表格和图表。数据分析师、业务团队以及想给内部产品加一个问数据库入口的开发者都用得上。被 SQL 卡住的取数流程业务方在群里问按销售额给我前 10 名客户。分析师手上还压着两个报表得先翻 schema、确认表名和字段再写一条带 JOIN 和排序的查询。问的人等答案写的人被打断最后谁都不痛快。Vanna 的思路很直接让 LLM 来当翻译。2023 年它团队做的对比测试里裸让模型看 schema 写 SQL准确率只有约 3%把表结构、文档和历史 SQL 作为上下文喂进去同一批问题准确率到了约 80%测试集为 20 个问题结论见仓库内 papers/ai-sql-accuracy-2023-08-17.md。这就是它整个设计的出发点——上下文比模型本身更关键。一条查询是怎么跑完的拿开头那个问题走一遍完整流程用户在前端问按销售额给我前 10 名客户请求带身份信息进入你的服务端User Resolver 把它解析成用户对象比如User(idalice, groups[read_sales])Agent 调用 Run SQL 工具生成并执行 SQL工具会按用户权限做行级过滤结果流式回传先出数据表再出 Plotly 图表最后一段自然语言总结。用代码说就是agent Agent( llm_servicellm, tool_registrytools, # 已注册 RunSqlTool user_resolverMyUserResolver(), )身份、权限、工具在这一层全部打通具体字段和路由见 README.md 里的 Production Setup 示例。从零开始安装和最小配置pip install vannaPython 要求 3.9 以上核心依赖pandas、plotly、sqlalchemy 等会自动装好。最小配置只干三件事选一个 LLM、选一个数据库 runner、注册 Run SQL 工具。LLM 侧看 src/vanna/integrations/ 目录OpenAI、Anthropic、Ollama、Azure、Google Gemini 都有现成服务类本地跑就选 Ollama。数据库侧同理SQLite、DuckDB、PostgreSQL、MySQL、ClickHouse、Snowflake 等都有独立 runner本地演示一般直接用tools.register(RunSqlTool(sql_runnerSqliteRunner(./data.db)))不需要向量库或额外服务pip install完就能跑起来。它到底能做到什么程度用户感知的权限控制。身份会贯穿系统提示词、工具执行和 SQL 过滤三层不同用户问同一个问题看到的数据按权限组自动不同。SQL 代码块默认只对 admin 用户展示普通用户只看到结果。模型和数据库都不绑死。LLM 支持 OpenAI、Anthropic、Ollama、Azure、Gemini、Bedrock、Mistral 等数据库覆盖 SQLite、DuckDB、PostgreSQL、MySQL、Snowflake、BigQuery、Oracle、SQL Server、ClickHouse、Presto、Hive 等各有一个对应的 integration 包。审计和限流内置。每次查询按用户留审计日志按用户配额这类需求走生命周期钩子实现不用自己拦请求。准确率上保持克制上面的 80% 来自 20 个问题的专项测试且对上下文策略敏感——只喂 schema 时模型差距不大喂足上下文后 Google 系模型能冲到第一、GPT-4 综合最强。真实库上的表现建议先用 src/vanna/examples/ 里的样例跑你自己的表。部署和集成嵌进现有网页最省事服务层内置 FastAPI 和 Flask 两套路由注册一下就能拿到POST /api/vanna/v2/chat_sse流式接口也可以独立起服务。前端层一个vanna-chatWeb Component支持暗色主题、移动端适配React、Vue、纯 HTML 都能直接放复用你现有的 cookie 和 JWT 认证不用再写一套聊天界面。扩展层继承Tool基类加工具比如发邮件、调内部 API用生命周期钩子加配额检查或内容过滤用 LLM 中间件加缓存和成本统计旧版 0.x 的用户可以用LegacyVannaAdapter先包一层平滑过渡细节在 MIGRATION_GUIDE.md。拿一个 SQLite 库试跑pip install vanna加上面那段最小配置是验证它适不适合你业务场景最快的办法。【免费下载链接】vanna Chat with your SQL database . Accurate Text-to-SQL Generation via LLMs using Agentic Retrieval .项目地址: https://gitcode.com/GitHub_Trending/va/vanna创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表