开始使用库
通过安装并使用 SmartDataframe 类开始使用 PandasAI。
安装
要使用 pandasai
,首先安装它:
在安装之前,我们建议您使用您偏好的环境管理器创建一个虚拟环境,例如 Poetry, Pipenv, Conda, Virtualenv, Venv 等。
可选依赖项
为了保持安装包的大小较小,pandasai
默认不包含所有支持的依赖项。您可以通过运行以下命令来安装额外的依赖项:
你可以用以下任意一个替换extra-dependency-name
:
google-ai
: 如果你想使用Google PaLM作为语言模型,这个额外的依赖是必需的。google-sheet
: 如果您想使用Google Sheets作为数据源,则需要此额外依赖项。excel
: 如果你想使用Excel文件作为数据源,则需要这个额外的依赖项。modin
: 如果你想使用Modin数据框作为数据源,则需要此额外依赖项。polars
: 如果你想使用Polars数据框作为数据源,则需要此额外依赖项。langchain
: 如果您想支持LangChain LLMs,则需要此额外依赖项。numpy
: 如果你想支持numpy,这个额外的依赖是必需的。ggplot
: 如果您想支持使用 ggplot 进行绘图,则需要此额外依赖项。seaborn
: 如果您希望支持使用 seaborn 进行绘图,则需要此额外依赖项。plotly
: 如果您想支持使用plotly进行绘图,则需要此额外依赖项。statsmodels
: 如果您想支持statsmodels,则需要此额外依赖项。scikit-learn
: 如果您想支持 scikit-learn,则需要此额外依赖项。streamlit
: 如果你想支持streamlit,这个额外的依赖是必需的。ibm-watsonx-ai
: 如果您想使用IBM watsonx.ai作为语言模型,则需要此额外依赖项
智能数据框架
SmartDataframe
类是 pandasai
的主要类。它用于与单个数据框进行交互。以下是一个简单的示例,帮助您开始使用 pandasai
。
如果你想了解更多关于SmartDataframe
类的内容,请查看这个视频:
如何生成BambooLLM API令牌
为了使用BambooLLM,您需要生成一个API令牌。按照以下简单步骤使用PandaBI生成令牌:
- 前往 https://pandabi.ai 并使用您的电子邮件地址注册或连接您的Google账户。
- 转到设置页面上的API部分。
- 选择创建新的API密钥。
如何生成OpenAI API令牌
为了使用OpenAI语言模型,用户需要生成一个令牌。按照以下简单步骤使用openai生成令牌:
- 前往 https://openai.com/api/ 并使用您的电子邮件地址注册或连接您的谷歌账户。
- 转到个人账户设置左侧的查看API密钥。
- 选择创建新的密钥。
访问OPENAI的API是一项付费服务。您需要设置账单。 在实验之前,请确保阅读了Pricing信息。
为数据框传递名称和描述
有时,为了帮助LLM更好地工作,您可能希望传递数据框的名称和描述。您可以按如下方式操作:
智能数据湖
PandasAI 还支持使用多个数据框进行查询。要执行此类查询,您可以使用 SmartDatalake
而不是 SmartDataframe
。
类似于SmartDataframe
,你可以按如下方式实例化一个SmartDatalake
:
PandasAI 将自动识别与查询相关的数据框,并仅使用这些数据框来回答查询。
代理
虽然SmartDataframe
或SmartDatalake
可以用于回答单个查询,并且旨在用于单个会话和探索性数据分析,但代理可以用于多轮对话。
要实例化一个代理,你可以使用以下代码:
与SmartDataframe
或SmartDatalake
不同,代理将跟踪对话的状态,并能够回答多轮对话。例如:
澄清问题
如果代理没有足够的信息来回答查询,它也将能够提出澄清问题。例如:
这将返回最多3个澄清问题,代理可以询问用户以获取更多信息来回答查询。
解释
代理还能够向用户解释给出的答案。例如:
重述问题
重新表述问题以从模型中获得准确和全面的响应。例如:
配置
要自定义PandasAI的SmartDataframe
,您可以在实例化时传递一个带有特定设置的config
对象,或者修改项目根目录中的pandasai.json
文件。后者作为默认配置,但可以通过在创建时直接在config
对象中指定设置来覆盖。这种方法确保了PandasAI处理数据的灵活性和精确性。
设置:
llm
: 使用的LLM。您可以传递一个LLM的实例或LLM的名称。您可以使用支持的LLM之一。您可以在此找到更多关于LLM的信息herellm_options
: 用于LLM的选项(例如API令牌等)。您可以在此处找到有关设置的更多信息here。save_logs
: 是否保存LLM的日志。默认为True
。您将在项目根目录下的pandasai.log
文件中找到日志。verbose
: 是否在PandasAI执行时在控制台打印日志。默认为False
。enforce_privacy
: 是否强制执行隐私。默认为False
。如果设置为True
,PandasAI 将不会向 LLM 发送任何数据,而只会发送元数据。默认情况下,PandasAI 会发送 5 个经过匿名化的样本以提高结果的准确性。save_charts
: 是否保存由PandasAI生成的图表。默认为False
。您将在项目的根目录或save_charts_path
指定的路径中找到这些图表。save_charts_path
: 保存图表的路径。默认为exports/charts/
。您可以使用此设置来覆盖默认路径。open_charts
: 是否在解析LLM的响应时打开图表。默认为True
。您可以通过将此选项设置为False
来完全禁用图表的显示。enable_cache
: 是否启用缓存。默认为True
。如果设置为True
,PandasAI 将缓存 LLM 的结果以提高响应时间。如果设置为False
,PandasAI 将始终调用 LLM。use_error_correction_framework
: 是否使用错误纠正框架。默认为True
。如果设置为True
,PandasAI 将尝试通过进一步调用 LLM 来纠正 LLM 生成的代码中的错误。如果设置为False
,PandasAI 将不会尝试纠正 LLM 生成的代码中的错误。max_retries
: 使用错误纠正框架时的最大重试次数。默认为3
。您可以使用此设置来覆盖默认的重试次数。custom_whitelisted_dependencies
: 使用的自定义白名单依赖项。默认为{}
。您可以使用此设置来覆盖默认的自定义白名单依赖项。您可以在此处找到更多关于自定义白名单依赖项的信息 here。security
: “security”参数根据具体使用场景允许三个级别:“none”、“standard”和“advanced”。“standard”和“advanced”特别适用于检测用户查询中的恶意意图,并避免执行可能有害的代码。默认情况下,“security”设置为“standard”。安全检查可能会引入更严格的规则,可能会将无害的查询标记为有害。您可以通过在配置中将“security”设置为“none”来停用它。
在Google Colab中的演示
在您的浏览器中试用PandasAI:
其他示例
你可以找到所有其他示例 这里.