首页 > 数据库 > 数据库开发技术 > AI好物推荐:与 SQL 数据库聊天
Vanna基于开源Python框架,可以使用多种方式(DDL Statements/文档/SQL 语句)训练你的数据库,然后就可以直接使用自然语言方式问问题,输出非常准确的 SQL 语句。使用检索增强生成(RAG)技术进行SQL生成和相关功能。其主要特点是通过与SQL数据库的交互,准确地通过大型语言模型(LLM)生成SQL查询。
GitHub:https://github.com/vanna-ai/vanna
pip install vanna
import vanna as vn
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?")
得到如下 SQL
SELECT c.c_name as customer_name,
sum(l.l_extendedprice * (1 - l.l_discount)) as total_sales
FROM snowflake_sample_data.tpch_sf1.lineitem l join snowflake_sample_data.tpch_sf1.orders o
ON l.l_orderkey = o.o_orderkey join snowflake_sample_data.tpch_sf1.customer c
ON o.o_custkey = c.c_custkey
GROUP BY customer_name
ORDER BY total_sales desc limit 10;
原文作者:HelloTech技术派;如有侵权,请联系管理员删除。