用自然语言查询你的 SQL 数据库

Vanna 是一个开源的 Python RAG(检索增强生成)框架,用于 SQL 生成和其他相关功能。它使用大型语言模型(LLM)来实现准确的文本到 SQL 生成。

用自然语言查询你的 SQL 数据库

Vanna 的工作原理:

1.在你的数据上训练一个 RAG “模型”。2.提出问题,Vanna 会返回 SQL 查询,这些查询可以被设置为自动运行在你的数据库上。

用户界面:

Vanna 提供了多种用户界面,例如 Jupyter Notebook、Streamlit、Flask 和 Slack,方便你使用。

安装:

pip install vanna

使用示例:

from vanna.openai.openai_chat import OpenAI_Chatfrom 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-...'})

训练:

使用 DDL 语句进行训练,例如:

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 ...")

使用 SQL 查询进行训练,例如:

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

提问:

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

Vanna 的优势:

•高精度:在复杂数据集上表现出色。•安全和私密:你的数据库内容不会被发送到 LLM 或向量数据库。•自学习:可以根据成功执行的查询进行自动训练。•支持任何 SQL 数据库。•可扩展性强:可以轻松扩展到使用自定义的 LLM 或向量数据库。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90786.html

(0)
guozi's avatarguozi
上一篇 2024年6月7日 上午11:07
下一篇 2024年6月7日 上午11:08

相关推荐

  • 北京网站推广的最佳实践方法

    你是否想知道如何让自己的网站在北京地区脱颖而出,吸引更多的流量和客户?网站推广就是解决这一问题的最佳方法。但是,什么是网站推广?如何才能做到最佳实践呢?今天,我将为您介绍北京网站推…

    行业资讯 2024年4月8日
    0
  • 企业网站被攻击 网警,现在单位网站信息被攻击了

    针对企业网站的非法攻击手段多种多样。这包括但不限于SQL 注入、跨站脚本攻击(XSS)、DDoS 攻击和文件上传漏洞。黑客可以利用这些漏洞从您的网站获取敏感信息或对您的网站造成直接…

    行业资讯 2024年5月12日
    0
  • 手机网站空间

    随着移动互联网的不断发展,手机网站空间成为了一个备受关注的话题。在这个信息爆炸的时代,每个人都有可能拥有自己的手机网站,但是如何选择适合自己的手机网站空间却是一个需要认真考虑的问题…

    行业资讯 2024年4月7日
    0
  • 网址被攻击,网站被攻击是什么意思

    涉及用户隐私和重要数据的部分必须进行加密。这确保即使您的数据被黑客窃取,也无法轻易解密。同时传输数据时应采用HTTPS协议,保证数据在传输过程中不被窃取。 4.定期备份数据 定期备…

    行业资讯 2024年5月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注