Vannaは、MITライセンスのオープンソースPython RAG(検索拡張生成)フレームワークで、SQL生成および関連機能に特化しています。このプロジェクトにより、ユーザーは自然言語でSQLデータベースと対話し、正確なテキストからSQLクエリの生成を実現できます。
GitHubアドレス: https://github.com/vanna-ai/vanna
Vannaは、検索拡張生成(RAG)技術に基づいており、ワークフローは次の2つの簡単なステップに分かれています。
さまざまな主要データベースをサポートします。
pip install vanna
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-...'})
モデルは、さまざまな方法でトレーニングできます。
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は、さまざまなユーザーインターフェースを提供します。
Vannaはモジュール設計を採用しており、抽象基底クラスVannaBaseに基づいて、さまざまなものを簡単に拡張して使用できます。
Vanna.aiは、強力で使いやすいテキストからSQLへのフレームワークであり、RAGテクノロジーと大規模言語モデルの組み合わせにより、誰でも自然言語でデータベースと対話できます。データアナリスト、開発者、ビジネスユーザーのいずれであっても、このツールから恩恵を受け、データクエリと分析の効率を大幅に向上させることができます。