Community연구 & 데이터 분석github.com

vanna-ai/vanna

오픈소스 AI SQL 에이전트. 스키마에 RAG 모델을 학습시키고 자연어 질문을 던져 즉시 데이터 결과를 얻으세요.

vanna란 무엇인가요?

vanna-ai/vanna는 오픈소스 AI SQL 에이전트로, 사용자가 데이터베이스 스키마에 대해 RAG(Retrieval-Augmented Generation) 모델을 학습시킨 후 자연어로 질문하면 해당 질문을 SQL 쿼리로 변환하여 실행하고 결과를 반환합니다. 이 도구는 복잡한 SQL 문법을 몰라도 데이터를 쉽게 탐색하고 분석할 수 있게 해주며, 데이터 분석가와 개발자 모두에게 유용합니다. 주요 플랫폼으로는 Jupyter 노트북, Streamlit 앱, Flask 웹 서비스 등과 통합 가능하며, 지원되는 데이터베이스로는 PostgreSQL, MySQL, SQLite, BigQuery, Snowflake 등이 있습니다. 사용자는 간단한 Python 코드로 vanna를 설정하고, DDL, 문서, SQL 쿼리 등으로 모델을 학습시킨 후 질문을 던지면 즉시 SQL과 결과를 얻을 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add vanna-ai/vanna

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

vanna은(는) 무엇을 하나요?

오픈소스 AI SQL 에이전트. 스키마에 RAG 모델을 학습시키고 자연어 질문을 던져 즉시 데이터 결과를 얻으세요.

개요

vanna-ai/vanna는 데이터베이스와 자연어 인터페이스를 제공하는 오픈소스 라이브러리입니다. RAG(Retrieval-Augmented Generation) 접근 방식을 사용하여 사용자의 질문을 SQL 쿼리로 변환하고, 데이터베이스에서 결과를 가져옵니다.

주요 기능

  • 자연어 질문을 SQL로 변환: "지난달 판매량 상위 10개 제품은?" 같은 질문을 SQL 쿼리로 자동 변환
  • 스키마 학습: 데이터베이스 스키마(DDL), 문서, 예제 SQL 쿼리로 모델 학습
  • 다중 데이터베이스 지원: PostgreSQL, MySQL, SQLite, BigQuery, Snowflake 등
  • 프레임워크 통합: Jupyter, Streamlit, Flask, Slack 봇 등
  • 커스터마이징 가능: 자신의 LLM, 임베딩 모델, 벡터 데이터베이스 사용 가능

사용 방법

import vanna

# Vanna 초기화
vn = vanna.Vanna()

# 데이터베이스 연결
vn.connect_to_postgresql(
    host='localhost',
    dbname='mydb',
    user='myuser',
    password='mypassword',
    port=5432
)

# 모델 학습
vn.train(ddl="""
    CREATE TABLE orders (
        id INT PRIMARY KEY,
        customer_id INT,
        order_date DATE,
        total_amount DECIMAL
    );
""")

# 질문하기
answer = vn.ask("지난주 주문 건수는?")
print(answer)

지원 플랫폼

플랫폼설명
Jupyter노트북에서 대화형 사용
Streamlit웹 UI 생성
FlaskREST API 서비스
Slack슬랙 봇 통합

환경 변수

  • VANNA_API_KEY: Vanna API 키 (선택 사항)
  • OPENAI_API_KEY: OpenAI API 키 (기본 LLM)
  • DATABASE_URL: 데이터베이스 연결 문자열

라이선스

MIT 라이선스

더 알아보기

관련 스킬