跳转到主要内容

文档索引

获取完整文档索引: https://docs.crewai.com.cn/llms.txt

在深入了解之前,请使用此文件来浏览所有可用页面。

概述

CrewAI 支持两种连接 LLM 提供商的方式
  1. 原生集成 — 直接使用 OpenAI、Anthropic、Google Gemini、Azure OpenAI 和 AWS Bedrock 的 SDK 进行连接
  2. LiteLLM 回退模式 — 一种支持 100 多个额外提供商的转换层
本指南解释了如何仅使用原生集成来运行 CrewAI,从而完全移除对 LiteLLM 的依赖。
litellm 软件包因安全/可靠性事件已在 PyPI 上被隔离。如果您依赖于需要 LiteLLM 的提供商,则应迁移到原生集成。CrewAI 的原生集成可在不依赖 LiteLLM 的情况下提供全部功能。

为什么要移除 LiteLLM?

  • 减少依赖面 — 软件包越少,潜在的供应链风险就越低
  • 更好的性能 — 原生 SDK 直接与提供商的 API 通信,消除了中间的转换层
  • 更简单的调试 — 您的代码与提供商之间少了一层抽象层
  • 更小的安装体积 — LiteLLM 会引入许多传递依赖项

原生提供商(无需 LiteLLM)

这些提供商使用各自的 SDK,无需安装 LiteLLM 即可工作

OpenAI

GPT-4o, GPT-4o-mini, o1, o3-mini 等。
uv add "crewai[openai]"

Anthropic

Claude Sonnet, Claude Haiku 等。
uv add "crewai[anthropic]"

Google Gemini

Gemini 2.0 Flash, Gemini 2.0 Pro 等。
uv add "crewai[gemini]"

Azure OpenAI

Azure 托管的 OpenAI 模型。
uv add "crewai[azure]"

AWS Bedrock

通过 AWS 使用 Claude, Llama, Titan 等。
uv add "crewai[bedrock]"
如果您仅使用原生提供商,则永远不需要安装 crewai[litellm]。基础的 crewai 软件包加上您选择的提供商扩展包就足够了。

如何检查您是否正在使用 LiteLLM

检查您的模型字符串

如果您的代码中使用了以下模型前缀,说明您正在通过 LiteLLM 进行路由
前缀提供商是否使用 LiteLLM?
ollama/Ollama✅ 是
groq/Groq✅ 是
together_ai/Together AI✅ 是
mistral/Mistral✅ 是
cohere/Cohere✅ 是
huggingface/Hugging Face✅ 是
openai/OpenAI❌ 原生
anthropic/Anthropic❌ 原生
gemini/Google Gemini❌ 原生
azure/Azure OpenAI❌ 原生
bedrock/AWS Bedrock❌ 原生

检查是否安装了 LiteLLM

# Using pip
pip show litellm

# Using uv
uv pip show litellm
如果命令返回了软件包信息,说明 LiteLLM 已安装在您的环境中。

检查您的依赖项

查看您的 pyproject.toml 中是否有 crewai[litellm]
# If you see this, you have LiteLLM as a dependency
dependencies = [
    "crewai[litellm]>=0.100.0",  # ← Uses LiteLLM
]

# Change to a native provider extra instead
dependencies = [
    "crewai[openai]>=0.100.0",   # ← Native, no LiteLLM
]

迁移指南

第 1 步:确定您当前使用的提供商

查找代码中的所有 LLM() 调用和模型字符串
# Search your codebase for LLM model strings
grep -r "LLM(" --include="*.py" .
grep -r "llm=" --include="*.yaml" .
grep -r "llm:" --include="*.yaml" .

第 2 步:切换到原生提供商

from crewai import LLM

# Before (LiteLLM):
# llm = LLM(model="groq/llama-3.1-70b")

# After (Native):
llm = LLM(model="openai/gpt-4o")
# Install
uv add "crewai[openai]"

