PandasAI 3.0目前处于测试阶段。本文档反映了最新特性和功能,这些内容在正式发布前可能会有所变化。

安装指南

PandasAI 需要 Python 版本 3.8+ <3.12。我们推荐使用 Poetry 进行依赖管理:

# Using poetry (recommended)
poetry add "pandasai>=3.0.0b2"

# Alternative: using pip
pip install "pandasai>=3.0.0b2"

快速设置

要使用PandasAI,您需要一个大型语言模型(LLM)。虽然可以使用任何LLM,但本指南中我们将使用BambooLLM。 您可以通过注册app.pandabi.ai获取免费API密钥,该密钥既可使用数据平台,又能获得BambooLLM积分。

首先,导入PandasAI并设置您的API密钥:

import pandasai as pai

# Get your API key from https://app.pandabi.ai
pai.api_key.set("YOUR_PANDABI_API_KEY")

与您的数据对话

import pandasai as pai

# Load your data
df = pai.read_csv("data/companies.csv")

response = df.chat("What is the average revenue by region?")
print(response)

当你提出问题时,PandasAI会利用LLM生成答案并输出响应。 根据问题的不同,它可能返回多种类型的响应:

  • 字符串
  • 数据框
  • 图表
  • 数字

了解更多关于输出数据格式的信息 here

创建你的第一个数据层

1. 定义数据源

首先创建一个描述数据集的数据模式:

import pandasai as pai

# Load your data
df = pai.read_csv("data/companies.csv")

# Create the data layer
companies = pai.create(
  path="my-org/companies",
  df=df,
  description="Customer companies dataset"
)

该数据集将保存在您项目的datasets/my-org/companies文件夹中。

2. 定义您的数据集结构

默认情况下,列将从数据中自动推断。如需更精确控制,您可以定义显式的列模式:

# Define a companies dataset with explicit schema
companies = pai.create(
  path="my-org/companies",
  df=df,
  description="Customer companies dataset",
  columns=[
    {
      "name": "company_name",
      "type": "string",
      "description": "The name of the company"
    },
    {
      "name": "revenue",
      "type": "float",
      "description": "The revenue of the company"
    },
    {
      "name": "region",
      "type": "string",
      "description": "The region of the company"
    }
  ]
)

3. 加载并查询数据

定义完成后,您可以轻松加载和查询数据集:

# Load existing datasets
stocks = pai.load("organization/coca_cola_stock")
companies = pai.load("organization/companies")

# Query using natural language
response = stocks.chat("What is the volatility of the Coca Cola stock?")
response = companies.chat("What is the average revenue by region?")

# Query using multiple datasets 
result = pai.chat("Compare the revenue between Coca Cola and Apple", stocks, companies)

共享与协作

与您的团队共享数据层:

# Push datasets to the platform
stocks.push()
companies.push()

团队成员随后可以通过以下方式访问和查询共享数据集:

  • 网页界面位于 app.pandabi.ai
  • 他们自己的PandasAI代码使用 pai.load("organization/dataset-name")

当然,他们只能查看自己有权限访问的数据集。您可以通过权限管理功能来控制访问权限。

后续步骤