PandasAI使用
一、背景
PandasAI 是一个创新的Python库,它将生成式人工智能的能力融入到了广受欢迎的数据处理库 pandas 中,从而使得与数据框(DataFrames)的交互变得更加自然和强大。通过PandasAI,用户可以用自然语言提出关于数据的问题、请求数据探索、清理及分析操作,而无需编写传统的Python代码或手动在Excel、CSV表格中进行查找。
二、安装方法
With pip
pip install pandasai
With poetry
poetry add pandasai
三、使用方法
简单示例
import pandas as pd
from pandasai.llm.openai import OpenAI
from pandasai import Agent
# 示例表格
sales_by_country = pd.DataFrame({"国家": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],"GDP": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064],"幸福度": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12]
})
llm = OpenAI(api_token="YOUR_API_TOKEN")
agent = Agent(dfs = [sales_by_country],config={'llm':llm } )
ans = agent.chat('哪五个国家GDP最高的?')
print(ans)
配置Agent
在初始化Agent的时候,还可以进行如下自定义配置
agent_config = {'llm':llm, #具体使用的大模型'verbose': True, #控制是否在屏幕上输出全部Pandasai日志"enable_cache": False, #是否启用缓存"data_viz_library" : 'pyecharts', #设置使用的画图库,默认为matplot"open_charts": False, #画图后是否直接展示"save_charts": True, #是否保存图片到本地 'max_retries': 1, #控制代码出错后重试的最大次数'save_charts_path':f'exports/charts/temp_chart.png', #控制图片存储路径"custom_whitelisted_dependencies": ['matplotlib','pyecharts','json','numpy','collections','re'],#控制用户希望使用到的python库'dataframe_serializer':DataframeSerializerType.CSV, #控制以何种格式向模型展示表格
}
agent = Agent(dfs = [df],config = agent_config,
)
四、其他大模型
# BambooLLM
from pandasai.llm import BambooLLM
llm = BambooLLM(api_key="my-bamboo-api-key")
#谷歌 PaLM
from pandasai.llm import GooglePalm
llm = GooglePalm(api_key="my-google-cloud-api-key")
#谷歌 Vertexai
'''
为了通过 Vertexai api 使用 Google PaLM 模型,您需要具备:
Google Cloud 项目
项目设置区域
安装可选依赖项google-cloud-aiplatform
认证gcloud
'''
from pandasai.llm import GoogleVertexAI
llm = GoogleVertexAI(project_id="generative-ai-training",location="us-central1",model="text-bison@001")
#Azure OpenAI
from pandasai.llm import AzureOpenAI
llm = AzureOpenAI(api_token="my-azure-openai-api-key",azure_endpoint="my-azure-openai-api-endpoint",api_version="2023-05-15",deployment_name="my-deployment-name"
)
#HuggingFace 模型
from pandasai import SmartDataframe
llm = HuggingFaceTextGen( inference_server_url="******")
实例:
pandas_ai.run(df, prompt='Plot the bar chart of type of media for each year release, using different colors.')