Pular para o conteúdo

LLMs

O CrewAI integra-se com múltiplos provedores de LLM através do LiteLLM, oferecendo flexibilidade para você escolher o modelo certo para o seu caso de uso específico. Este guia irá ajudá-lo a entender como configurar e usar diferentes provedores de LLM em seus projetos CrewAI.

Modelos de Linguagem de Grande Escala (LLMs) são a inteligência central por trás dos agentes CrewAI. Eles permitem que os agentes compreendam o contexto, tomem decisões e gerem respostas semelhantes às humanas. Veja o que você precisa saber:

Noções Básicas de LLM

Modelos de Linguagem de Grande Escala são sistemas de IA treinados em grandes volumes de dados textuais. Eles potencializam a inteligência dos agentes CrewAI, permitindo compreender e gerar textos de voz humana.

Janela de Contexto

A janela de contexto determina quanto texto um LLM pode processar de uma só vez. Janelas maiores (por exemplo, 128K tokens) permitem mais contexto, porém podem ser mais caras e lentas.

Temperatura

A temperatura (0.0 a 1.0) controla a aleatoriedade das respostas. Valores mais baixos (ex.: 0.2) produzem respostas mais focadas e determinísticas, enquanto valores mais altos (ex.: 0.8) aumentam criatividade e variabilidade.

Seleção de Provedor

Cada provedor de LLM (ex.: OpenAI, Anthropic, Google) oferece modelos diferentes, com capacidades, preços e recursos variados. Escolha conforme suas necessidades de precisão, velocidade e custo.

Existem diferentes locais no código do CrewAI onde você pode especificar o modelo a ser utilizado. Após definir o modelo usado, será necessário fornecer a configuração (como uma chave de API) para cada provedor de modelo. Veja a seção de exemplos de configuração de provedores para seu provedor.

1. Variáveis de Ambiente

A maneira mais simples de começar. Defina o modelo diretamente em seu ambiente, usando um arquivo .env ou no código do seu aplicativo. Se você utilizou crewai create para iniciar seu projeto, já estará configurado.

Terminal window
MODEL=model-id # e.g. gpt-4o, gemini-2.0-flash, claude-3-sonnet-...
# Lembre-se de definir suas chaves de API aqui também. Veja a seção
# do Provedor abaixo.
2. Configuração YAML

Crie um arquivo YAML para definir as configurações dos seus agentes. Este método é ótimo para controle de versão e colaboração em equipe:

researcher:
role: Research Specialist
goal: Conduct comprehensive research and analysis
backstory: A dedicated research professional with years of experience
verbose: true
llm: provider/model-id # e.g. openai/gpt-4o, google/gemini-2.0-flash, anthropic/claude...
# (veja exemplos de configuração de provedores abaixo para mais)
3. Código Direto

Para máxima flexibilidade, configure os LLMs diretamente no seu código Python:

from crewai import LLM
# Configuração básica
llm = LLM(model="model-id-here") # gpt-4o, gemini-2.0-flash, anthropic/claude...
# Configuração avançada com parâmetros detalhados
llm = LLM(
model="openai/gpt-4",
temperature=0.8,
max_tokens=150,
top_p=0.9,
frequency_penalty=0.1,
presence_penalty=0.1,
response_format={"type":"json"},
stop=["FIM"],
seed=42
)

O CrewAI suporta uma grande variedade de provedores de LLM, cada um com recursos, métodos de autenticação e capacidades de modelo únicos. Nesta seção, você encontrará exemplos detalhados que ajudam a selecionar, configurar e otimizar o LLM que melhor atende às necessidades do seu projeto.

OpenAI

Defina as seguintes variáveis de ambiente no seu arquivo .env:

# Obrigatório
OPENAI_API_KEY=sk-...
# Opcional
OPENAI_API_BASE=<custom-base-url>
OPENAI_ORGANIZATION=<your-org-id>

Exemplo de uso em seu projeto CrewAI:

from crewai import LLM
llm = LLM(
model="openai/gpt-4",
temperature=0.8,
max_tokens=150,
top_p=0.9,
frequency_penalty=0.1,
presence_penalty=0.1,
stop=["FIM"],
seed=42
)

OpenAI é um dos líderes em modelos LLM com uma ampla gama de modelos e recursos.

ModeloJanela de ContextoMelhor Para
GPT-48.192 tokensTarefas de alta precisão, raciocínio complexo
GPT-4 Turbo128.000 tokensConteúdo longo, análise de documentos
GPT-4o & GPT-4o-mini128.000 tokensProcessamento de contexto amplo com bom custo-benefício
o3-mini200.000 tokensRaciocínio rápido, tarefas complexas
o1-mini128.000 tokensRaciocínio rápido, tarefas complexas
o1-preview128.000 tokensRaciocínio rápido, tarefas complexas
o1200.000 tokensRaciocínio rápido, tarefas complexas

