用 PandaAI 做自然语言数据分析:数据源、可视化与自托管部署
PandaAI 是一个基于 Python 的数据分析与自然语言处理工具,提供类似 ChatGPT 的问答式数据分析接口,也可以生成报告。核心组件包括基于 Pandas 的数据准备层,以及实现 Text2SQL 功能的自然语言接口。
- 在线体验:
- 官方文档:PandaAI v3 文档
数据源
PandaAI 支持连接文件、数据库以及大数据平台,包括:
Excel、CSV、MySQL、PostgreSQL、Oracle、Microsoft SQL Server、Databricks、Redshift、Snowflake、ClickHouse、Supabase、BigQuery、Salesforce 等。
自然语言查询
用户可以直接用自然语言提问,例如“GDP 排名前五的国家是哪些?”,PandaAI 会自动把问题转成 Python 代码或 SQL 查询,并返回结果。
可视化面板
PandaAI 支持生成柱状图、饼图、折线图等多种图表和分析报告,通过简单指令即可实现数据可视化,无需手动编写绘图代码。
团队分享
PandaAI 带有用户权限管理,查询结果可以分享给业务团队或其他数据团队成员。
大语言模型支持
PandaAI 通过 LiteLLM 模型接口接入各种大语言模型,包括 OpenAI、Azure、Anthropic、Google、AWS、Hugging Face 等,默认使用 BambooLLM。
快速体验
在线平台
在线体验平台为 PandaBI,访问:
用邮箱注册免费账号后登录。开始提问前需要配置数据源:
- 左侧的 “Datasets” 用于导入文件;
- “Connectors” 用于连接数据库;
- “API Keys” 用于生成 API 调用密钥,自行安装部署时会用到。
导入一份员工信息 CSV 文件后,可以直接提问“月薪最高的 5 名员工?”。
pip 安装
自行安装时,通过 pip 安装 pandasai:
pip install "pandasai>=3.0.0b2"
最小示例
安装后,用 PandaAI 回答问题:
import pandasai as pai
# Sample DataFrame
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]
})
# By default, unless you choose a different LLM, it will use BambooLLM.
# You can get your free API key signing up at https://app.pandabi.ai
# (you can also configure it in your .env file)
pai.api_key.set("your-pai-api-key")
df.chat('Which are the top 5 countries by sales?')
返回结果:
China, United States, Japan, Germany, Australia
生成可视化图表:
df.chat(
"Plot the histogram of countries showing for each one the gdp. Use different colors for each bar",
)
进一步使用可参考官方文档: