Objeto de Resposta da API
INFO
Esta seção descreve o objeto de resposta retornado por todas as chamadas da API LabsLLM, que contém a saída do modelo e dados relacionados. Isso é diferente do recurso "Saída Estruturada", que permite solicitar formatos específicos do modelo.
Quando você executa um prompt ou interação de chat com o LabsLLM, o método getResponseData()
retorna um objeto contendo três elementos principais que fornecem informações abrangentes sobre a interação.
Elementos Principais da Resposta
$response = $execute->getResponseData();
// Resposta de texto do modelo (string)
$response->response;
// Chamadas de função/ferramenta solicitadas pelo modelo (array)
$response->function_calls;
// Ferramentas que foram executadas com seus resultados (array)
$response->called_tools;
Response
A propriedade response
contém a resposta de texto gerada pelo modelo. Por exemplo:
echo $response->response;
// Saída: "A data atual é 14 de julho de 2023"
Ao usar saída estruturada (consulte Saída Estruturada), você pode obter a resposta estruturada usando getStructureResponse()
:
// Obter o objeto de resposta estruturada
$data = $response->getStructureResponse();
echo $data->response->title; // Acesse as propriedades diretamente
Esta é a propriedade mais comumente usada quando você precisa apenas da saída de texto do modelo.
Function Calls
A propriedade function_calls
contém informações sobre quaisquer ferramentas/funções que o modelo solicitou chamar:
if (!empty($response->function_calls)) {
foreach ($response->function_calls as $call) {
echo "Função: " . $call['name'] . PHP_EOL;
echo "Argumentos: " . json_encode($call['arguments']) . PHP_EOL;
echo "ID: " . $call['id'] . PHP_EOL;
}
}
Cada chamada de função inclui:
name
: O nome da função solicitadaarguments
: Os parâmetros enviados para a funçãoid
: Identificador único para esta chamada de função
Called Tools
A propriedade called_tools
contém os resultados das ferramentas que foram realmente executadas:
if (!empty($response->called_tools)) {
foreach ($response->called_tools as $tool) {
echo "Ferramenta: " . $tool['name'] . PHP_EOL;
echo "Argumentos: " . json_encode($tool['arguments']) . PHP_EOL;
echo "Resposta: " . $tool['response']['response'] . PHP_EOL;
echo "ID: " . $tool['id'] . PHP_EOL;
}
}
Cada execução de ferramenta inclui:
name
: O nome da ferramentaarguments
: O que foi passado para a ferramentaresponse
: A saída retornada pela ferramentaid
: Identificador único correspondente à chamada de função