You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实例化PandasAI触发TypeError:无法实例化含抽象方法chat的抽象类

解决PandasAI实例化抽象类错误的方案

错误原因

在pandasAI的v2及以上版本中,PandasAI被定义为抽象基类,包含未实现的抽象方法chat,因此无法直接实例化该类,执行pandas_ai = PandasAI(llm)会触发TypeError。

解决方案

方案一:适配新版本API(推荐)

新版本推荐使用SmartDataframe类替代原PandasAI的用法,修改后的完整代码如下:

import pandas as pd
from pandasai import SmartDataframe
from pandasai.llm.openai import OpenAI

df = pd.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
    "gdp": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064],
    "happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12]
})

OPENAI_API_KEY = "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"
llm = OpenAI(api_token=OPENAI_API_KEY)

# 使用SmartDataframe替代PandasAI
sdf = SmartDataframe(df, config={"llm": llm})
result = sdf.chat('Which are the 5 happiest countries?')
print(result)

方案二:降级到旧版本

如果需要保留原代码结构,可以将pandasAI降级到v1.x版本,执行以下命令:

pip install pandasai==1.5.0

降级完成后,原代码即可正常运行。

内容的提问来源于stack exchange,提问作者Chitta Ranjan Behera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 02:06:33