PHP Classes

File: tests/test_phase3.php

Recommend this page to a friend!
  Packages of Rodrigo Faustino   PHP Nano RAG   tests/test_phase3.php   Download  
File: tests/test_phase3.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Nano RAG
Learn and ask questions using AI with RAG
Author: By
Last change:
Date: 3 months ago
Size: 1,425 bytes
 

Contents

Class file image Download
<?php

require_once __DIR__ . '/../vendor/autoload.php';

use
NanoRag\LlmClient\OllamaClient;

// Ajuste os modelos aqui se você baixou outros nomes (ex: mistral, llama3, etc)
// Se estiver usando docker, mude localhost para o IP do container ou host.docker.internal
$client = new OllamaClient('http://localhost:11434', 'llama3.2', 'nomic-embed-text');

echo
"--- Teste de Conexão com Ollama ---\n";

try {
   
// 1. Teste de Embedding
   
echo "1. Gerando vetor para a frase 'O PHP é infinito'...\n";
   
$start = microtime(true);
   
   
$vector = $client->getEmbedding("O PHP é infinito");
   
   
$duration = microtime(true) - $start;
   
$dimensao = count($vector);
   
    echo
"Embedding gerado em " . number_format($duration, 2) . "s\n";
    echo
"Dimensão do vetor: " . $dimensao . " (Isso confirma que o modelo está funcionando)\n\n";

   
// 2. Teste de Chat
   
echo "2. Enviando pergunta simples para o Chat...\n";
    echo
"Perguntando: 'Qual a capital da França? Responda em 1 palavra.'\n";
   
   
$response = $client->chat("Qual a capital da França? Responda em 1 palavra.");
   
    echo
"Resposta da IA: " . trim($response) . "\n\n";

    echo
"Fase 3 Concluída: PHP está controlando o Ollama com sucesso.\n";

} catch (
Exception $e) {
    echo
"Erro Crítico: " . $e->getMessage() . "\n";
    echo
"DICA: Verifique se o Ollama está rodando e se você fez o 'ollama pull' dos modelos.\n";
}