主题
连接到任何 LLM
关于使用 LiteLLM 将 CrewAI 与各种大型语言模型(LLM)集成的全面指南,包括支持的服务商和配置选项。
将 CrewAI 连接到 LLM
CrewAI 通过针对最受欢迎服务商(OpenAI、Anthropic、Google Gemini、Azure 和 AWS Bedrock)的原生 SDK 集成来连接 LLM,并使用 LiteLLM 作为所有其他服务商的灵活回退方案。
NOTE
默认情况下,CrewAI 使用 gpt-4o-mini 模型。这由 OPENAI_MODEL_NAME 环境变量决定;如果未设置,该变量默认为 "gpt-4o-mini"。 你可以按照本指南所述,轻松配置你的智能体使用不同的模型或服务商。
受支持的服务商
LiteLLM 支持广泛的服务商,包括但不限于:
- OpenAI
- Anthropic
- Google (Vertex AI, Gemini)
- Azure OpenAI
- AWS (Bedrock, SageMaker)
- Cohere
- VoyageAI
- Hugging Face
- Ollama
- Mistral AI
- Replicate
- Together AI
- AI21
- Cloudflare Workers AI
- DeepInfra
- Groq
- SambaNova
- Nebius AI Studio
- NVIDIA NIMs
- 以及更多!
有关支持的服务商的完整且最新列表,请参阅 LiteLLM 服务商文档。
INFO
要使用任何未被原生集成覆盖的服务商,请将 LiteLLM 添加为项目依赖:
bash
uv add 'crewai[litellm]'原生服务商(OpenAI、Anthropic、Google Gemini、Azure、AWS Bedrock)使用各自的 SDK 扩展——参见 服务商配置示例。
更改 LLM
要将不同的 LLM 与你的 CrewAI 智能体一起使用,你有几个选项:
在初始化智能体时,将模型名称作为字符串传入:
python
from crewai import Agent
# Using OpenAI's GPT-4
openai_agent = Agent(
role='OpenAI Expert',
goal='Provide insights using GPT-4',
backstory="An AI assistant powered by OpenAI's latest model.",
llm='gpt-4'
)
# Using Anthropic's Claude
claude_agent = Agent(
role='Anthropic Expert',
goal='Analyze data using Claude',
backstory="An AI assistant leveraging Anthropic's language model.",
llm='claude-2'
)配置选项
为你的智能体配置 LLM 时,你可以使用多种参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| model | str | 要使用的模型名称(例如 "gpt-4"、"claude-2") |
| temperature | float | 控制输出的随机性(0.0 到 1.0) |
| max_tokens | int | 要生成的最大 token 数 |
| top_p | float | 控制输出的多样性(0.0 到 1.0) |
| frequency_penalty | float | 根据新 token 在目前已生成文本中的出现频率对其进行惩罚 |
| presence_penalty | float | 根据新 token 是否已出现在目前已生成文本中对其进行惩罚 |
| stop | str、List[str] | 用于停止生成的序列 |
| base_url | str | API 端点的基础 URL |
| api_key | str | 用于身份认证的 API key |
有关参数的完整列表及其说明,请参阅 LLM 类文档。
连接到兼容 OpenAI 的 LLM
你可以使用环境变量,或在 LLM 类上设置特定属性来连接兼容 OpenAI 的 LLM:
python
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"
os.environ["OPENAI_API_BASE"] = "https://api.your-provider.com/v1"
os.environ["OPENAI_MODEL_NAME"] = "your-model-name"python
import os
# 使用 Gemini 的兼容 OpenAI API 的示例。
os.environ["OPENAI_API_KEY"] = "your-gemini-key" # 应以 AIza... 开头
os.environ["OPENAI_API_BASE"] = "https://generativelanguage.googleapis.com/v1beta/openai/"
os.environ["OPENAI_MODEL_NAME"] = "openai/gemini-3.7-flash" # 在此处添加你的 Gemini 模型,位于 openai/ 下使用 Ollama 的本地模型
对于 Ollama 提供的本地模型:
Download and install Ollama
Pull the desired model
例如,运行 ollama pull llama3.2 来下载该模型。
Configure your agent
python
agent = Agent(
role='本地 AI 专家',
goal='使用本地模型处理信息',
backstory="一个运行在本地硬件上的 AI 助手。",
llm=LLM(model="ollama/llama3.2", base_url="http://localhost:11434")
)更改基础 API URL
你可以通过设置 base_url 参数来更改任何 LLM 服务商的基础 API URL:
python
llm = LLM(
model="custom-model-name",
base_url="https://api.your-provider.com/v1",
api_key="your-api-key"
)
agent = Agent(llm=llm, ...)这在使用兼容 OpenAI 的 API,或需要为你选择的服务商指定其他端点时尤其有用。
结论
通过利用 LiteLLM,CrewAI 可与大量 LLM 实现无缝集成。这种灵活性让你能够选择最适合自身需求的模型,无论你优先考虑的是性能、成本效益还是本地部署。请记得查阅 LiteLLM 文档 以获取有关受支持模型和配置选项的最新信息。