Skip to content

Provedores

O LabsLLM permite que você alterne facilmente entre diferentes provedores de LLM sem ter que reescrever seu código, seguindo a filosofia escreva uma vez, execute em qualquer lugar.

Provedores Suportados

Atualmente, o LabsLLM suporta os seguintes provedores:

RecursoOpenAIGoogleAnthropic
Prompts de Texto📅
Instruções de Sistema📅
Chat📅
Ferramentas/Funções
Saída Estruturada
Streaming
Embeddings📅
Voz📅
Geração de Imagens📅📅

Configurando um Provedor

Cada provedor requer uma configuração específica, mas a interface é consistente. Você só precisa especificar qual provedor deseja usar ao criar sua instância.

OpenAI

php
// Usando OpenAI
$execute = LabsLLM::text()
    ->using(new OpenAI('sua-chave-api', 'gpt-4o'))
    ->executePrompt('Olá mundo');

Google

php
// Usando Google
$execute = LabsLLM::text()
    ->using(new Google('sua-chave-api', 'gemini-pro'))
    ->executePrompt('Olá mundo');

Anthropic (Planejado)

php
// Usando Anthropic (desenvolvimento futuro)
$execute = LabsLLM::text()
    ->using(new Anthropic('sua-chave-api', 'claude-3-opus'))
    ->executePrompt('Olá mundo');

Alternando Entre Provedores

A beleza do LabsLLM é que você pode alternar facilmente entre provedores sem alterar nenhum outro código em sua aplicação. Isso significa que você pode:

  1. Desenvolver com um provedor e implantar com outro
  2. Conduzir testes A/B entre diferentes provedores
  3. Construir redundância em sua aplicação em caso de indisponibilidade do provedor

Exemplo Prático

Este código funciona com qualquer provedor suportado, permitindo que você alterne facilmente:

php
// Inicialmente usando OpenAI
$provider = new OpenAI('sua-chave-api', 'gpt-4o');

// Para mudar para o Google, basta substituir a linha acima por:
// $provider = new Google('sua-chave-api', 'gemini-pro');

// O resto do código permanece idêntico
$execute = LabsLLM::text()
    ->using($provider)
    ->executePrompt('Qual é a capital do Brasil?');

$response = $execute->getResponseData();
echo $response->response; // "A capital do Brasil é Brasília."

Configurações Específicas do Provedor

Cada provedor pode ter suas próprias configurações específicas, como modelos disponíveis, parâmetros de solicitação, etc.

Modelos Disponíveis por Provedor

ProvedorModelos Populares
OpenAIgpt-4o, gpt-4-turbo, gpt-3.5-turbo
Googlegemini-pro, gemini-ultra
Anthropicclaude-3-opus, claude-3-sonnet, claude-3-haiku

Configuração de Modelo e Parâmetros

php
// Usando OpenAI com modelo específico e temperatura
$execute = LabsLLM::text()
    ->using(new OpenAI('sua-chave-api', 'gpt-4o'))
    ->withTemperature(0.7) // Ajusta a criatividade do modelo
    ->executePrompt('Conte-me uma história');

// Usando Google com configurações diferentes
$execute = LabsLLM::text()
    ->using(new Google('sua-chave-api', 'gemini-pro'))
    ->withTopP(0.9) // Controla a diversidade da resposta
    ->executePrompt('Conte-me uma história');

Injeção de Dependência

Em aplicações reais, considere usar injeção de dependência para facilitar a alternância de provedores:

php
class AIService
{
    private $llm;
    
    public function __construct(ProviderInterface $provider)
    {
        $this->llm = LabsLLM::text()->using($provider);
    }
    
    public function ask($question)
    {
        $execute = $this->llm->executePrompt($question);
        return $execute->getResponseData()->response;
    }
}

// Em seu arquivo de configuração ou provedor de serviço
$service = new AIService(new OpenAI('sua-chave-api', 'gpt-4o'));

// Para mudar para outro provedor, basta alterar esta linha
// $service = new AIService(new Google('sua-chave-api', 'gemini-pro'));

Recomendações

  • Comece com OpenAI: A implementação do OpenAI é a mais completa e testada.
  • Centralize a Configuração: Mantenha a configuração do seu provedor em um local centralizado para facilitar a alternância.
  • Teste com Múltiplos Provedores: Se possível, teste sua aplicação com diferentes provedores para garantir compatibilidade.

Próximos Passos

Agora que você entende como configurar e alternar entre provedores, você pode explorar os diferentes recursos do LabsLLM, como Prompts, Chat e Ferramentas.

Lançado sob a Licença MIT.