Vanna는 MIT 오픈 소스 라이선스의 Python RAG(검색 증강 생성) 프레임워크로, SQL 생성 및 관련 기능에 특화되어 있습니다. 이 프로젝트를 통해 사용자는 자연어를 사용하여 SQL 데이터베이스와 대화하고, 정확한 텍스트-SQL 쿼리 생성을 구현할 수 있습니다.
GitHub 주소: https://github.com/vanna-ai/vanna
Vanna는 검색 증강 생성(RAG) 기술을 기반으로 하며, 워크플로우는 두 가지 간단한 단계로 나뉩니다.
다양한 주요 데이터베이스를 지원합니다.
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 기술과 대규모 언어 모델의 결합을 통해 누구나 자연어로 데이터베이스와 상호 작용할 수 있도록 합니다. 데이터 분석가, 개발자 또는 비즈니스 사용자 모두 이 도구의 이점을 누릴 수 있으며, 데이터 쿼리 및 분석 효율성을 크게 향상시킬 수 있습니다.