Responses API:

A OpenAI oferece duas APIs: Chat Completions (padrão) e a nova Responses API. A Responses API foi projetada desde o início com suporte multimodal nativo—texto, imagens, áudio e chamadas de função são todos cidadãos de primeira classe. Ela oferece melhor performance com modelos de raciocínio e suporta recursos adicionais como auto-encadeamento e ferramentas integradas.

from crewai import LLM
# Usar Responses API em vez de Chat Completions
llm = LLM(
model="openai/gpt-4o",
api="responses", # Habilitar Responses API
store=True, # Armazenar respostas para multi-turno (opcional)
auto_chain=True, # Auto-encadeamento para modelos de raciocínio (opcional)
)

Parâmetros da Responses API:

  • api: Defina como "responses" para usar a Responses API (padrão: "completions")
  • instructions: Instruções de nível de sistema (apenas Responses API)
  • store: Se deve armazenar respostas para conversas multi-turno
  • previous_response_id: ID da resposta anterior para multi-turno
  • include: Dados adicionais para incluir na resposta (ex: ["reasoning.encrypted_content"])
  • builtin_tools: Lista de ferramentas integradas da OpenAI: "web_search", "file_search", "code_interpreter", "computer_use"
  • parse_tool_outputs: Retornar ResponsesAPIResult estruturado com saídas de ferramentas integradas parseadas
  • auto_chain: Rastrear e usar automaticamente IDs de resposta para conversas multi-turno
  • auto_chain_reasoning: Rastrear itens de raciocínio criptografados para conformidade ZDR (Zero Data Retention)
Meta-Llama

A API Llama da Meta fornece acesso à família de modelos de linguagem de grande escala da Meta. A API está disponível através da Meta Llama API. Defina as seguintes variáveis de ambiente no seu arquivo .env:

# Configuração chave da API Meta Llama
LLAMA_API_KEY=LLM|your_api_key_here

Exemplo de uso em seu projeto CrewAI:

from crewai import LLM
# Inicializar Meta Llama LLM
llm = LLM(
model="meta_llama/Llama-4-Scout-17B-16E-Instruct-FP8",
temperature=0.8,
stop=["FIM"],
seed=42
)

Todos os modelos listados em https://llama.developer.meta.com/docs/models/ são suportados.

ID do ModeloComprimento contexto entradaComprimento contexto saídaModalidades de entradaModalidades de saída
meta_llama/Llama-4-Scout-17B-16E-Instruct-FP8128k4028Texto, ImagemTexto
meta_llama/Llama-4-Maverick-17B-128E-Instruct-FP8128k4028Texto, ImagemTexto
meta_llama/Llama-3.3-70B-Instruct128k4028TextoTexto
meta_llama/Llama-3.3-8B-Instruct128k4028TextoTexto

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Snowflake Cortex

O CrewAI oferece integração nativa com a API REST do Snowflake Cortex pelo endpoint Chat Completions compatível com OpenAI. Isso evita fallback para LiteLLM em modelos snowflake/.... Atualmente, o Snowflake Cortex no CrewAI oferece suporte apenas a Chat Completions, então use o modo api padrão e não defina api="responses".

# Obrigatório
SNOWFLAKE_PAT=<your-programmatic-access-token>
SNOWFLAKE_ACCOUNT_URL=https://<account-identifier>.snowflakecomputing.com
# Configuração alternativa da conta
SNOWFLAKE_ACCOUNT=<account-identifier>

Uso básico:

from crewai import LLM
llm = LLM(
model="snowflake/openai-gpt-4.1",
temperature=0.7,
max_completion_tokens=1024,
)

Modelos Claude no Cortex:

from crewai import LLM
llm = LLM(
model="snowflake/claude-sonnet-4-5",
max_completion_tokens=1024,
stream=True,
)

Variáveis de ambiente suportadas:

  • SNOWFLAKE_PAT, SNOWFLAKE_TOKEN ou SNOWFLAKE_JWT: token usado como credencial Bearer
  • SNOWFLAKE_ACCOUNT_URL: URL completa da conta Snowflake
  • SNOWFLAKE_ACCOUNT, SNOWFLAKE_ACCOUNT_ID ou SNOWFLAKE_ACCOUNT_IDENTIFIER: identificador da conta usado para montar a URL

