LLMs之Vanna:Vanna(利用自然语言查询数据库的SQL工具+底层基于RAG)的简介、安装、使用方法之详细攻略 Vanna的简介Vanna是一个基于MIT许可的开源Python RAG(检索增强生成)框架,用于SQL生成和相关功能。 Vanna的工作原理分为两个简单步骤:在您的数据上训练一个RAG“模型”,然后提问问题,这将返回可以设置自动在您的数据库上运行的SQL查询。 如果您不知道什么是RAG,不用担心 - 您不需要知道在底层如何工作就能使用它。您只需要知道您需要“训练”一个模型,它会存储一些元数据,然后用它来“提问”问题。 查看基类以获取有关底层工作原理的更多详细信息。 Vanna.AI是一个基于语言模型的SQL代理,允许用户通过简单的自然语言问题获得数据库中的洞察信息。它提供开源的Python包以及各种前端集成方式,可以部署在自己的基础设施上运行。 GitHub地址:https://github.com/vanna-ai/vanna 文档地址:Vanna Docs: How It Works 1、用户界面这是我们使用Vanna构建的一些用户界面。您可以直接使用它们,或将它们作为自定义界面的起点。 2、RAG vs. Fine-Tuning
3、为什么选择Vanna?
4、扩展VannaVanna旨在连接到任何数据库、LLM和向量数据库。有一个VannaBase抽象基类定义了一些基本功能。该软件包提供了与OpenAI和ChromaDB一起使用的实现。您可以轻松扩展Vanna以使用自己的LLM或向量数据库。详细信息请参阅文档。 Vanna的安装和使用方法查看文档以获取有关您所需数据库、LLM等的具体信息。 如果您想在训练后了解其工作方式,可以尝试此Colab笔记本。 1、安装
2、训练根据您的用例,您可能需要或不需要运行这些vn.train命令。详细信息请参阅文档。 (1)、使用DDL语句训练DDL语句包含有关数据库中表名、列、数据类型和关系的信息。
(2)、使用文档训练有时您可能希望添加关于业务术语或定义的文档。 vn.train(documentation="Our business defines XYZ as ...") (3)、使用SQL训练您还可以将SQL查询添加到训练数据中。如果您已经有一些查询可用,只需从编辑器中复制并粘贴它们即可开始生成新的SQL。 vn.train(sql="SELECT name, age FROM my-table WHERE name = 'John Doe'") 3、提问问题vn.ask("What are the top 10 customers by sales?") 您将得到SQL查询结果,以及连接到数据库时的表格和自动生成的Plotly图表。 Vanna的应用案例更新中…… 1、基础用法
|
|