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技术的不断发展,这类工具将在数据驱动的决策中发挥越来越重要的作用。