PandasAI的应用与实战解析(二):PandasAI使用流程与功能介绍

文章介绍了PandasAI如何通过结合Pandas和生成式LLMs,简化开发人员的数据分析和后端开发过程,包括使用流程、配置文件解析、支持的数据库类型、LLM选项以及其提供的缓存和定制功能。
摘要由CSDN通过智能技术生成

PandasAI这个工具最突出的优点就是通过结合了Pandas和生成式LLMs,极大地为开发人员降低了工作量。

  • 传统的开发调用流程(数据分析相关):
    可以看到,对于开发人员来说实现一个需求需要完成多个步骤。
    在这里插入图片描述

  • 使用PandasAI之后的开发调用流程:
    PandasAI 使用生成式 AI 模型来理解和解释自然语言查询,并将其转换为 python 代码和 SQL 查询。然后,它使用代码与数据进行交互,并将结果返回给用户。可以看到,PandasAI从很大程度上降低了后端开发的工作量。
    在这里插入图片描述

1.使用PandasAI进行开发的流程

在这里插入图片描述

  • 要使用PandasAI进行开发,首先,需要导入数据,可以是非数据库的pandas.DataFrame()或者数据库的connector如MySQLConnector。
  • 然后,声明主类对象,根据数据的不同可以选择单帧数据一次提问的SmartDataFrame、多帧数据一次提问的SmartDatalake或多帧数据多次提问的Agent。
  • 接下来,调用方法进行回答,包括基础问、响应式提问、针对回答进行解释、对用户的查询语句进行优化重组。
  • 最后,返回结果,不仅支持结构化数据返回,还支持图表(如下图所示):

在这里插入图片描述

代码示例如下:

"""Example of using PandasAI with a pandas dataframe"""

from pandasai import SmartDataframe
from pandasai.llm import OpenAI
from pandasai.helpers.openai_info import get_openai_callback


llm = OpenAI(api_token="你的OpenAI Token")

df = SmartDataframe("./data/data.csv", config={"llm": llm, "conversational": False})

with get_openai_callback() as cb:
    response = df.chat("Calculate the sum of the gdp of north american countries")

    print(response)
    print(cb)

2.配置文件解析

  • PandasAI项目的配置文件pandasai.json:
{
  "save_logs": true,
  "verbose": false,
  "enforce_privacy": false,
  "enable_cache": true,
  "use_error_correction_framework": true,
  "max_retries": 3,
  "open_charts": true,
  "save_charts": false,
  "save_charts_path": "exports/charts",
  "custom_whitelisted_dependencies": [],
  "llm": "openai",
  "llm_options": null
}

  • llm:要使用的 LLM。
  • llm_options:用于 LLM 的选项(例如 api 令牌等)。
  • save_logs:是否保存 LLM 的日志。日志存放在项目根目录的Truepandasai.log中。
  • verbose:是否在执行 PandasAI 时在控制台打印日志。
  • enforce_privacy:是否强制执行隐私。默认值为 False,如果设置为True,PandasAI 不会向 LLM 发送任何数据,而只会发送元数据。默认情况下,PandasAI 会发送 5 个匿名样本,以提高结果的准确性。
  • save_charts:是否保存 PandasAI 生成的图表,默认值为True 。可以在项目的根目录或指定的路径中找到图表。
  • save_charts_path:保存图表的路径。
  • open_charts:是否在解析来自 LLM 的响应时打开图表。
  • enable_cache:是否启用缓存。
  • use_error_correction_framework:是否使用纠错框架。
  • max_retries:使用纠错框架时要使用的最大重试次数。
  • custom_whitelisted_dependencies:要使用的自定义白名单依赖。

3.支持的数据库类型

PandasAI支持多种数据库:

在这里插入图片描述

4.支持的LLMs

PandasAI 支持本地模型的使用,尽管通常情况下较小的模型性能可能不够理想。若要使用本地模型,首先需要在一个遵循OpenAI API的本地推理服务器上托管该模型。该作者声称已验证这种方法可在Ollama和LM Studio环境中正常运行。

在这里插入图片描述

5.其他

  • 缓存:
    PandasAI 使用缓存来存储先前查询的结果。这很有用,原因有两个:1)它允许用户快速检索查询结果,而无需等待模型生成响应。2)它减少了对模型的 API 调用次数,从而降低了使用模型的成本。

  • 对响应进行定制:
    PandasAI 提供了以自定义方式处理聊天响应的灵活性。默认情况下,PandasAI 包含一个 ResponseParser 类,可以根据需要扩展该类来修改响应输出。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracyCoder123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值