Skip to content

Mensagens

A classe Message no LabsLLM é usada para criar vários tipos de mensagens para interações de chat. Cada mensagem tem um papel (como 'user', 'assistant' ou 'system') e conteúdo.

Tipos de Mensagens

O LabsLLM suporta vários tipos de mensagens, cada um servindo a um propósito diferente nas conversas com modelos de IA:

Mensagens do Usuário

Mensagens do usuário representam entradas do usuário final:

php
$userMessage = Message::user('O que é computação quântica?');

Mensagens do Assistente

Mensagens do assistente representam respostas do modelo de IA:

php
$assistantMessage = Message::assistant('Computação quântica é um tipo de computação que usa fenômenos quânticos como superposição e entrelaçamento para realizar operações em dados.');

Você também pode criar mensagens do assistente com chamadas de ferramentas:

php
$assistantMessageWithToolCall = Message::assistant(null, [
    [
        'id' => 'call_12345',
        'type' => 'function',
        'function' => [
            'name' => 'getDate',
            'arguments' => '{}'
        ]
    ]
]);

Mensagens do Sistema

Mensagens do sistema fornecem instruções ou contexto para o modelo de IA:

php
$systemMessage = Message::system('Você é um assistente útil especializado em explicar tópicos complexos em termos simples.');

Mensagens de Ferramenta

Mensagens de ferramenta representam respostas de ferramentas que a IA chamou:

php
// Mensagem completa de ferramenta com todos os parâmetros
$toolMessage = Message::tool(
    content: '2024-05-05',     // O conteúdo da resposta
    id: 'call_12345',                 // O ID da chamada da ferramenta
    name: 'getDate',                  // O nome da ferramenta
    description: 'Obter data atual',  // Descrição do que a ferramenta faz
    arguments: ['format' => 'Y-m-d'], // Argumentos passados para a ferramenta
    response: '2024-05-05'           // A resposta real da ferramenta
);

Trabalhando com Mensagens

As mensagens podem ser usadas individualmente ou coletadas em um MessagesBag para conversas de chat:

php
// Criar mensagens
$assistantMessage = Message::assistant('Estou bem! Como posso ajudá-lo hoje?')
$userMessage = Message::user('Olá, quem é você?');

// Adicionar a um MessagesBag
$messages = MessagesBag::create([$systemMessage, $userMessage]);

// Obter detalhes da mensagem
echo $userMessage->getRole();    // 'user'
echo $userMessage->getContent(); // 'Olá, quem é você?'

// Converter para formato de array
$messageArray = $userMessage->toArray();

Estrutura da Mensagem

Internamente, cada mensagem tem:

  • role: Identifica de quem é a mensagem ('user', 'assistant', 'system' ou 'tool')
  • content: O conteúdo de texto da mensagem
  • toolCalls: Array opcional de chamadas de ferramentas feitas pelo assistente
  • toolCallId: ID opcional que vincula uma resposta de ferramenta à sua solicitação

Para mais informações sobre como usar mensagens em conversas, consulte a seção MessageBag.

Lançado sob a Licença MIT.