File size: 2,023 Bytes
5eae917
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php

// Configurar zona horaria para evitar problemas con las fechas/horas
date_default_timezone_set('UTC');

// Leer el archivo de conocimientos
$knowledgeFilePath = 'conocimiento.txt';
$knowledge = file_get_contents($knowledgeFilePath);

// Funci贸n para hacer solicitudes al modelo GPT de Hugging Face
function askModel($prompt, $knowledge, $apiKey) {
    $promptWithKnowledge = $knowledge . "\n\n" . $prompt;

    $data = json_encode([
        'inputs' => $promptWithKnowledge,
        // Agrega otros par谩metros necesarios aqu铆
    ]);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://api-inference.huggingface.co/models/google/gemma-7b"); // Aseg煤rate de que este es el modelo correcto
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json'
    ]);

    $response = curl_exec($ch);

    // Verificar si hubo un error en la petici贸n
    if (curl_errno($ch)) {
        $error_msg = curl_error($ch);
    } else if ($response === false || curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) {
        // Error o respuesta diferente a 200 OK
        $error_msg = "Error en la respuesta de la API o respuesta vac铆a. C贸digo HTTP: " . curl_getinfo($ch, CURLINFO_HTTP_CODE) . "\nResponse: " . $response;
    }
    curl_close($ch);

    if (isset($error_msg)) {
        return "Error de cURL: " . $error_msg;
    }

    $responseData = json_decode($response, true);

    if (!empty($responseData) && isset($responseData['generated_text'])) {
        return trim($responseData['generated_text']);
    }

    // Devolver la respuesta cruda para depuraci贸n
    return $response ? $response : "No se recibi贸 ninguna respuesta, verifique su solicitud y los par谩metros de API.";
}

// ... La funci贸n runChatConsole permanece igual ...

// Inicio del chat
runChatConsole($knowledge, $apiKey);
?>