[BUG] Memory Rag Storage Issue

用户在 CrewAI 的 Crew 类中启用 memory=True 以使用短期记忆和实体记忆功能时触发。问题可复现于:

[BUG] Memory Rag Storage Issue

[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 客户端新版本不兼容,内部缺少 responsebody 关键字参数。综合社区反馈,本错误与 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 均可复现

解决步骤

  1. 检查 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 上部署的名称。

  1. 不自定义 embedder 时的处理
    如果 Crew 定义中未传入 embedder 参数(仅设置 memory=True),可优先尝试升级 CrewAI 至最新版本,或回退至已知稳定的早期版本。
  2. 确认没有其他第三方库覆盖 openai 包中的 APIStatusError 类(如版本冲突)。

验证方法

重新运行启用 memory=True 的 Crew 任务,观察终端是否不再输出 “Error during short_term save” 或 “Error during entities search” 等错误日志。若错误消失且记忆功能正常,则问题已解决。

参考来源

crewAIInc/crewAI #1669

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 11359

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注