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 技術的不斷發展,這類工具將在資料驅動的決策中發揮越來越重要的作用。