LLMs
Um guia abrangente para configurar e usar Modelos de Linguagem de Grande Escala (LLMs) em seus projetos CrewAI
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.
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.
Nunca envie chaves de API para controle de versão. Use arquivos de ambiente (.env) ou o gerenciamento de segredos do seu sistema.
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.
Nunca envie chaves de API para controle de versão. Use arquivos de ambiente (.env) ou o gerenciamento de segredos do seu sistema.
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:
A configuração YAML permite:
- Controlar versões das configurações dos agentes
- Trocar facilmente entre diferentes modelos
- Compartilhar configurações entre membros da equipe
- Documentar escolhas de modelos e seus propósitos
Para máxima flexibilidade, configure os LLMs diretamente no seu código Python:
Explicações dos parâmetros:
temperature
: Controla a aleatoriedade (0.0-1.0)timeout
: Tempo máximo de espera pela respostamax_tokens
: Limita o comprimento da respostatop_p
: Alternativa à temperatura para amostragemfrequency_penalty
: Reduz repetição de palavraspresence_penalty
: Incentiva novos tópicosresponse_format
: Especifica formato de saídaseed
: Garante resultados consistentes
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.
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.
Ative o streaming definindo o parâmetro stream
como True
ao inicializar seu LLM:
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.
Ative o streaming definindo o parâmetro stream
como True
ao inicializar seu LLM:
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.
Recursos Avançados e Otimização
Saiba como obter o máximo da configuração do seu LLM:
Problemas Comuns e Soluções
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.
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.
Sempre inclua o prefixo do provedor nos nomes dos modelos
Use modelos de contexto expandido para tarefas extensas