简介

Vanna 一款开源的 Python 框架,它利用检索增强生成(RAG)技术,将自然语言转换为精准的 SQL 查询。

How Vanna works

安装使用

安装

  1. 安装 Vanna

    1
    pip install vanna
  2. 导入 Vanna 根据使用的 LLM 和向量数据库,导入相应的模块。例如,使用 OpenAI 和 ChromaDB:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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-...'})
  3. 训练 Vanna 根据需要,使用 DDL 语句、文档或 SQL 语句来训练 Vanna:

    1
    2
    3
    vn.train(ddl="CREATE TABLE IF NOT EXISTS my-table (...)")
    vn.train(documentation="Our business defines XYZ as ...")
    vn.train(sql="SELECT * FROM my-table WHERE ...")
  4. 提问并获取 SQL 使用 Vanna 提出问题,获取相应的 SQL 查询语句:

    1
    sql = vn.ask("What are the top 10 customers by sales?")
  5. 执行 SQL 并获取结果将生成的 SQL 语句在数据库上执行,获取结果。如果连接了数据库,Vanna 还可以自动返回表格和图表。

资源列表

参考文章