AI Pulse
📡 X 信号

基于通义千问Qwen构建的开源数据分析AI Agent已发布

基于通义千问Qwen构建的开源数据分析AI Agent已发布

我用Jev作为审查层构建了一个数据分析智能体!通义千问负责处理主体智能体的工作,Jev充当审查层,Vercel eve运行智能体循环、工具执行和人工批准流程。

这个智能体可以处理用户用自然语言提出的数据相关问题,检查数据库模式,编写SQL,运行查询,然后解释结果。有意思的部分发生在主循环之外。

通义千问负责生成SQL和最终答案,而Jev审查那些确实需要语义判断的部分。任何可以用代码可靠检查的内容都保持确定性。Jev会在三个点审查智能体:

- 在智能体开始之前,它会检查用户的问题是否足够清晰,能够用现有数据回答。
- 在通义千问生成SQL之后,它会检查这个查询是否真正匹配用户的提问。
- 在查询运行后,它会检查最终解释是否基于返回的数据行。

举个例子,我们测试了这样一个问题:“谁是我们的最佳客户?”这个问题听起来简单,但“最佳”可以指最高收入、最多购买量、最高平均订单价值,或是其他含义。Jev不会让通义千问默默选择一个指标,它会将问题标记为有歧义,并要求用户澄清。

同样的分离原则也适用于SQL执行。通义千问可以提出查询,但它不能决定这个查询运行起来是否安全。工具只接受单个只读的SELECT语句,SQLite以只读模式运行,结果最多返回200行,没有WHERE子句的查询需要人工批准才能执行。这些检查不需要额外调用模型。

但一个查询可能完全安全,但仍然答非所问。确定性规则可以验证SQL是否只读,但无法可靠判断“上个月收入”的查询是否意外计算了所有时间的收入。这就是Jev发挥作用的地方。它会在执行前,将提出的SQL与原始问题和模式进行比对审查。

在数据返回、通义千问写好解释后,Jev会再次审查答案,检查结论是否真的得到返回数据的支持。

该项目使用本地SQLite销售数据库,通义千问通过Vercel AI Gateway调用,Gadio作为界面,只有两个数据库工具:inspect_schema和run_sql。

没有单个模型负责所有工作。通义千问生成内容,Jev审查,确定性代码控制执行,Vercel eve管理智能体循环和批准流程。GitHub仓库:100%开源。

如果你想深入了解Vercel eve,Vercel还将在10月15日于旧金山举办的Ship活动上举办一场实践研讨会:

本文由 AI 翻译自英文原帖,技术名词保留英文。

查看 X 原帖

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新