最新资讯
dev.to 用 Switch 构建 AI 投资委员会:多空研究员 Agent 协作 bloomberg.com 微软正结束向甲骨文租用 AI 云算力的协议 the-decoder.com Perplexity 推出常驻 AI Agent“Teammates” dev.to osFoundry的Loop和Graph是什么,何时该用哪个? dev.to 限制上下文而非限制评审:面向开源补丁的字节预算证据包 dev.to 约束自主智能体:用 GKE Agent Sandbox 实现亚秒级零信任执行 dev.to 实测:给 Claude Code 十个翻译工具,三次运行中有一次完全不用 unite.ai Ramp 数据:企业 AI token 用量增速超过支出增速 pub.towardsai.net AI 生成的 ICLR 评审对被拒论文更宽松:如何压力测试你的 rebuttal blogs.nvidia.com NVIDIA 开源工具如何助力研究者构建下一代 6G 网络 wired.com AI 公司正积极收购企业工作文件与邮件用于模型训练 wechat 网友用AI搓出来的“App”,可以直接在小红书玩起来了?
多元动态
登录 注册
大模型 dev.to · @Ashish sinha

Vanna 仓库被归档:生产环境使用者需要知道什么

原文 我的收藏

作者称 vanna-ai/vanna 仓库已于 2026 年 3 月 29 日被所有者归档,变为只读。文章分析归档的实际代价:固定版本仍可运行,但依赖升级、安全补丁和 issue/PR 支持停止,下一次底层破坏性变更(如 sqlalchemy、数据库驱动、LLM SDK)可能带来风险。作者还拆解 Vanna 的五项功能,并提醒重建检索层时需在检索前而非执行后处理身份与权限,否则可能产生“无数据”式的错误回答。

AI推荐理由 作者指出 vanna-ai/vanna 仓库已于 2026 年 3 月 29 日被所有者归档,并具体分析归档对生产环境的实际影响:依赖不再更新、无安全补丁、issue/PR 关闭,以及 Vanna 实际由训练存储、检索、提示组装、LLM 调用、UI 图表五部分组成,替换时检索环节涉及身份与权限风险。内容对使用该库的开发者有明确迁移参考价值,但属个人经验分析,非官方公告。

68

正文

The vanna-ai/vanna repository was archived by its owner on 29 March 2026. 23.8k stars, read-only, no pinned explanation that I could find. I'm not going to speculate about why - that's the maintainers' business, and a lot of people got real value out of it for free. What I do want to write down is what archiving actually costs you if it's in your stack, because "it still works" is true right up until it isn't. What read-only actually means Your pinned version keeps working. Nothing breaks today. What stops is everything around it: no dependency bumps, no fixes for the driver change that lands next quarter, no security patches, and issues and pull requests are closed - so the workaround you'd normally find in a comment thread never gets written. The practical horizon is the next breaking change in something underneath it. sqlalchemy, your DB driver, an LLM SDK. That's usually months, not years. Vanna was five things, not one This is the part that catches people out when they start looking for a replacement. Unbundled, it did roughly: A training store - your DDL, docs and example SQL, embedded Retrieval - pick the relevant schema for this question Prompt assembly The LLM call UI and chart helpers There is no single library that is "Vanna but maintained", because those five pieces live in different places now. LangChain's SQL agent and LlamaIndex's NLSQLTableQueryEngine cover 2-4 with different opinions. MCP-based toolboxes cover 3-4 and hand you 1-2. Nobody hands you all five in one import. The piece that carries the risk is #2 When you rebuild retrieval, you are deciding what the model is allowed to see. That step runs before the query executes - which means it runs before row-level security, VPD, or any policy layer can act. If your replacement isn't identity-aware, here's the failure: the model is handed a table this caller can't read. It writes perfectly correct SQL. The policy layer filters every row. The agent reports "there are no orders for that customer." That is not an access-denied message. It's a wrong answer in a confident tone, and the person reading it cannot tell the difference between "you may not see this" and "this does not exist." Worse, nothing logs an anomaly, because nothing went wrong - every component did its job. With GRANT you'd get a clean permission error. With RLS you get a plausible sentence. If you're carrying Vanna's retrieval forward or replacing it, that asymmetry is the thing to design against. A migration checklist that isn't just "pick a framework" Pin your Vanna version and your transitive deps now, before something moves under you Write down which of the five pieces you actually use. Most teams use 2, 3 and 4 and never touched 5 Export your training data. It's yours, it's the expensive part, and it's portable Decide where identity enters. Per-request, before retrieval - not after execution Test the empty-result case explicitly. Ask something a restricted user shouldn't see, and check what your agent tells them That last one takes ten minutes and is the one nobody runs. Disclosure I wrote a library called schemagate that covers piece #2 only - retrieval plus identity scoping. It is not a Vanna replacement and I'd rather say that plainly than have someone find out after migrating. It filters the catalog by caller identity before ranking, so a restricted table's name never enters the prompt; ranking is BM25 plus a hashed embedder, offline, no API key and no model call. On a deliberately messy 127-object schema, recall@6 was 47% with bare identifiers, 60% with Gemini 2.5 Pro writing table descriptions, 80% with Sonnet - so if you're rebuilding retrieval, budget for the description pass, not just the embeddings. That's the part I'd have wanted to know before starting. Demo runs in your browser, no signup and no database: https://ashishsinha1602.github.io/schemagate/ Apache-2.0: https://github.com/ashishsinha1602/schemagate If you're mid-migration off Vanna I'm genuinely interested in what you hit - the retrieval half is the part I've spent the most time in.

来源报道 · 1 篇 · 以下链接均前往原始媒体

← 返回精选动态 原文

更多内容