0


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

文章目录

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 类,可以根据需要扩展该类来修改响应输出。
标签: 人工智能

本文转载自: https://blog.csdn.net/Tracycoder/article/details/137697365
版权归原作者 TracyCoder123 所有, 如有侵权,请联系我们删除。

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

还没有评论