Pular para o conteúdo principal

Visão Geral

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.

O que são LLMs?

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.

Configurando seu LLM

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
  • 2. Configuração YAML
  • 3. Código Direto
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.
.env
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.
Nunca envie chaves de API para controle de versão. Use arquivos de ambiente (.env) ou o gerenciamento de segredos do seu sistema.

Exemplos de Configuração de Provedores

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.
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
# 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:
Code
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
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:
Code
# Configuração chave da API Meta Llama
LLAMA_API_KEY=LLM|your_api_key_here
Exemplo de uso em seu projeto CrewAI:
Code
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
Code
# Obrigatório
ANTHROPIC_API_KEY=sk-ant-...

# Opcional
ANTHROPIC_API_BASE=<custom-base-url>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="anthropic/claude-3-sonnet-20240229-v1:0",
    temperature=0.7
)
Defina sua chave de API no seu arquivo .env. Se precisar de uma chave, ou encontrar uma existente, verifique o AI Studio.
.env
# https://ai.google.dev/gemini-api/docs/api-key
GEMINI_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
from crewai import LLM

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

Modelos Gemini

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.

Gemma

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
Obtenha as credenciais pelo Google Cloud Console, salve em um arquivo JSON e carregue com o código a seguir:
Code
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:
Code
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
Code
# 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:
Code
llm = LLM(
    model="azure/gpt-4",
    api_version="2023-05-15"
)
Code
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:
Code
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 ambienteAmazon 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.
Code
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:
Code
llm = LLM(
    model="sagemaker/<my-endpoint>"
)
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
MISTRAL_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="mistral/mistral-large-latest",
    temperature=0.7
)
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
NVIDIA_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
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.
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:
Code
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
        )

    # ...
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
GROQ_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
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
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
# 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:
Code
llm = LLM(
    model="watsonx/meta-llama/llama-3-1-70b-instruct",
    base_url="https://api.watsonx.ai/v1"
)
  1. Instale o Ollama: ollama.ai
  2. Rode um modelo: ollama run llama3
  3. Configure:
Code
llm = LLM(
    model="ollama/llama3:70b",
    base_url="http://localhost:11434"
)
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
FIREWORKS_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="fireworks_ai/accounts/fireworks/models/llama-v3-70b-instruct",
    temperature=0.7
)
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
PERPLEXITY_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="llama-3.1-sonar-large-128k-online",
    base_url="https://api.perplexity.ai/"
)
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
HF_TOKEN=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="huggingface/meta-llama/Meta-Llama-3.1-8B-Instruct"
)
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
SAMBANOVA_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
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
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
# Obrigatório
CEREBRAS_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="cerebras/llama3.1-70b",
    temperature=0.7,
    max_tokens=8192
)
Recursos do Cerebras:
  • Altas velocidades de inferência
  • Preços competitivos
  • Equilíbrio entre velocidade e qualidade
  • Suporte a longas janelas de contexto
Defina as seguintes variáveis de ambiente no seu arquivo .env:
Code
OPENROUTER_API_KEY=<your-api-key>
Exemplo de uso em seu projeto CrewAI:
Code
llm = LLM(
    model="openrouter/deepseek/deepseek-r1",
    base_url="https://openrouter.ai/api/v1",
    api_key=OPENROUTER_API_KEY
)
Modelos do Open Router:
  • openrouter/deepseek/deepseek-r1
  • openrouter/deepseek/deepseek-chat

Respostas em streaming

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
  • Manipulação de Eventos
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.

Chamada Estruturada de LLM

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.
Code
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')

Recursos Avançados e Otimização

Saiba como obter o máximo da configuração do seu LLM:
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
)
Boas práticas para o gerenciamento de contexto:
  1. Prefira modelos com janelas apropriadas
  2. Pré-processe entradas muito longas
  3. Utilize divisão para documentos grandes
  4. Monitore tokens para otimizar custos
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
)
  • Temperaturas baixas (0.1 a 0.3) para respostas factuais
  • Temperaturas altas (0.7 a 0.9) para tarefas criativas
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
Lembre-se de monitorar regularmente o uso de tokens e ajustar suas configurações para otimizar custos e desempenho.
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"]
)

Problemas Comuns e Soluções

  • Autenticação
  • Nomes dos Modelos
  • Comprimento do Contexto
A maioria dos problemas de autenticação pode ser resolvida verificando o formato da chave da API e os nomes das variáveis de ambiente.
# OpenAI
OPENAI_API_KEY=sk-...

# Anthropic
ANTHROPIC_API_KEY=sk-ant-...
I