尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

PandasAI 的 LLM 扩展怎么选:pandasai-openai 还是 pandasai-litellm?

PandasAI 的 LLM 扩展怎么选:pandasai-openai 还是 pandasai-litellm? PandasAI 的 LLM 扩展怎么选pandasai-openai 还是 pandasai-litellm【免费下载链接】pandas-aiChat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG.项目地址: https://gitcode.com/GitHub_Trending/pa/pandas-aiPandasAI 本身不带 LLM你必须安装一个对应的 LLM 扩展再通过pai.config.set()配置后.chat()才能用自然语言查询数据。官方提供了两个 LLM 扩展pandasai-openai直连 OpenAI / Azure OpenAI和pandasai-litellm通过 LiteLLM 的统一接口调用多家提供商。这篇文章给出两者的安装、配置、验证和切换方法并基于 LLM 文档 与两个扩展的源码说明什么情况下选哪一个。准备条件两条路径的共同前置来自 安装与快速开始文档Python 版本要求3.8 3.11先安装 PandasAI 本体# Using poetry (recommended) poetry add pandasai # Alternative: using pip pip install pandasai准备好对应提供商的 API keyOpenAI key 或目标提供商的 key这是两个扩展都必需的前提。两个扩展怎么选先看四个事实差异判断点pandasai-openaipandasai-litellm覆盖范围仅 OpenAI 与 Azure OpenAILiteLLM 统一接口文档称支持 100 模型覆盖 OpenAI、Azure OpenAI、Anthropic、Google、AWSBedrock、SageMaker、Mistral、Cohere、Hugging Face 等模型名处理有内置支持列表不在列表内的模型名在实例化时抛UnsupportedModelError模型名直接透传给litellm.completion()由 LiteLLM 解析API key 处理参数api_token或环境变量OPENAI_API_KEY缺失时抛APIKeyNotFoundError构造参数api_key或事先设置环境变量如OPENAI_API_KEY缺失时由 LiteLLM 抛AuthenticationError确定性控制seed参数在 OpenAI 实例上有效AzureOpenAI 实例暂不支持seed只能用temperature0文档未对 LiteLLM 包装层做单独的 seed 说明据此选型结论可以直接落到两类场景只用 OpenAI含 Azure 部署pandasai-openai是官方首选路径模型名受内置列表校验出错信息直接要用 OpenAI 以外的提供商或者以后可能换提供商pandasai-litellm的文档明确说它「makes it easy to switch between different LLM providers without changing your code」——即换提供商只改model名和凭据不改调用代码。路径 A配置 pandasai-openai安装文档给出的两种方式# Using poetry poetry add pandasai-openai # Using pip pip install pandasai-openai配置 OpenAI 直连import pandasai as pai from pandasai_openai import OpenAI llm OpenAI(api_tokenmy-openai-api-key) # 替换为你的 OpenAI API key pai.config.set({llm: llm})api_token可以省略此时 OpenAI 类 会回退读取环境变量OPENAI_API_KEY两者都没有时抛APIKeyNotFoundError(OpenAI API key is required)。默认模型为gpt-4.1-mini可通过model参数指定取值必须在该扩展的内置支持列表内包括gpt-4.1、gpt-4.1-nano、gpt-4o、gpt-4o-mini、gpt-4、gpt-3.5-turbo系列等列表外模型名会抛UnsupportedModelError。同一扩展还提供AzureOpenAI类需要你的 Azure endpoint、key 和部署名import pandasai as pai from pandasai_openai import AzureOpenAI llm AzureOpenAI(api_basehttps://your-endpoint.openai.azure.com/, api_keymy-azure-openai-api-key, deployment_nametext-davinci-003) # The name of your deployed model pai.config.set({llm: llm})其中your-endpoint需替换为你的 Azure 资源地址。注意文档中的确定性限制seed对 OpenAI 实例有效对 AzureOpenAI 实例尚不可用Azure 侧只能靠temperature0降低随机性。路径 B配置 pandasai-litellm安装# Using poetry poetry add pandasai-litellm # Using pip pip install pandasai-litellm用 OpenAI 模型时的配置与文档一致的两种凭据写法import pandasai as pai from pandasai_litellm.litellm import LiteLLM # 写法一直接把 api_key 传给构造函数 llm LiteLLM(modelgpt-4.1-mini, api_keyYOUR_OPENAI_API_KEY) # 替换为你的 key或者改用环境变量构造时不再传api_keyimport os import pandasai as pai from pandasai_litellm import LiteLLM # Set your API keys as environment variables os.environ[OPENAI_API_KEY] your-openai-api-key os.environ[ANTHROPIC_API_KEY] your-anthropic-api-key # Example with OpenAI llm LiteLLM(modelgpt-4.1-mini) # Example with Anthropic # llm LiteLLM(modelclaude-2) pai.config.set({llm: llm})换提供商时只需改model名并提供对应凭据例如文档示例中的LiteLLM(modelanthropic/claude-3-opus-20240229, api_keyYOUR_ANTHROPIC_API_KEY)。LiteLLM构造函数接受**kwargs会原样透传给litellm.completion()见 包装类实现因此 LiteLLM 支持的参数如temperature都可以按 LiteLLM 的规则传入具体支持范围以 LiteLLM 自身文档为准。验证配置生效两条路径的验证方式相同配置后加载数据发起一次.chat()调用快速开始文档中的示例import pandasai as pai from pandasai_litellm.litellm import LiteLLM llm LiteLLM(modelgpt-4.1-mini, api_keyYOUR_OPENAI_API_KEY) pai.config.set({llm: llm}) df pai.read_csv(data/companies.csv) response df.chat(What is the average revenue by region?) print(response)把pai.read_csv(data/companies.csv)换成你自己的数据文件即可。成功条件是response有返回值根据问题不同PandasAI 会返回 string、dataframe、chart 或 number 四种响应之一。辅助检查手段来自 NL Layer 文档save_logs默认为TrueLLM 的调用日志会保存在项目根目录的pandasai.log文件中verbose默认为False设为True后可在控制台看到执行日志。出错时的判断依据均可在仓库文档与代码中核对pandasai-openai缺少 key 时抛APIKeyNotFoundError(OpenAI API key is required)模型名不在支持列表内时抛UnsupportedModelErrorpandasai-litellm缺少 key 时抛AuthenticationError测试中记录的缺失 key 错误信息为The api_key client option must be set无效 key 时为Incorrect API key provided。从 pandasai-openai 迁移到 pandasai-litellm或反向两个扩展的接入点相同——都是构造一个 LLM 实例并交给pai.config.set({llm: ...})。所以切换时只需要改三处安装目标扩展上面的pip install/poetry add命令替换import和构造函数OpenAI(api_token...)↔LiteLLM(model..., api_key...)pai.config.set()及其余配置项save_logs、verbose、max_retries等默认值分别为True、False、3保持不变。反向迁移从 LiteLLM 回到 pandasai-openai同样成立但要注意一个差异OpenAI 扩展对模型名做内置列表校验如果你原来经 LiteLLM 调用的是列表外的 OpenAI 模型名切换后会抛UnsupportedModelError需要改用列表内名称。需要复现输出时的官方做法适用于 OpenAI 实例pai.config.set({ temperature : 0, seed : 26 })文档同时提醒即使设置了seedOpenAI 侧的模型配置变化也可能影响输出一致性可关注响应中的system_fingerprint字段。边界说明本文覆盖的是 v3 文档large-language-models.mdx描述的接入方式两个扩展的包名、安装命令和配置代码均以该文档及extensions/llms/目录下的源码为准。pandasai-litellm支持哪些具体模型和参数仓库文档只给了提供商清单完整模型列表需查 LiteLLM 官方文档仓库 文档中留有指向链接。【免费下载链接】pandas-aiChat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG.项目地址: https://gitcode.com/GitHub_Trending/pa/pandas-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表