As requisições REST do Snowflake usam a role padrão do usuário. Garanta que essa role tenha SNOWFLAKE.CORTEX_USER ou SNOWFLAKE.CORTEX_REST_API_USER. Parâmetros de banco de dados, schema, warehouse e role explícita não são exigidos pelo endpoint Cortex REST Chat Completions.

Recursos:

  • Seleção nativa com model="snowflake/<model-name>"
  • Chat Completions com e sem streaming apenas; api="responses" não é compatível
  • Rastreamento de uso de tokens
  • Chamadas de função para modelos OpenAI e Claude hospedados no Snowflake
  • Remoção automática de prefill final de assistant inválido para modelos Claude no Snowflake
Anthropic
# Obrigatório
ANTHROPIC_API_KEY=sk-ant-...
# Opcional
ANTHROPIC_API_BASE=<custom-base-url>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="anthropic/claude-3-sonnet-20240229-v1:0",
temperature=0.7
)
Google (Gemini API)

Defina sua chave de API no seu arquivo .env. Se precisar de uma chave, ou encontrar uma existente, verifique o AI Studio.

# Para API Gemini (uma das seguintes)
GOOGLE_API_KEY=<your-api-key>
GEMINI_API_KEY=<your-api-key>
# Para Vertex AI Express mode (autenticação por chave de API)
GOOGLE_GENAI_USE_VERTEXAI=true
GOOGLE_API_KEY=<your-api-key>
# Para Vertex AI com conta de serviço
GOOGLE_CLOUD_PROJECT=<your-project-id>
GOOGLE_CLOUD_LOCATION=<location> # Padrão: us-central1

Uso Básico:

from crewai import LLM
llm = LLM(
model="gemini/gemini-2.0-flash",
temperature=0.7,
)

Vertex AI Express Mode (Autenticação por Chave de API):

O Vertex AI Express mode permite usar o Vertex AI com autenticação simples por chave de API, em vez de credenciais de conta de serviço. Esta é a maneira mais rápida de começar com o Vertex AI.

Para habilitar o Express mode, defina ambas as variáveis de ambiente no seu arquivo .env:

GOOGLE_GENAI_USE_VERTEXAI=true
GOOGLE_API_KEY=<your-api-key>

Em seguida, use o LLM normalmente:

from crewai import LLM
llm = LLM(
model="gemini/gemini-2.0-flash",
temperature=0.7
)

O Google oferece uma variedade de modelos poderosos otimizados para diferentes casos de uso.

ModeloJanela de ContextoMelhor Para
gemini-2.5-flash-preview-04-171M tokensPensamento adaptativo, eficiência de custo
gemini-2.5-pro-preview-05-061M tokensPensamento e raciocínio avançados, compreensão multimodal, codificação avançada, etc.
gemini-2.0-flash1M tokensPróxima geração de recursos, velocidade, raciocínio e streaming em tempo real
gemini-2.0-flash-lite1M tokensEficiência de custo e baixa latência
gemini-1.5-flash1M tokensModelo multimodal equilibrado, bom para maioria das tarefas
gemini-1.5-flash-8B1M tokensMais rápido, mais eficiente em custo, adequado para tarefas de alta frequência
gemini-1.5-pro2M tokensMelhor desempenho para uma ampla variedade de tarefas de raciocínio, incluindo lógica, codificação e colaboração criativa

A lista completa de modelos está disponível na documentação dos modelos Gemini.

A API Gemini também permite uso de sua chave de API para acessar modelos Gemma hospedados na infraestrutura Google.

ModeloJanela de Contexto
gemma-3-1b-it32k tokens
gemma-3-4b-it32k tokens
gemma-3-12b-it32k tokens
gemma-3-27b-it128k tokens
Google (Vertex AI)

Obtenha as credenciais pelo Google Cloud Console, salve em um arquivo JSON e carregue com o código a seguir:

import json
file_path = 'path/to/vertex_ai_service_account.json'
# Carregar o arquivo JSON
with open(file_path, 'r') as file:
vertex_credentials = json.load(file)
# Converter credenciais em string JSON
vertex_credentials_json = json.dumps(vertex_credentials)

Exemplo de uso em seu projeto CrewAI:

from crewai import LLM
llm = LLM(
model="gemini-1.5-pro-latest", # or vertex_ai/gemini-1.5-pro-latest
temperature=0.7,
vertex_credentials=vertex_credentials_json
)

O Google oferece uma variedade de modelos poderosos otimizados para diferentes casos de uso:

