Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询

简介: Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:基于大型语言模型自动生成 SQL 查询。
  2. 技术:结合检索增强技术(RAG)提高查询准确性。
  3. 支持:兼容多种 LLMs 和 SQL 数据库。

正文(附运行示例)

Vanna 是什么

公众号: 蚝油菜花 - vanna

Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,旨在帮助用户基于大型语言模型(LLMs)为其数据库生成精确的 SQL 查询。Vanna 通过两步简单流程操作:首先在用户数据上训练 RAG 模型,然后基于提问生成可在数据库上执行的 SQL 查询。

Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。Vanna 还支持自定义前端界面,支持用户用反馈自我学习,提高查询准确性。

Vanna 的主要功能

  • SQL 查询生成:基于大型语言模型(LLMs)根据用户的问题自动生成 SQL 查询。
  • 检索增强:基于检索增强技术(RAG)结合生成模型,提高查询的准确性。
  • 多数据库支持:支持连接多种 SQL 数据库,如 PostgreSQL、MySQL 等。
  • 多 LLMs 支持:兼容多个 LLMs,包括 OpenAI、Anthropic 等。
  • 向量存储集成:与多种向量数据库集成,如 AzureSearch、PgVector 等。
  • 用户界面:提供多种用户界面选项,包括 Jupyter Notebook、Streamlit、Flask 和 Slack。

Vanna 的技术原理

  • 检索增强生成(RAG):基于 RAG 技术,一种结合检索(从大量数据中检索相关信息)和生成(基于检索到的信息生成输出)的方法。让 Vanna 更准确地理解和响应用户的问题。
  • 大型语言模型(LLMs):Vanna 依赖于 LLMs 理解和生成自然语言。模型经过预训练,能理解语言的复杂性和上下文。
  • 向量数据库:Vanna 用向量数据库存储和检索与用户问题相关的信息。数据库能高效地处理和比较大量的数据点。
  • 训练与微调:用户基于提供 DDL 语句、文档和 SQL 查询训练 Vanna,使其更好地理解和响应特定于业务的查询。
  • 自动化 SQL 执行:Vanna 生成的 SQL 查询能自动在用户的数据库上执行,无需人工干预。

如何运行 Vanna

安装

pip install vanna

导入

from vanna.openai.openai_chat import OpenAI_Chat
from vanna.chromadb.chromadb_vector import ChromaDB_VectorStore

class MyVanna(ChromaDB_VectorStore, OpenAI_Chat):
    def __init__(self, config=None):
        ChromaDB_VectorStore.__init__(self, config=config)
        OpenAI_Chat.__init__(self, config=config)

vn = MyVanna(config={
   'api_key': 'sk-...', 'model': 'gpt-4-...'})

训练

vn.train(ddl="""
    CREATE TABLE IF NOT EXISTS my-table (
        id INT PRIMARY KEY,
        name VARCHAR(100),
        age INT
    )
""")

vn.train(documentation="Our business defines XYZ as ...")

vn.train(sql="SELECT name, age FROM my-table WHERE name = 'John Doe'")

提问

vn.ask("What are the top 10 customers by sales?")

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
8月前
|
SQL 监控 关系型数据库
一键开启百倍加速!RDS DuckDB 黑科技让SQL查询速度最高提升200倍
RDS MySQL DuckDB分析实例结合事务处理与实时分析能力,显著提升SQL查询性能,最高可达200倍,兼容MySQL语法,无需额外学习成本。
|
8月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
8月前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
2978 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
8月前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
2776 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
8月前
|
人工智能 数据可视化 数据处理
AI智能体框架怎么选?7个主流工具详细对比解析
大语言模型需借助AI智能体实现“理解”到“行动”的跨越。本文解析主流智能体框架,从RelevanceAI、smolagents到LangGraph,涵盖技术门槛、任务复杂度、社区生态等选型关键因素,助你根据项目需求选择最合适的开发工具,构建高效、可扩展的智能系统。
1953 3
AI智能体框架怎么选?7个主流工具详细对比解析
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:IndexTTS2–B站、HuMo、Stand-In视觉生成框架、Youtu-GraphRAG、MobileLLM-R1–Meta、PP-OCRv5
AI Compass前沿速览:IndexTTS2–B站、HuMo、Stand-In视觉生成框架、Youtu-GraphRAG、MobileLLM-R1–Meta、PP-OCRv5
727 10
AI Compass前沿速览:IndexTTS2–B站、HuMo、Stand-In视觉生成框架、Youtu-GraphRAG、MobileLLM-R1–Meta、PP-OCRv5
|
7月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
564 6
|
8月前
|
人工智能 关系型数据库 数据库
公募REITs专属AI多智能体查询分析项目
公募REITs专属AI多智能体查询分析项目。本项目是基于 OpenAI Agent 框架的多智能体项目,提供二级市场数据查询分析、招募说明书内容检索、公告信息检索、政策检索等多板块查询服务。支持图标绘制、文件生成。
公募REITs专属AI多智能体查询分析项目
|
8月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
8月前
|
人工智能 API
阿里云百炼API-KEY在哪查询?如何获取阿里云AI百炼大模型的API-KEY?
阿里云百炼是阿里云推出的AI大模型平台,用户可通过其管理控制台获取API-KEY。需先开通百炼平台及大模型服务,即可创建并复制API-KEY。目前平台提供千万tokens免费额度,详细操作流程可参考官方指引。

热门文章

最新文章