领导:小伙子 python 水平怎么样
我:入门水平
领导:公司要启动一个 ChatBI 项目,你去了解一下 Vanna 这个开源项目
群聊:。。。。。。。使用开源项目 Vanna bbbbb 一大堆,跑了 Vanna 的 demo 演示了一下
领导:下周三之前要搞出来一版,这是提问问题和对应得表你做个 API 设计和确定一下 SSE 数据格式
我:Claude 3.7 这是我的需求,帮我使用 flask + Vanna 生成一个脚手架,之后就是各种踩坑
-----A few days later-----
我:vn.train(ddl=ddl)、vn.train(plan=plan)、vn.train(documentation=doc)、vn.train(question=question,sql=sql) 咣咣一顿怼,
vn.generate_sql 启动,LLM Response: sql select xxxx
成了! vn.run_sql()执行错误,database 没有对应的列
我:太难了,兄弟们,调了很久还是没能让 Vanna RAG +LLM 明白我想查的东西,还要再 run_sql 那一层拼接上现有系统的权限隔离人麻了
1
mamtou 28 天前 via Android
你用 langgraph 自己构建个 agent ,把数据集整理一下
|
2
TimG 28 天前 via Android
我们也在评估这款产品,不过我的反馈是目前还过于理想。我很奇怪如果不带自我迭代功能(目前好像也只有 snowflake 有),跟直接用 dify 拼 prompt 串起来有什么区别,因为大部分转换核心逻辑在 llm 的黑箱里,即使自己实现一个理论上也不难。
除了技术上的尴尬,功能上也很尴尬。得益于 SQL 又臭又长的意大利面语法,一般模型连表都能连出幻觉。对于表结构已经有所了解的数据工程师,在连表都用不到的普通查询上,llm 还在 warm 期间人早就写完跑出结果了。对于 0 基础的人,还得 SQL 后加一堆管控防止越权。 总结就是现在还处于“威尔史密斯吃面条”的阶段。 |
3
xiaomushen 28 天前
给你来个 delete 或 truncate ,然后就爽了
|
![]() |
4
INTOX8O OP @xiaomushen 连接的账号限定了读权限,所以不会出现
|
7
r00mz 27 天前
vanan 训练了啥?
|
9
r00mz 27 天前
所以我可以理解这个 vanna 挂羊头卖狗肉,把 schema 拆分、处理的过程过度吹嘘成训练,故意混淆大模型时代训练这个词的专有意义。
|
![]() |
10
INTOX8O OP @r00mz #9 Vanna 的训练是基于 RAG 的技术实现,只是在数据清洗,向量化和索引这里做得并不是很美好,导致生成的 prompt 质量也不高,llm 再弱点调试的那个人很崩溃
|
![]() |
11
liaopen123 26 天前
尝试过 vanna 放弃了....祝君成功
|
![]() |
12
INTOX8O OP @liaopen123 哈哈哈,搞不定也要搞,牛马的任务。如果是我个人我是不愿意选择他的
|