ModeloJanela de ContextoMelhor Para
gemini-2.5-flash-preview-04-171M tokensPensamento adaptativo, eficiência de custo
gemini-2.5-pro-preview-05-061M tokensPensamento e raciocínio avançados, compreensão multimodal, codificação avançada, etc.
gemini-2.0-flash1M tokensPróxima geração de recursos, velocidade, raciocínio e streaming em tempo real
gemini-2.0-flash-lite1M tokensEficiência de custo e baixa latência
gemini-1.5-flash1M tokensModelo multimodal equilibrado, bom para maioria das tarefas
gemini-1.5-flash-8B1M tokensMais rápido, mais eficiente em custo, adequado para tarefas de alta frequência
gemini-1.5-pro2M tokensMelhor desempenho para uma ampla variedade de tarefas de raciocínio, incluindo lógica, codificação e colaboração criativa

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Azure
# Obrigatório
AZURE_API_KEY=<your-api-key>
AZURE_API_BASE=<your-resource-url>
AZURE_API_VERSION=<api-version>
# Opcional
AZURE_AD_TOKEN=<your-azure-ad-token>
AZURE_API_TYPE=<your-azure-api-type>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="azure/gpt-4",
api_version="2023-05-15"
)
AWS Bedrock
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>
AWS_DEFAULT_REGION=<your-region>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="bedrock/anthropic.claude-3-sonnet-20240229-v1:0"
)

Antes de usar o Amazon Bedrock, certifique-se de ter o boto3 instalado em seu ambiente

Amazon Bedrock é um serviço gerenciado que fornece acesso a múltiplos modelos fundamentais dos principais provedores de IA através de uma API unificada, permitindo o desenvolvimento seguro e responsável de aplicações de IA.

ModeloJanela de ContextoMelhor Para
Amazon Nova ProAté 300k tokensAlto desempenho, equilíbrio entre precisão, velocidade e custo em tarefas diversas.
Amazon Nova MicroAté 128k tokensModelo texto-only de alta performance, custo-benefício, otimizado para baixa latência.
Amazon Nova LiteAté 300k tokensAlto desempenho, processamento multimodal acessível para texto, imagem, vídeo em tempo real.
Claude 3.7 SonnetAté 128k tokensAlto desempenho para raciocínio complexo, programação & agentes de IA
Claude 3.5 Sonnet v2Até 200k tokensModelo avançado especializado em engenharia de software, capacidades agenticas e interação computacional com custo otimizado.
Claude 3.5 SonnetAté 200k tokensAlto desempenho com inteligência e raciocínio excepcionais, equilíbrio entre velocidade-custo.
Claude 3.5 HaikuAté 200k tokensModelo multimodal rápido e compacto, otimizado para respostas rápidas e interações humanas naturais
Claude 3 SonnetAté 200k tokensModelo multimodal equilibrando inteligência e velocidade para grandes volumes de uso.
Claude 3 HaikuAté 200k tokensCompacto, multimodal, otimizado para respostas rápidas e diálogo natural
Claude 3 OpusAté 200k tokensModelo multimodal mais avançado para tarefas complexas com raciocínio humano e entendimento contextual superior.
Claude 2.1Até 200k tokensVersão aprimorada com janela de contexto aumentada, maior confiabilidade, menos alucinações para aplicações longas e RAG
ClaudeAté 100k tokensModelo versátil para diálogos sofisticados, conteúdo criativo e instruções precisas.
Claude InstantAté 100k tokensModelo rápido e de baixo custo para tarefas diárias, como diálogos, análise, sumarização e Q&A em documentos
Llama 3.1 405B InstructAté 128k tokensLLM avançado para geração de dados sintéticos, distilação e inferência para chatbots, programação, tarefas de domínio específico.
Llama 3.1 70B InstructAté 128k tokensPotencializa conversas complexas com entendimento contextual superior, raciocínio e geração de texto.
Llama 3.1 8B InstructAté 128k tokensModelo de última geração, entendimento de linguagem, raciocínio e geração de texto.
Llama 3 70B InstructAté 8k tokensPotencializa conversas complexas com entendimento contextual superior, raciocínio e geração de texto.
Llama 3 8B InstructAté 8k tokensLLM de última geração com excelente desempenho em linguagem e geração de texto.
Titan Text G1 - LiteAté 4k tokensModelo leve e econômico para tarefas em inglês e ajuste fino, focado em sumarização e geração de conteúdo.
Titan Text G1 - ExpressAté 8k tokensModelo versátil para tarefas gerais de linguagem, chat e aplicações RAG com suporte a inglês e 100+ línguas.
Cohere CommandAté 4k tokensModelo especializado em seguir comandos do usuário e entregar soluções empresariais práticas.
Jurassic-2 MidAté 8.191 tokensModelo econômico equilibrando qualidade e custo para tarefas como Q&A, sumarização e geração de conteúdo.
Jurassic-2 UltraAté 8.191 tokensGeração avançada de texto e compreensão, excelente em análise e criação de conteúdo complexo.
Jamba-InstructAté 256k tokensModelo com janela de contexto extendida para geração de texto, sumarização e Q&A de baixo custo.
Mistral 7B InstructAté 32k tokensLLM atende instruções, solicitações e gera texto criativo.
Mistral 8x7B InstructAté 32k tokensMOE LLM que atende instruções, solicitações e gera texto criativo.
Amazon SageMaker
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>
AWS_DEFAULT_REGION=<your-region>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="sagemaker/<my-endpoint>"
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Mistral

