训练 PandasAI
你可以训练PandasAI以更好地理解你的数据并提高其性能。训练就像在Agent
上调用train
方法一样简单。
有两种训练方式:
- 指令训练
- 问答训练
先决条件
在开始训练PandasAI之前,您需要设置您的PandasAI API密钥。您可以通过在https://pandabi.ai注册来生成您的API密钥。
然后你可以将你的API密钥设置为环境变量:
设置API密钥非常重要,否则会出现以下错误:No vector store provided. Please provide a vector store to train the agent
。
指令训练
指令训练用于教PandasAI如何响应某些查询。您可以提供关于您期望模型如何处理某些类型查询的通用指令,PandasAI将使用这些指令生成对类似查询的响应。
例如,您可能希望LLM知道您公司的财年从四月开始,或者关于您希望处理缺失数据的具体方式。或者,您可能希望教它关于特定于您组织的具体业务规则或数据分析最佳实践。
要使用指令训练PandasAI,你可以在Agent
上使用train
方法,如下所示:
训练默认使用BambooVectorStore
来存储训练数据,并且可以通过API密钥访问。
作为替代方案,如果您想使用本地向量存储(仅限企业用于生产用例),您可以使用ChromaDB
、Qdrant
或Pinecone
向量存储(见下面的示例)。
您的训练数据已持久化,因此您只需训练模型一次。
问答训练
Q/A训练用于教导PandasAI回答特定问题的期望过程,从而提高模型的性能和确定性。大型语言模型(LLMs)面临的最大挑战之一是它们不具有确定性,这意味着同一个问题在不同时间可能会产生不同的答案。Q/A训练可以帮助缓解这个问题。
要使用Q/A训练PandasAI,你可以在Agent
上使用train
方法,如下所示:
同样在这种情况下,您的训练数据会被持久化,因此您只需要训练模型一次。
使用本地向量存储进行训练
如果你想使用本地向量存储来训练模型,你可以使用本地的ChromaDB
、Qdrant
或Pinecone
向量存储。以下是操作方法:
在本地使用向量存储需要企业许可证,(查看详情)。
如果你计划在生产环境中使用它,联系我们。
故障排除
在某些情况下,您可能会遇到这样的错误:No vector store provided. Please provide a vector store to train the agent
。这意味着尚未生成API密钥来使用BambooVectorStore
。
以下是修复方法:
首先,您需要生成一个API密钥(请查看上面的先决条件段落)。 一旦您生成了API密钥,您有两个选择:
- 覆盖环境变量 (
os.environ["PANDASAI_API_KEY"] = "YOUR_PANDASAI_API_KEY"
) - 实例化向量存储并传递API密钥: