![[BUG] Memory Rag Storage Issue](https://www.chat-gpts.plus/wp-content/uploads/2026/07/1669-60999233.jpg)
[BUG] Memory Rag Storage Issue
快速结论:该报错通常在使用 CrewAI 设置 memory=True 并搭配 Azure OpenAI 等外部嵌入服务时触发。优先检查 embedder_config 中的参数命名是否正确(例如 deployment_id 应替换为 model)。
问题场景
用户在 CrewAI 的 Crew 类中启用 memory=True 以使用短期记忆和实体记忆功能时触发。问题可复现于:
- 默认 Crew 配置,仅设置
memory=True - 使用 Azure OpenAI 嵌入服务并自定义
embedder_config - CrewAI 版本 0.83.0 至 0.86.0
报错原文
ERROR: Error during short_term save: APIStatusError.__init__() missing 2 required keyword-only arguments: 'response' and 'body'
ERROR: Error during entities save: APIStatusError.__init__() missing 2 required keyword-only arguments: 'response' and 'body'
ERROR: Error during short_term search: APIStatusError.__init__() missing 2 required keyword-only arguments: 'response' and 'body'
ERROR: Error during entities search: APIStatusError.__init__() missing 2 required keyword-only arguments: 'response' and 'body'
原因分析
可能原因:APIStatusError 构造函数的调用方式与 OpenAPI 客户端新版本不兼容,内部缺少 response 和 body 关键字参数。综合社区反馈,本错误与 embedder_config 的键名错误高度相关——当使用 Azure OpenAI 嵌入服务时,若将配置键误写为 deployment_id 而非正确的 model,将导致嵌入调用失败并触发该异常。
环境排查
- 确认 CrewAI 版本(报错版本 0.83.0–0.86.0)
- 确认 Python 版本(报错环境包括 3.10、3.12.6、3.12.8)
- 若使用 Azure OpenAI,检查
embedder_config中的键名是否遵循 OpenAI SDK 规范 - 检查操作系统:Ubuntu 20.04 / Windows 11 均可复现
解决步骤
- 检查 embedder_config
如果使用 Azure OpenAI 嵌入,请确保配置键名正确。根据社区用户反馈,需将deployment_id改为model,示例如下:
embedder_config = {
"provider": "azure",
"config": {
"api_key": os.getenv("AZURE_OPENAI_API_KEY"),
"api_base": os.getenv("AZURE_OPENAI_ENDPOINT"),
"api_version": os.getenv("AZURE_API_VERSION"),
"model_name": 'text-embedding-ada-002',
"model": os.getenv("AZURE_OPENAI_EMBEDDED_DEPLOYMENT"),
}
}
注意: model 的值应为你在 Azure OpenAI 上部署的名称。
- 不自定义 embedder 时的处理
如果 Crew 定义中未传入embedder参数(仅设置memory=True),可优先尝试升级 CrewAI 至最新版本,或回退至已知稳定的早期版本。 - 确认没有其他第三方库覆盖
openai包中的APIStatusError类(如版本冲突)。
验证方法
重新运行启用 memory=True 的 Crew 任务,观察终端是否不再输出 “Error during short_term save” 或 “Error during entities search” 等错误日志。若错误消失且记忆功能正常,则问题已解决。