Defina as seguintes variáveis de ambiente no seu arquivo .env:

MISTRAL_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="mistral/mistral-large-latest",
temperature=0.7
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Nvidia NIM

Defina as seguintes variáveis de ambiente no seu arquivo .env:

NVIDIA_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="nvidia_nim/meta/llama3-70b-instruct",
temperature=0.7
)

O Nvidia NIM oferece uma suíte abrangente de modelos para diversos usos, desde tarefas gerais até aplicações especializadas.

ModeloJanela de ContextoMelhor Para
nvidia/mistral-nemo-minitron-8b-8k-instruct8.192 tokensModelo pequeno de linguagem topo de linha para chatbots, assistentes virtuais e geração de conteúdo.
nvidia/nemotron-4-mini-hindi-4b-instruct4.096 tokensSLM bilíngue Hindi-Inglês para inferência no dispositivo, específico para língua hindi.
nvidia/llama-3.1-nemotron-70b-instruct128k tokensPersonalizado para respostas mais úteis
nvidia/llama3-chatqa-1.5-8b128k tokensLLM avançado para respostas contextuais de alta qualidade em chatbots e mecanismos de busca.
nvidia/llama3-chatqa-1.5-70b128k tokensLLM avançado para respostas contextuais de alta qualidade para chatbots e mecanismos de busca.
nvidia/vila128k tokensModelo multmodal visão-linguagem para compreensão de texto/img/vídeo com respostas informativas
nvidia/neva-224.096 tokensModelo de visão-linguagem multimodal para compreensão textos/imagens e respostas informativas
nvidia/nemotron-mini-4b-instruct8.192 tokensTarefas gerais
nvidia/usdcode-llama3-70b-instruct128k tokensLLM de ponta para queries OpenUSD e geração de código USD-Python.
nvidia/nemotron-4-340b-instruct4.096 tokensGera dados sintéticos diversos simulando características reais.
meta/codellama-70b100k tokensLLM capaz de gerar código a partir de linguagem natural e vice-versa.
meta/llama2-70b4.096 tokensModelo de IA avançado para geração de textos e códigos.
meta/llama3-8b-instruct8.192 tokensLLM de última geração, entendimento de linguagem, raciocínio e geração de texto.
meta/llama3-70b-instruct8.192 tokensPotencializa conversas complexas com entendimento contextual superior, raciocínio e geração de texto.
meta/llama-3.1-8b-instruct128k tokensModelo compacto de última geração, com compreensão, raciocínio e geração de texto superior.
meta/llama-3.1-70b-instruct128k tokensPotencializa conversas complexas com entendimento contextual superior, raciocínio e geração de texto.
meta/llama-3.1-405b-instruct128k tokensLLM avançado para geração sintética de dados, destilação e inferência para chatbots, código, tarefas de domínio específico.
meta/llama-3.2-1b-instruct128k tokensPequeno modelo de linguagem de última geração, entendimento, raciocínio e geração textual.
meta/llama-3.2-3b-instruct128k tokensPequeno modelo de linguagem de última geração, entendimento, raciocínio e geração textual.
meta/llama-3.2-11b-vision-instruct128k tokensPequeno modelo de linguagem de última geração, entendimento, raciocínio e geração textual multimodal.
meta/llama-3.2-90b-vision-instruct128k tokensPequeno modelo de linguagem de última geração, entendimento, raciocínio e geração textual multimodal.
google/gemma-7b8.192 tokensModelo avançado de geração de texto, compreensão, transformação e programação.
google/gemma-2b8.192 tokensModelo avançado de geração de texto, compreensão, transformação e programação.
google/codegemma-7b8.192 tokensModelo avançado baseado no Gemma-7B do Google, especializado em geração de códigos e autocomplete.
google/codegemma-1.1-7b8.192 tokensModelo avançado para geração, complemento, raciocínio e instrução em código.
google/recurrentgemma-2b8.192 tokensModelo baseado em arquitetura recorrente para inferência mais rápida em sequências longas.
google/gemma-2-9b-it8.192 tokensModelo avançado de geração de texto, compreensão, transformação e programação.
google/gemma-2-27b-it8.192 tokensModelo avançado de geração de texto, compreensão, transformação e programação.
google/gemma-2-2b-it8.192 tokensModelo avançado de geração de texto, compreensão, transformação e programação.
google/deplot512 tokensModelo visual por linguagem para entender gráficos e converter em tabelas.
google/paligemma8.192 tokensModelo visão-linguagem experto em compreender texto e visual, gerando respostas informativas.
mistralai/mistral-7b-instruct-v0.232k tokensLLM que segue instruções, completa pedidos e gera texto criativo.
mistralai/mixtral-8x7b-instruct-v0.18.192 tokensMOE LLM para seguir instruções e gerar versões criativas de texto.
mistralai/mistral-large4.096 tokensGeração de dados sintéticos.
mistralai/mixtral-8x22b-instruct-v0.18.192 tokensGeração de dados sintéticos.
mistralai/mistral-7b-instruct-v0.332k tokensLLM que segue instruções, completa pedidos e gera texto criativo.
nv-mistralai/mistral-nemo-12b-instruct128k tokensModelo de linguagem avançado para raciocínio, código, tarefas multilíngues; roda em uma única GPU.
mistralai/mamba-codestral-7b-v0.1256k tokensModelo para escrita e interação com código em múltiplas linguagens e tarefas.
microsoft/phi-3-mini-128k-instruct128K tokensLLM leve, de última geração, com habilidades de lógica e matemática.
microsoft/phi-3-mini-4k-instruct4.096 tokensLLM leve, de última geração, com habilidades de lógica e matemática.
microsoft/phi-3-small-8k-instruct8.192 tokensLLM leve, de última geração, com habilidades de lógica e matemática.
microsoft/phi-3-small-128k-instruct128K tokensLLM leve, de última geração, com habilidades de lógica e matemática.
microsoft/phi-3-medium-4k-instruct4.096 tokensLLM leve, de última geração, com habilidades de lógica e matemática.
microsoft/phi-3-medium-128k-instruct128K tokensLLM leve, de última geração, com habilidades de lógica e matemática.
microsoft/phi-3.5-mini-instruct128K tokensLLM multilíngue leve para aplicações de IA restritas em memória e tempo.
microsoft/phi-3.5-moe-instruct128K tokensLLM avançada baseada em Mixture of Experts para geração eficiente de conteúdo.
microsoft/kosmos-21.024 tokensModelo multimodal revolucionário para compreender e raciocinar elementos visuais em imagens.
microsoft/phi-3-vision-128k-instruct128k tokensModelo multimodal aberto de ponta para raciocínio de alta qualidade a partir de imagens.
microsoft/phi-3.5-vision-instruct128k tokensModelo multimodal aberto de ponta para raciocínio de alta qualidade a partir de imagens.
databricks/dbrx-instruct12k tokensLLM de uso geral com desempenho no estado da arte para linguagem, programação e RAG.
snowflake/arctic1.024 tokensInferência eficiente para aplicações empresariais focadas em SQL e programação.
aisingapore/sea-lion-7b-instruct4.096 tokensLLM para representação e diversidade linguística e cultural do sudeste asiático.
ibm/granite-8b-code-instruct4.096 tokensLLM para programação: geração, explicação e diálogo multi-turn de código.
ibm/granite-34b-code-instruct8.192 tokensLLM para programação: geração, explicação e diálogo multi-turn de código.
ibm/granite-3.0-8b-instruct4.096 tokensPequeno modelo avançado, com suporte a RAG, sumário, classificação, código e IA agentica.
ibm/granite-3.0-3b-a800m-instruct4.096 tokensModelo Mixture of Experts eficiente para RAG, sumário, extração de entidades, classificação.
mediatek/breeze-7b-instruct4.096 tokensGera dados sintéticos diversos.
upstage/solar-10.7b-instruct4.096 tokensExcelente em tarefas de PLN, especialmente seguir instruções, raciocínio e matemática.
writer/palmyra-med-70b-32k32k tokensLLM líder para respostas médicas precisas e contextuais.
writer/palmyra-med-70b32k tokensLLM líder para respostas médicas precisas e contextuais.
writer/palmyra-fin-70b-32k32k tokensLLM especializada em análise financeira, relatórios e processamento de dados.
01-ai/yi-large32k tokensPoderoso para inglês e chinês, incluindo chatbot e escrita criativa.
deepseek-ai/deepseek-coder-6.7b-instruct2k tokensModelo avançado para geração de código, autocomplete, infilling.
rakuten/rakutenai-7b-instruct1.024 tokensLLM topo de linha, compreensão, raciocínio e geração textual.
rakuten/rakutenai-7b-chat1.024 tokensLLM topo de linha, compreensão, raciocínio e geração textual.
baichuan-inc/baichuan2-13b-chat4.096 tokensSuporte a chat em chinês/inglês, programação, matemática, seguir instruções, resolver quizzes.

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Local NVIDIA NIM Deployed using WSL2

