大型语言模型
PandasAI 支持多种大型语言模型(LLMs),这些模型用于从自然语言查询生成代码。
生成的代码随后被执行以产生结果。
你可以通过实例化并将其传递给SmartDataFrame
或SmartDatalake
构造函数来选择LLM,或者在pandasai.json
配置文件中指定它。
如果模型需要一个或多个参数,您可以将它们传递给构造函数或在pandasai.json
文件中的llm_options
参数中指定它们,以下是如何构建您的pandasai.json
文件的示例:
注意:
pandasai.json
可以为任何LLM进行配置。
使用pandasai.json文件
在这个例子中,data.csv
是你的数据文件,而 pandasai.json 是配置文件。确保配置文件命名为 pandasai.json
并且与你的代码在同一个文件夹中。
BambooLLM
BambooLLM 是由 PandasAI 开发的最先进的语言模型,专为数据分析而设计。它旨在理解和执行与数据分析、数据操作和数据可视化相关的自然语言查询。您可以在 https://pandabi.ai 注册以获取免费的 API 密钥。
作为替代方案,您可以设置PANDASAI_API_KEY
环境变量,并在不传递API密钥的情况下实例化BambooLLM
对象:
OpenAI 模型
为了使用OpenAI模型,您需要拥有一个OpenAI API密钥。您可以在这里获取一个。
一旦你有了API密钥,你就可以用它来实例化一个OpenAI对象:
作为替代方案,您可以设置OPENAI_API_KEY
环境变量,并在不传递API密钥的情况下实例化OpenAI
对象:
如果您位于显式代理后面,可以在实例化OpenAI
对象时指定openai_proxy
,或者设置OPENAI_PROXY
环境变量以通过代理。
计算令牌
你可以按照以下方式计算提示使用的令牌数量:
Google PaLM
为了使用Google PaLM模型,您需要拥有一个Google Cloud API密钥。您可以在这里获取一个。
一旦你有了API密钥,你就可以用它来实例化一个Google PaLM对象:
Google Vertex AI
为了通过Vertexai API使用Google PaLM模型,你需要具备
- 谷歌云项目
- 项目设置区域
- 安装可选的依赖项
google-cloud-aiplatform
- 认证
gcloud
一旦你完成了基本设置,你就可以通过vertex ai来实例化一个Google PaLM:
Azure OpenAI
为了使用Azure OpenAI模型,您需要拥有一个Azure OpenAI API密钥以及一个Azure OpenAI端点。您可以在这里获取。
要实例化一个 Azure OpenAI 对象,您还需要指定在 Azure 上部署的模型的名称和 API 版本:
作为替代方案,您可以设置AZURE_OPENAI_API_KEY
、OPENAI_API_VERSION
和AZURE_OPENAI_ENDPOINT
环境变量,并在不传递它们的情况下实例化Azure OpenAI对象:
如果您位于显式代理后面,可以在实例化AzureOpenAI
对象时指定openai_proxy
,或者设置OPENAI_PROXY
环境变量以通过代理。
通过文本生成的HuggingFace
为了通过text-generation使用HuggingFace模型,您首先需要提供一个支持的大型语言模型(LLM)。 阅读text-generation文档了解更多关于如何设置推理服务器的信息。
这可以用于使用像LLaMa2、CodeLLaMa等模型。你可以找到更多关于文本生成的信息这里。
inference_server_url
是实例化 HuggingFaceTextGen
模型时唯一必需的参数:
LangChain 模型
PandasAI 还内置了对 LangChain 模型的支持。
为了使用LangChain模型,你需要安装langchain
包:
一旦你安装了langchain
包,你就可以用它来实例化一个LangChain对象:
PandasAI 会自动检测到您正在使用 LangChain LLM,并将其转换为 PandasAI LLM。
Amazon Bedrock 模型
为了使用Amazon Bedrock模型,您需要拥有 一个AWS AKSK并获得 模型访问权限。
目前,仅支持Claude 3 Sonnet。
为了使用Bedrock模型,你需要安装bedrock
包。
然后你可以如下使用Bedrock模型
更多创建 bedrock_runtime_client 的方法可以在这里找到。
更多信息
有关LangChain模型的更多信息,请参阅 LangChain文档。
IBM watsonx.ai 模型
为了使用IBM watsonx.ai模型,你需要具备
- IBM Cloud API 密钥
- IBM Cloud 中的 Watson Studio 项目
- 与项目区域相关联的服务URL
API密钥可以在IBM Cloud中创建。
项目ID可以在Watson Studio服务在IBM Cloud中配置后确定。然后可以在项目的管理选项卡中找到ID(Project -> Manage -> General -> Details
)。服务URL取决于配置的服务实例的区域,可以在这里找到。
为了使用watsonx.ai模型,你需要安装ibm-watsonx-ai
包。
目前,watsonx.ai 不支持PandasAI代理。
然后你可以按照以下方式使用watsonx.ai模型
更多信息
有关watsonx.ai SDK的更多信息,您可以阅读更多这里。
本地模型
PandasAI 支持本地模型,尽管较小的模型通常表现不佳。要使用本地模型,首先需要在遵循 OpenAI API 的本地推理服务器上托管一个模型。这已经过测试,可以与 Ollama 和 LM Studio 一起使用。
Ollama
Ollama 的兼容性是实验性的(参见 docs)。
使用Ollama服务器,您可以通过指定模型名称来实例化一个LLM对象:
LM Studio
LM Studio 服务器只托管一个模型,因此你可以在不指定模型名称的情况下实例化一个 LLM 对象: