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