O NVIDIA NIM permite rodar LLMs potentes localmente em máquinas Windows usando WSL2 (Windows Subsystem for Linux). Este método aproveita o GPU NVIDIA para inferência privativa, segura e econômica, sem depender de serviços em nuvem. Perfeito para desenvolvimento, testes ou produção onde privacidade ou funcionalidades offline são necessárias.

Aqui está um guia passo a passo para configurar um modelo local NVIDIA NIM:

  1. Siga as instruções de instalação no site da NVIDIA

  2. Instale o modelo local. Para Llama 3.1-8b siga as instruções

  3. Configure seus modelos locais crewai:

from crewai.llm import LLM
local_nvidia_nim_llm = LLM(
model="openai/meta/llama-3.1-8b-instruct", # é compatível com openai-api
base_url="http://localhost:8000/v1",
api_key="<your_api_key|any text if you have not configured it>", # api_key obrigatório, pode usar qualquer texto
)
# Então pode usá-lo no seu crew:
@CrewBase
class MyCrew():
# ...
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'], # type: ignore[index]
llm=local_nvidia_nim_llm
)
# ...

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Groq

Defina as seguintes variáveis de ambiente no seu arquivo .env:

GROQ_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="groq/llama-3.2-90b-text-preview",
temperature=0.7
)
ModeloJanela de ContextoMelhor Para
Llama 3.1 70B/8B131.072 tokensAlta performance e tarefas de contexto grande
Llama 3.2 Série8.192 tokensTarefas gerais
Mixtral 8x7B32.768 tokensEquilíbrio entre performance e contexto

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
IBM watsonx.ai

