Implementação de LLM Personalizada
Aprenda a criar implementações personalizadas de LLM no CrewAI.
Visão Geral
O CrewAI oferece suporte a implementações personalizadas de LLM por meio da classe abstrata BaseLLM
. Isso permite integrar qualquer provedor de LLM que não tenha suporte nativo no LiteLLM ou implementar mecanismos de autenticação personalizados.
Início Rápido
Aqui está uma implementação mínima de LLM personalizada:
Usando Seu LLM Personalizado
Métodos Necessários
Construtor: __init__()
Crítico: Você deve chamar super().__init__(model, temperature)
com os parâmetros necessários:
Método Abstrato: call()
O método call()
é o núcleo da sua implementação de LLM. Ele deve:
- Aceitar mensagens (string ou lista de dicionários com ‘role’ e ‘content’)
- Retornar uma resposta como string
- Lidar com ferramentas e chamada de funções, se suportado
- Lançar exceções apropriadas para erros
Métodos Opcionais
Padrões Comuns
Tratamento de Erros
Autenticação Personalizada
Suporte a Stop Words
O CrewAI adiciona automaticamente "\nObservation:"
como stop word para controlar o comportamento do agente. Se o seu LLM suporta stop words:
Se o seu LLM não suporta stop words nativamente:
Chamada de Funções
Se o seu LLM suporta chamada de funções, implemente o fluxo completo:
Solução de Problemas
Problemas Comuns
Erros no Construtor
Chamada de Funções Não Funciona
- Certifique-se de que
supports_function_calling()
retornaTrue
- Verifique se você lida com
tool_calls
na resposta - Assegure-se de que o parâmetro
available_functions
está sendo corretamente utilizado
Falhas de Autenticação
- Verifique o formato e as permissões da chave de API
- Confira o formato do header de autenticação
- Certifique-se de que as URLs dos endpoints estão corretas
Erros de Parsing de Resposta
- Valide a estrutura da resposta antes de acessar campos aninhados
- Trate casos em que o content pode ser None
- Adicione tratamento de erros para respostas malformadas
Testando Seu LLM Personalizado
Este guia cobre o essencial para implementar LLMs personalizados no CrewAI.