# Set your API key
export OPENAI_API_KEY="sk-..."

第 3 步:在没有 LiteLLM 的情况下保留 Ollama

如果您正在使用 Ollama 且希望继续使用,可以通过 Ollama 的 OpenAI 兼容 API 进行连接
from crewai import LLM

# Before (LiteLLM):
# llm = LLM(model="ollama/llama3")

# After (OpenAI-compatible mode, no LiteLLM needed):
llm = LLM(
    model="openai/llama3",
    base_url="https://:11434/v1",
    api_key="ollama"  # Ollama doesn't require a real API key
)
许多本地推理服务器(Ollama, vLLM, LM Studio, llama.cpp)都暴露了 OpenAI 兼容的 API。您可以使用 openai/ 前缀并配置自定义的 base_url,从而原生连接到它们中的任何一个。

第 4 步:更新您的 YAML 配置

# Before (LiteLLM providers):
researcher:
  role: Research Specialist
  goal: Conduct research
  backstory: A dedicated researcher
  llm: groq/llama-3.1-70b          # ← LiteLLM
  
# After (Native provider):
researcher:
  role: Research Specialist
  goal: Conduct research
  backstory: A dedicated researcher
  llm: openai/gpt-4o               # ← Native

第 5 步:移除 LiteLLM

在迁移完所有模型引用后
# Remove litellm from your project
uv remove litellm

# Or if using pip
pip uninstall litellm

# Update your pyproject.toml: change crewai[litellm] to your provider extra
# e.g., crewai[openai], crewai[anthropic], crewai[gemini]

第 6 步:验证

运行您的项目并确认一切正常
# Run your crew
crewai run

# Or run your tests
uv run pytest

快速参考:模型字符串映射

以下是从依赖 LiteLLM 的提供商迁移到原生提供商的常见路径
from crewai import LLM

# ─── LiteLLM providers → Native alternatives ────────────────────

# Groq → OpenAI or Anthropic
# llm = LLM(model="groq/llama-3.1-70b")
llm = LLM(model="openai/gpt-4o-mini")           # Fast & affordable
llm = LLM(model="anthropic/claude-haiku-3-5")    # Fast & affordable

# Together AI → OpenAI or Gemini
# llm = LLM(model="together_ai/meta-llama/Meta-Llama-3.1-70B")
llm = LLM(model="openai/gpt-4o")                 # High quality
llm = LLM(model="gemini/gemini-2.0-flash")       # Fast & capable

# Mistral → Anthropic or OpenAI
# llm = LLM(model="mistral/mistral-large-latest")
llm = LLM(model="anthropic/claude-sonnet-4-20250514")  # High quality

# Ollama → OpenAI-compatible (keep using local models)
# llm = LLM(model="ollama/llama3")
llm = LLM(
    model="openai/llama3",
    base_url="https://:11434/v1",
    api_key="ollama"
)

常见问题解答

不会,如果您使用的是五个原生支持的提供商之一(OpenAI、Anthropic、Gemini、Azure、Bedrock)。这些原生集成支持所有 CrewAI 功能,包括流式传输、工具调用、结构化输出等。您只会失去对仅通过 LiteLLM 提供的提供商(如 Groq、Together AI、Mistral 作为一级提供商)的访问权限。
可以。安装多个扩展包,并为不同的智能体使用不同的提供商。
uv add "crewai[openai,anthropic,gemini]"
researcher = Agent(llm="openai/gpt-4o", ...)
writer = Agent(llm="anthropic/claude-sonnet-4-20250514", ...)
无论其隔离状态如何,减少依赖面都是良好的安全实践。如果您只需要 CrewAI 原生支持的提供商,就没有理由保留安装 LiteLLM。
原生提供商使用您已经熟悉的相同环境变量。OPENAI_API_KEYANTHROPIC_API_KEYGEMINI_API_KEY 等无需任何更改。