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

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 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 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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

相关文章
|
7天前
|
SQL 安全 数据库
如何在Django中正确使用参数化查询或ORM来避免SQL注入漏洞?
如何在Django中正确使用参数化查询或ORM来避免SQL注入漏洞?
101 77
|
13天前
|
机器学习/深度学习 人工智能 测试技术
PsycoLLM:开源的中文心理大模型,免费 AI 心理医生,支持心理健康评估与多轮对话
PsycoLLM 是合肥工业大学推出的中文心理大语言模型,基于高质量心理数据集训练,支持心理健康评估、多轮对话和情绪识别,为心理健康领域提供技术支持。
160 51
PsycoLLM:开源的中文心理大模型,免费 AI 心理医生,支持心理健康评估与多轮对话
|
6天前
|
人工智能 供应链 PyTorch
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
TimesFM 2.0 是谷歌研究团队开源的时间序列预测模型,支持长达2048个时间点的单变量预测,具备零样本学习能力,适用于零售、金融、交通等多个领域。
78 23
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
|
2天前
|
Web App开发 机器学习/深度学习 人工智能
Weebo:支持多语言和实时语音交流的开源 AI 聊天机器人,回复具备语调、情感的语音
Weebo 是一款基于 Whisper Small、Llama 3.2 和 Kokoro-82M 技术的 AI 语音聊天机器人,支持实时语音交互和多语言对话,适用于个人助理、娱乐互动和教育辅导等多种场景。
42 17
Weebo:支持多语言和实时语音交流的开源 AI 聊天机器人,回复具备语调、情感的语音
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
Agent Laboratory:AI自动撰写论文,AMD开源自动完成科研全流程的多智能体框架
Agent Laboratory 是由 AMD 和约翰·霍普金斯大学联合推出的自主科研框架,基于大型语言模型,能够加速科学发现、降低成本并提高研究质量。
107 23
Agent Laboratory:AI自动撰写论文,AMD开源自动完成科研全流程的多智能体框架
|
7天前
|
人工智能 资源调度 JavaScript
PPTAgent:中科院开源AI工具,自动将文档转化为高质量PPT
PPTAgent 是中科院推出的自动生成演示文稿框架,基于两阶段编辑方法,支持智能分析、大纲生成、幻灯片生成与评估,适用于教育、企业培训等多种场景。
169 18
PPTAgent:中科院开源AI工具,自动将文档转化为高质量PPT
|
12天前
|
人工智能 自然语言处理 调度
Casevo:开源的社会传播模拟系统,基于 AI 模拟人类认知、决策和社会交互,预测社会传播现象
Casevo 是中国传媒大学推出的开源社会传播模拟系统,结合大语言模型和多智能体技术,支持复杂社会网络建模与动态交互,适用于新闻传播、社会计算等领域。
72 22
Casevo:开源的社会传播模拟系统,基于 AI 模拟人类认知、决策和社会交互,预测社会传播现象
|
11天前
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
50 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
|
11天前
|
人工智能 编解码 自然语言处理
Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位
Aria-UI 是香港大学与 Rhymes AI 联合开发的多模态模型,专为 GUI 智能交互设计,支持高分辨率图像处理,适用于自动化测试、用户交互辅助等场景。
68 11
Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位
|
3天前
|
人工智能 运维 Serverless
低成本 Serverless AI 检索介绍和实验
本文介绍了低成本Serverless AI检索技术,分为四部分:1) AI检索介绍,通过电商客服案例展示AI检索的应用和优势;2) 表格存储介绍,详细解释了表格存储的结构化数据处理能力及其在AI检索中的作用;3) 实验:RAG,通过具体实验演示基于表格存储的RAG流程及效果;4) 总结,强调向量检索、易用性和丰富的接口特性。整体内容展示了如何利用Serverless架构实现高效、低成本的AI检索解决方案。

热门文章

最新文章