Defina as seguintes variáveis de ambiente no seu arquivo .env:

# Obrigatório
WATSONX_URL=<your-url>
WATSONX_APIKEY=<your-apikey>
WATSONX_PROJECT_ID=<your-project-id>
# Opcional
WATSONX_TOKEN=<your-token>
WATSONX_DEPLOYMENT_SPACE_ID=<your-space-id>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="watsonx/meta-llama/llama-3-1-70b-instruct",
base_url="https://api.watsonx.ai/v1"
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Ollama (LLMs Locais)
  1. Instale o Ollama: ollama.ai
  2. Rode um modelo: ollama run llama3
  3. Configure:
llm = LLM(
model="ollama/llama3:70b",
base_url="http://localhost:11434"
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Fireworks AI

Defina as seguintes variáveis de ambiente no seu arquivo .env:

FIREWORKS_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="fireworks_ai/accounts/fireworks/models/llama-v3-70b-instruct",
temperature=0.7
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Perplexity AI

Defina as seguintes variáveis de ambiente no seu arquivo .env:

PERPLEXITY_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="llama-3.1-sonar-large-128k-online",
base_url="https://api.perplexity.ai/"
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Hugging Face

Defina as seguintes variáveis de ambiente no seu arquivo .env:

HF_TOKEN=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="huggingface/meta-llama/Meta-Llama-3.1-8B-Instruct"
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
SambaNova

Defina as seguintes variáveis de ambiente no seu arquivo .env:

SAMBANOVA_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="sambanova/Meta-Llama-3.1-8B-Instruct",
temperature=0.7
)
ModeloJanela de ContextoMelhor Para
Llama 3.1 70B/8BAté 131.072 tokensAlto desempenho, tarefas com grande contexto
Llama 3.1 405B8.192 tokensDesempenho e qualidade de saída elevada
Llama 3.2 Série8.192 tokensTarefas gerais e multimodais
Llama 3.3 70BAté 131.072 tokensDesempenho e qualidade de saída elevada
Família Qwen28.192 tokensDesempenho e qualidade de saída elevada

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Cerebras

Defina as seguintes variáveis de ambiente no seu arquivo .env:

# Obrigatório
CEREBRAS_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="cerebras/llama3.1-70b",
temperature=0.7,
max_tokens=8192
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'
Open Router

Defina as seguintes variáveis de ambiente no seu arquivo .env:

OPENROUTER_API_KEY=<your-api-key>

Exemplo de uso em seu projeto CrewAI:

