建设工程规范下载网站,做纪念品网站,wordpress的代码逻辑,网加思维做网站推广LLMs之Vanna#xff1a;Vanna(利用自然语言查询数据库的SQL工具底层基于RAG)的简介、安装、使用方法之详细攻略 目录
Vanna的简介
1、用户界面
2、RAG vs. Fine-Tuning
3、为什么选择Vanna#xff1f;
4、扩展Vanna
Vanna的安装和使用方法
1、安装
2、训练
(1)、使用…LLMs之VannaVanna(利用自然语言查询数据库的SQL工具底层基于RAG)的简介、安装、使用方法之详细攻略 目录
Vanna的简介
1、用户界面
2、RAG vs. Fine-Tuning
3、为什么选择Vanna
4、扩展Vanna
Vanna的安装和使用方法
1、安装
2、训练
(1)、使用DDL语句训练
(2)、使用文档训练
(3)、使用SQL训练
3、提问问题
Vanna的应用案例
1、基础用法 Vanna的简介 Vanna是一个基于MIT许可的开源Python RAG检索增强生成框架用于SQL生成和相关功能。
Vanna的工作原理分为两个简单步骤在您的数据上训练一个RAG“模型”然后提问问题这将返回可以设置自动在您的数据库上运行的SQL查询。 在您的数据上训练一个RAG“模型”。 提问问题。 如果您不知道什么是RAG不用担心 - 您不需要知道在底层如何工作就能使用它。您只需要知道您需要“训练”一个模型它会存储一些元数据然后用它来“提问”问题。
查看基类以获取有关底层工作原理的更多详细信息。
Vanna.AI是一个基于语言模型的SQL代理允许用户通过简单的自然语言问题获得数据库中的洞察信息。它提供开源的Python包以及各种前端集成方式可以部署在自己的基础设施上运行。 系统的准确性取决于提供的训练数据量和质量更多的数据可以支持复杂数据集提高准确率。 用户数据库内容不会发送到语言模型只有架构、文档和查询信息存储在元数据层中从保障数据安全性。 使用越多模型通过不断增加训练数据会持续提升实现自我学习效果。 支持许多常见数据库如Snowflake、BigQuery、Postgres也可以通过连接器支持任意数据库。 提供免费版和付费版两种计划区别在于查询限制和语言模型版本的不同。 该系统强调以开源方式提供保障数据安全并支持定制化部署是其一大卖点。
GitHub地址https://github.com/vanna-ai/vanna
文档地址Vanna Docs: How It Works 1、用户界面
这是我们使用Vanna构建的一些用户界面。您可以直接使用它们或将它们作为自定义界面的起点。 2、RAG vs. Fine-Tuning RAG 微调 可在LLMs之间移植 如果数据变得过时可以轻松删除训练数据 比微调更便宜 更具未来性 - 如果有更好的LLM出现可以轻松替换 如果需要最小化提示中的标记可以选择微调 启动较慢 训练和运行费用昂贵一般情况下 3、为什么选择Vanna 在复杂数据集上具有高准确性 Vanna的能力与您提供的训练数据密切相关。 更多的训练数据对于大型和复杂数据集的准确性更有帮助。 安全和私密 您的数据库内容永远不会发送到LLM或向量数据库。 SQL执行发生在您的本地环境中。 自学习 如果通过Jupyter使用您可以选择在成功执行的查询上“自动训练”它。 如果通过其他界面使用您可以要求界面提示用户对结果提供反馈。 正确的问题和SQL对存储供将来参考使未来的结果更准确。 支持任何SQL数据库 该软件包允许您连接到您可以使用Python连接的任何SQL数据库。 选择您的前端 大多数人从Jupyter Notebook开始。 通过Slackbot、Web应用程序、Streamlit应用程序或自定义前端向最终用户公开。 4、扩展Vanna
Vanna旨在连接到任何数据库、LLM和向量数据库。有一个VannaBase抽象基类定义了一些基本功能。该软件包提供了与OpenAI和ChromaDB一起使用的实现。您可以轻松扩展Vanna以使用自己的LLM或向量数据库。详细信息请参阅文档。 Vanna的安装和使用方法
查看文档以获取有关您所需数据库、LLM等的具体信息。
如果您想在训练后了解其工作方式可以尝试此Colab笔记本。 1、安装
pip install vanna
有一些可选包可以安装详细信息请参阅文档。导入
如果您要自定义LLM或向量数据库请参阅文档。
import vanna as vn 2、训练
根据您的用例您可能需要或不需要运行这些vn.train命令。详细信息请参阅文档。 (1)、使用DDL语句训练
DDL语句包含有关数据库中表名、列、数据类型和关系的信息。
vn.train(ddlCREATE TABLE IF NOT EXISTS my-table (id INT PRIMARY KEY,name VARCHAR(100),age INT)
) (2)、使用文档训练
有时您可能希望添加关于业务术语或定义的文档。
vn.train(documentationOur business defines XYZ as ...) (3)、使用SQL训练
您还可以将SQL查询添加到训练数据中。如果您已经有一些查询可用只需从编辑器中复制并粘贴它们即可开始生成新的SQL。
vn.train(sqlSELECT name, age FROM my-table WHERE name John Doe) 3、提问问题
vn.ask(What are the top 10 customers by sales?)
您将得到SQL查询结果以及连接到数据库时的表格和自动生成的Plotly图表。 Vanna的应用案例
更新中…… 1、基础用法
!pip install vanna
import vanna
from vanna.remote import VannaDefault
vn VannaDefault(modelchinook, api_keyvanna.get_api_key(my-emailexample.com))
vn.connect_to_sqlite(https://vanna.ai/Chinook.sqlite)
vn.ask(What are the top 10 artists by sales?)from vanna.flask import VannaFlaskApp
VannaFlaskApp(vn).run()