Login

자연어와 데이터베이스 및 데이터 레이크를 사용하여 대화하는 Python 플랫폼입니다. LLM 및 RAG 기술을 사용하여 데이터 분석을 대화형으로 만듭니다.

NOASSERTIONPython 20.9ksinaptik-aipandas-ai Last Updated: 2025-07-13

PandasAI 프로젝트 상세 소개

프로젝트 개요

PandasAI는 사용자가 자연어를 사용하여 데이터베이스 및 데이터 레이크와 대화할 수 있도록 하는 혁신적인 Python 플랫폼입니다. Sinaptik-AI 팀이 개발한 이 프로젝트는 사용자의 기술 배경에 관계없이 데이터 분석을 더욱 직관적이고 사용하기 쉽게 만드는 것을 목표로 합니다.

GitHub 주소: https://github.com/Sinaptik-AI/pandas-ai

핵심 기능

1. 자연어 데이터 쿼리

  • 자연어를 사용하여 데이터 관련 질문을 할 수 있습니다.
  • 복잡한 SQL 쿼리나 Python 코드를 작성할 필요가 없습니다.
  • 비기술 사용자 및 기술 사용자 모두에게 적합합니다.

2. 다양한 데이터 소스 지원

  • 데이터베이스: SQL 데이터베이스
  • 파일 형식: CSV, Parquet 파일
  • 데이터프레임: Pandas DataFrame
  • 기타: MongoDB, NoSQL 등

3. LLM 및 RAG 기술 통합

  • 대규모 언어 모델(LLM)을 사용하여 자연어 쿼리를 이해합니다.
  • 검색 증강 생성(RAG) 기술을 채택하여 쿼리 정확도를 높입니다.
  • 기본적으로 BambooLLM을 사용하며, 다른 LLM도 지원합니다.

4. 데이터 시각화

  • 다양한 차트를 자동으로 생성합니다.
  • 히스토그램, 막대 차트 등 다양한 차트 유형을 지원합니다.
  • 차트 스타일 및 색상을 사용자 정의할 수 있습니다.

기술 특징

시스템 요구 사항

  • Python 3.8+ < 3.12
  • Jupyter notebooks 및 Streamlit 애플리케이션 지원
  • 클라이언트-서버 아키텍처 제공

설치 방법

pip를 사용하여 설치:

pip install "pandasai>=3.0.0b2"

poetry를 사용하여 설치:

poetry add "pandasai>=3.0.0b2"

기본 사용 예시

단일 데이터프레임 쿼리

import pandasai as pai

# 예시 데이터프레임 생성
df = pai.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
    "revenue": [5000, 3200, 2900, 4100, 2300, 2100, 2500, 2600, 4500, 7000]
})

# API 키 설정
pai.api_key.set("your-pai-api-key")

# 자연어 쿼리 수행
df.chat('Which are the top 5 countries by sales?')

다중 데이터프레임 조인 쿼리

import pandasai as pai

employees_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'],
    'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance']
}

salaries_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Salary': [5000, 6000, 4500, 7000, 5500]
}

employees_df = pai.DataFrame(employees_data)
salaries_df = pai.DataFrame(salaries_data)

pai.api_key.set("your-pai-api-key")
pai.chat("Who gets paid the most?", employees_df, salaries_df)

차트 생성

df.chat(
    "Plot the histogram of countries showing for each one the gd. Use different colors for each bar",
)

고급 기능

데이터 플랫폼 통합

PandasAI는 강력한 데이터 플랫폼 통합 기능을 제공하여 데이터를 쉽게 업로드하고 공유할 수 있습니다.

import pandasai as pai

pai.api_key.set("your-pai-api-key")
file = pai.read_csv("./filepath.csv")
dataset = pai.create(path="your-organization/dataset-name",
                    df=file,
                    name="dataset-name",
                    description="dataset-description")
dataset.push()

Docker 샌드박스 환경

안전한 코드 실행 환경을 제공하기 위해 PandasAI는 Docker 샌드박스를 지원합니다.

pip install "pandasai-docker"
import pandasai as pai
from pandasai_docker import DockerSandbox

# 샌드박스 초기화
sandbox = DockerSandbox()
sandbox.start()

# 샌드박스에서 쿼리 실행
pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

# 샌드박스 중지
sandbox.stop()

사용 사례

대상 사용자

  1. 비기술 사용자: SQL 또는 Python 학습 없이 데이터 분석 가능
  2. 데이터 분석가: 데이터의 빠른 탐색 및 분석
  3. 개발자: 기존 애플리케이션에 통합
  4. 기업 사용자: 내부 데이터 분석 도구 구축

일반적인 응용 분야

  • 비즈니스 인텔리전스 분석
  • 데이터 탐색 및 시각화
  • 보고서 생성
  • 교육 및 훈련
  • 프로토타입 개발

기술 아키텍처

핵심 구성 요소

  • 자연어 처리: 사용자 쿼리 의도 이해
  • 코드 생성: 자연어를 실행 가능한 코드로 변환
  • 안전한 실행: 샌드박스 환경에서 코드 안전하게 실행
  • 결과 표시: 쿼리 결과 형식화 및 표시

확장성

  • 다양한 LLM 백엔드 지원
  • 사용자 정의 데이터 커넥터 가능
  • 플러그인 아키텍처로 쉬운 확장

요약

PandasAI는 자연어 처리 및 LLM 기술을 통해 데이터 분석의 기술 장벽을 크게 낮춤으로써 데이터 분석 분야의 중요한 혁신을 대표합니다. 이는 개인 사용자의 데이터 탐색뿐만 아니라 기업이 지능형 데이터 분석 플랫폼을 구축하는 데에도 적합합니다. AI 기술의 지속적인 발전과 함께 이러한 도구는 데이터 기반 의사 결정에서 점점 더 중요한 역할을 할 것입니다.

Star History Chart