llm = LLM(
model="openrouter/deepseek/deepseek-r1",
base_url="https://openrouter.ai/api/v1",
api_key=OPENROUTER_API_KEY
)

Nota: Este provedor usa o LiteLLM. Adicione-o como dependência ao seu projeto:

Terminal window
uv add 'crewai[litellm]'

O CrewAI suporta respostas em streaming de LLMs, permitindo que sua aplicação receba e processe saídas em tempo real assim que são geradas.

Configuração Básica

Ative o streaming definindo o parâmetro stream como True ao inicializar seu LLM:

from crewai import LLM
# Crie um LLM com streaming ativado
llm = LLM(
model="openai/gpt-4o",
stream=True # Ativar streaming
)

Quando o streaming está ativado, as respostas são entregues em partes à medida que vão sendo geradas, criando uma experiência mais responsiva para o usuário.

Manipulação de Eventos

O CrewAI emite eventos para cada chunk recebido durante o streaming:

from crewai.events import (
LLMStreamChunkEvent
)
from crewai.events import BaseEventListener
class MyCustomListener(BaseEventListener):
def setup_listeners(self, crewai_event_bus):
@crewai_event_bus.on(LLMStreamChunkEvent)
def on_llm_stream_chunk(self, event: LLMStreamChunkEvent):
# Clique para cada chunk assim que chegar
print(f"Received chunk: {event.chunk}")
my_listener = MyCustomListener()

O CrewAI suporta respostas estruturadas de LLMs permitindo que você defina um response_format usando um modelo Pydantic. Isso permite que o framework automaticamente faça o parsing e valide a saída, facilitando a integração da resposta em sua aplicação sem pós-processamento manual.

Por exemplo, é possível definir um modelo Pydantic para representar a resposta esperada e passá-lo como response_format ao instanciar o LLM. O modelo será utilizado para converter a resposta do LLM em um objeto Python estruturado.

from crewai import LLM
class Dog(BaseModel):
name: str
age: int
breed: str
llm = LLM(model="gpt-4o", response_format=Dog)
response = llm.call(
"Analyze the following messages and return the name, age, and breed. "
"Meet Kona! She is 3 years old and is a black german shepherd."
)
print(response)
# Output:
# Dog(name='Kona', age=3, breed='black german shepherd')

Saiba como obter o máximo da configuração do seu LLM:

Gestão da Janela de Contexto

O CrewAI inclui recursos inteligentes para gerenciamento de contexto:

from crewai import LLM
# O CrewAI automaticamente gerencia:
# 1. Contagem e acompanhamento de tokens
# 2. Resumo de conteúdo quando necessário
# 3. Divisão de tarefas para grandes contextos
llm = LLM(
model="gpt-4",
max_tokens=4000, # Limitar tamanho da resposta
)
Otimização de Performance
  1. Otimização do Uso de Tokens

    Escolha a janela de contexto certa para sua tarefa:

    • Tarefas pequenas (até 4K tokens): Modelos padrão
    • Tarefas médias (entre 4K-32K): Modelos aprimorados
    • Tarefas grandes (acima de 32K): Modelos com contexto expandido
    # Configure o modelo com as opções certas
    llm = LLM(
    model="openai/gpt-4-turbo-preview",
    temperature=0.7, # Ajuste conforme a tarefa
    max_tokens=4096, # Defina conforme a necessidade da saída
    timeout=300 # Timeout maior para tarefas complexas
    )
  2. Boas Práticas
    1. Monitore o uso de tokens
    2. Implemente limites de taxa (rate limiting)
    3. Use cache quando possível
    4. Defina limites apropriados para max_tokens
Descartar Parâmetros Adicionais

O CrewAI usa Litellm internamente para chamadas LLM, permitindo descartar parâmetros adicionais desnecessários para seu caso de uso. Isso pode simplificar seu código e reduzir a complexidade da configuração do LLM. Por exemplo, se não precisar enviar o parâmetro stop, basta omiti-lo na chamada do LLM:

from crewai import LLM
import os
os.environ["OPENAI_API_KEY"] = "<api-key>"
o3_llm = LLM(
model="o3",
drop_params=True,
additional_drop_params=["stop"]
)
Autenticação
Terminal window
# OpenAI
OPENAI_API_KEY=sk-...
# Anthropic
ANTHROPIC_API_KEY=sk-ant-...
Nomes dos Modelos
# Correto
llm = LLM(model="openai/gpt-4")
# Incorreto
llm = LLM(model="gpt-4")
Comprimento do Contexto
# Modelo com contexto expandido
llm = LLM(model="openai/gpt-4o") # 128K tokens