文档索引
获取完整文档索引: https://docs.crewai.com.cn/llms.txt
在深入了解之前,请使用此文件来浏览所有可用页面。
概述
CrewAI 会定期发布新功能。本指南将引导您完成保持安装版本更新的实用步骤——涵盖 CLI 和项目的虚拟环境。 如果您是首次安装,请参阅安装。如果您是从其他框架迁移而来,请参阅从 LangGraph 迁移。您可能需要升级的两个方面
CrewAI 在您的计算机上有两处部署,它们分别独立升级| 内容 | 安装方式 | 如何升级 |
|---|---|---|
全局 crewai CLI | uv tool install crewai | uv tool install crewai --upgrade |
| 项目虚拟环境 (venv) (代码运行环境) | crewai install / uv sync | uv add "crewai[...]>=X.Y.Z" 然后 crewai install |
crewai --version 可查看 CLI 版本。在项目内运行 uv pip show crewai 可查看虚拟环境版本。如果它们不一致是正常的;对代码运行而言,重要的是虚拟环境的版本。
为什么仅运行 crewai install 无法升级
crewai install 是 uv sync 的一个轻量封装。它严格按照当前的 uv.lock 文件进行安装,并不会更改任何版本约束。 如果您的 pyproject.toml 中写着 crewai>=1.11.1 且锁定文件已解析为 1.11.1,那么即使 1.14.4 可用,运行 crewai install 也将使您永久停留在 1.11.1 版本。 要真正完成升级,您需要:- 更新
pyproject.toml中的版本约束 - 重新解析锁定文件
- 同步虚拟环境
uv add 可以一步完成上述三个步骤。
如何升级您的项目
[tools] 替换为您项目实际使用的扩展(例如 [tools,anthropic])。如果不确定,请检查 pyproject.toml 中的 dependencies 列表。
uv add 会同时自动更新 pyproject.toml 和 uv.lock。如果您手动编辑了 pyproject.toml,仍需运行 uv lock --upgrade-package crewai 来重新解析锁定文件,随后运行 crewai install 才能应用新版本。升级全局 CLI
全局 CLI 与项目相互独立。使用以下命令升级:PATH 相关警告,请刷新环境变量:
uv add + crewai install。
验证两者是否同步
CrewAI 要求
Python >=3.10, <3.14。如果 uv 是在较旧的解释器上安装的,请在运行 crewai install 前使用受支持的 Python 版本重新创建项目虚拟环境。重大变更与迁移说明
大多数升级只需少量调整。以下领域可能会发生静默崩溃或报错信息令人困惑的情况。导入路径:工具与 BaseTool
工具的标准导入位置是 crewai.tools。旧路径虽然仍出现在教程中,但应予以更新。
@tool 装饰器和 BaseTool 子类都位于 crewai.tools 中。AgentFinish 和其他内部 Agent 符号不再作为公共 API 提供——如果您之前导入了它们,请改用事件监听器或 Task 回调。
Agent 参数变更
llm参数现在接受字符串格式的模型名称(通过配置的提供程序解析)或LLM对象以实现更精细的控制。verbose现在是纯bool值。传递整数将不再切换日志级别。max_iter的默认值在不同版本间发生了变化。如果您的智能体在第一次工具调用后静默停止循环,请显式设置max_iter。
Crew 参数
- 使用
process=Process.hierarchical时,需要配置manager_llm=或manager_agent=。若两者均未提供,kickoff 将在验证阶段报错。 - 当
memory=True且使用非默认嵌入提供程序时,需要提供embedder字典——请参阅下方的 内存与嵌入器配置。
Task 结构化输出
使用 output_pydantic、output_json 或 output_file 将任务结果强制转换为指定的类型化格式。
output_pydantic 接收的是类本身。传入 Article(title="", body="") 是常见错误,会导致令人困惑的验证错误。
内存与嵌入器配置
如果memory=True 且您不使用默认的 OpenAI 嵌入,则必须传入 embedder 配置。
.env 文件中设置相关的提供程序凭据(如 OPENAI_API_KEY, OLLAMA_HOST 等)。默认情况下,内存存储路径是项目本地的——如果您更改了嵌入器,请删除项目的内存目录,因为不同的维度无法混合。