Conecte-se a qualquer LLM
Conecte o CrewAI a LLMs
Seção intitulada “Conecte o CrewAI a LLMs”O CrewAI conecta-se a LLMs por meio de integrações nativas via SDK para os provedores mais populares (OpenAI, Anthropic, Google Gemini, Azure e AWS Bedrock), e usa o LiteLLM como alternativa flexível para todos os demais provedores.
Provedores Compatíveis
Seção intitulada “Provedores Compatíveis”O LiteLLM oferece suporte a uma ampla gama de provedores, incluindo, mas não se limitando a:
- 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
- NVIDIA NIMs
- E muitos outros!
Para uma lista completa e sempre atualizada dos provedores suportados, consulte a documentação de Provedores do LiteLLM.
Alterando a LLM
Seção intitulada “Alterando a LLM”Para utilizar uma LLM diferente com seus agentes CrewAI, você tem várias opções:
Passe o nome do modelo como uma string ao inicializar o agente:
from crewai import Agent
# Usando o GPT-4 da OpenAIopenai_agent = Agent( role='OpenAI Expert', goal='Provide insights using GPT-4', backstory="An AI assistant powered by OpenAI's latest model.", llm='gpt-4')
# Usando o Claude da Anthropicclaude_agent = Agent( role='Anthropic Expert', goal='Analyze data using Claude', backstory="An AI assistant leveraging Anthropic's language model.", llm='claude-2')Para uma configuração mais detalhada, utilize a classe LLM:
from crewai import Agent, LLM
llm = LLM( model="gpt-4", temperature=0.7, base_url="https://api.openai.com/v1", api_key="your-api-key-here")
agent = Agent( role='Customized LLM Expert', goal='Provide tailored responses', backstory="An AI assistant with custom LLM settings.", llm=llm)Opções de Configuração
Seção intitulada “Opções de Configuração”Ao configurar uma LLM para o seu agente, você tem acesso a uma variedade de parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| model | str | O nome do modelo a ser utilizado (ex.: “gpt-4”, “claude-2”) |
| temperature | float | Controla o grau de aleatoriedade nas respostas (0.0 a 1.0) |
| max_tokens | int | Número máximo de tokens a serem gerados |
| top_p | float | Controla a diversidade das respostas (0.0 a 1.0) |
| frequency_penalty | float | Penaliza novos tokens com base na frequência em que já apareceram no texto |
| presence_penalty | float | Penaliza novos tokens com base na presença deles no texto até o momento |
| stop | str, List[str] | Sequência(s) que interrompem a geração do texto |
| base_url | str | URL base do endpoint da API |
| api_key | str | Sua chave de API para autenticação |
Para uma lista completa de parâmetros e suas respectivas descrições, consulte a documentação da classe LLM.
Conectando-se a LLMs Compatíveis com OpenAI
Seção intitulada “Conectando-se a LLMs Compatíveis com OpenAI”Você pode se conectar a LLMs compatíveis com a OpenAI usando variáveis de ambiente ou definindo atributos específicos na classe LLM:
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"import os
# Exemplo usando a API compatível com OpenAI do Gemini.os.environ["OPENAI_API_KEY"] = "your-gemini-key" # Deve começar com AIza...os.environ["OPENAI_API_BASE"] = "https://generativelanguage.googleapis.com/v1beta/openai/"os.environ["OPENAI_MODEL_NAME"] = "openai/gemini-2.0-flash" # Adicione aqui seu modelo do Gemini, sob openai/llm = LLM( model="custom-model-name", api_key="your-api-key", base_url="https://api.your-provider.com/v1")agent = Agent(llm=llm, ...)# Exemplo usando a API compatível com OpenAI do Geminillm = LLM( model="openai/gemini-2.0-flash", base_url="https://generativelanguage.googleapis.com/v1beta/openai/", api_key="your-gemini-key", # Deve começar com AIza...)agent = Agent(llm=llm, ...)Utilizando Modelos Locais com Ollama
Seção intitulada “Utilizando Modelos Locais com Ollama”Para modelos locais como os oferecidos pelo Ollama:
- Baixe e instale o Ollama
- Puxe o modelo desejado
Por exemplo, execute
ollama pull llama3.2para baixar o modelo. - Configure seu agenteCodeagent = Agent(role='Local AI Expert',goal='Process information using a local model',backstory="An AI assistant running on local hardware.",llm=LLM(model="ollama/llama3.2", base_url="http://localhost:11434"))
Alterando a URL Base da API
Seção intitulada “Alterando a URL Base da API”Você pode alterar a URL base da API para qualquer provedor de LLM definindo o parâmetro base_url:
llm = LLM( model="custom-model-name", base_url="https://api.your-provider.com/v1", api_key="your-api-key")agent = Agent(llm=llm, ...)Isso é particularmente útil ao trabalhar com APIs compatíveis com a OpenAI ou quando você precisa especificar um endpoint diferente para o provedor escolhido.
Conclusão
Seção intitulada “Conclusão”Ao utilizar o LiteLLM, o CrewAI oferece integração transparente com uma vasta gama de LLMs. Essa flexibilidade permite que você escolha o modelo mais adequado para sua necessidade específica, seja priorizando desempenho, custo-benefício ou implantação local. Lembre-se de consultar a documentação do LiteLLM para obter as informações mais atualizadas sobre modelos suportados e opções de configuração.