sinaptik-ai/pandas-aiPlease refer to the latest official releases for information GitHub Homepage
自然言語でデータベースやデータレイクと対話できる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()
使用シナリオ
適用対象者
- 非技術者: SQLやPythonを学ぶことなくデータを分析
- データアナリスト: データの迅速な探索と分析
- 開発者: 既存のアプリケーションへの統合
- 企業ユーザー: 社内データ分析ツールの構築
典型的なアプリケーション
- ビジネスインテリジェンス分析
- データ探索と可視化
- レポート生成
- 教育およびトレーニング
- プロトタイプ開発
技術アーキテクチャ
コアコンポーネント
- 自然言語処理: ユーザーのクエリ意図を理解
- コード生成: 自然言語を実行可能なコードに変換
- 安全な実行: サンドボックス環境での安全なコード実行
- 結果の表示: クエリ結果の整形と表示
拡張性
- 複数のLLMバックエンドをサポート
- カスタマイズ可能なデータコネクタ
- プラグインアーキテクチャによる容易な拡張
まとめ
PandasAIは、自然言語処理とLLM技術を通じてデータ分析の技術的障壁を大幅に低減し、データ分析分野における重要な革新を象徴しています。個人ユーザーのデータ探索だけでなく、企業がインテリジェントなデータ分析プラットフォームを構築するのにも適しています。AI技術の継続的な発展に伴い、このようなツールはデータ駆動型意思決定においてますます重要な役割を果たすでしょう。