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

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

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

相关文章
|
9天前
|
人工智能 开发框架 安全
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
Smolagents 是 Hugging Face 推出的轻量级开源库,旨在简化智能代理的构建过程,支持多种大语言模型集成和代码执行代理功能。
205 69
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
|
6天前
|
机器学习/深度学习 人工智能 测试技术
PsycoLLM:开源的中文心理大模型,免费 AI 心理医生,支持心理健康评估与多轮对话
PsycoLLM 是合肥工业大学推出的中文心理大语言模型,基于高质量心理数据集训练,支持心理健康评估、多轮对话和情绪识别,为心理健康领域提供技术支持。
112 51
PsycoLLM:开源的中文心理大模型,免费 AI 心理医生,支持心理健康评估与多轮对话
|
4天前
|
人工智能 自然语言处理 调度
Casevo:开源的社会传播模拟系统,基于 AI 模拟人类认知、决策和社会交互,预测社会传播现象
Casevo 是中国传媒大学推出的开源社会传播模拟系统,结合大语言模型和多智能体技术,支持复杂社会网络建模与动态交互,适用于新闻传播、社会计算等领域。
52 22
Casevo:开源的社会传播模拟系统,基于 AI 模拟人类认知、决策和社会交互,预测社会传播现象
|
4天前
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
41 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
|
6天前
|
人工智能 搜索推荐 前端开发
MiniPerplx:基于 Grok 2.0 的开源 AI 搜索引擎,支持网页、学术、视频搜索
MiniPerplx 是一款基于 Grok 2.0 模型的开源 AI 搜索引擎,支持网页、学术论文、YouTube 视频等多种内容搜索,提供代码解释、天气预报等功能。
63 17
MiniPerplx:基于 Grok 2.0 的开源 AI 搜索引擎,支持网页、学术、视频搜索
|
4天前
|
人工智能 编解码 自然语言处理
Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位
Aria-UI 是香港大学与 Rhymes AI 联合开发的多模态模型,专为 GUI 智能交互设计,支持高分辨率图像处理,适用于自动化测试、用户交互辅助等场景。
40 11
Aria-UI:港大联合 Rhymes AI 开源面向 GUI 智能交互的多模态模型,整合动作历史信息实现更加准确的定位
|
6天前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
66 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
AigcPanel:开源的 AI 虚拟数字人系统,一键安装开箱即用,支持视频合成、声音合成和声音克隆
AigcPanel 是一款开源的 AI 虚拟数字人系统,支持视频合成、声音克隆等功能,适用于影视制作、虚拟主播、教育培训等多种场景。
108 12
AigcPanel:开源的 AI 虚拟数字人系统,一键安装开箱即用,支持视频合成、声音合成和声音克隆
|
9天前
|
人工智能 搜索推荐
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
SoulChat2.0 是华南理工大学推出的心理咨询师数字孪生大语言模型,能够低成本、快速构建个性化咨询风格的心理健康大模型,辅助心理咨询师工作。
52 9
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
|
11天前
|
存储 人工智能 开发框架
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
Eliza 是一个开源的多代理模拟框架,支持多平台连接、多模型集成,能够快速构建智能、高效的AI系统。
105 8
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统

热门文章

最新文章