I can not crate a assistan conersation

Where it is the problem?

<?php session_start(); // Iniciar la sesión para usar variables de sesión // Función para crear un hilo en el asistente existente function createThread($apiKey, $assistantId) { $thread_url = 'https://api.openai.com/v1/assistants/' . $assistantId . '/threads'; $thread_data = [ 'name' => 'Nombre del hilo' ]; $thread_headers = [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey, 'OpenAI-Beta: assistants=v2' // Agregar el encabezado necesario ]; $ch = curl_init($thread_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($thread_data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $thread_headers); $response = curl_exec($ch); if (curl_errno($ch)) { echo 'Error en la llamada cURL: ' . curl_error($ch); } else { $decodedResponse = json_decode($response, true); if (isset($decodedResponse['data']['id'])) { $threadId = $decodedResponse['data']['id']; return $threadId; } else { echo 'Error al crear el hilo: '; print_r($decodedResponse); } } curl_close($ch); } // Función para crear un mensaje en el hilo function createMessage($apiKey, $assistantId, $threadId, $text) { $message_url = 'https://api.openai.com/v1/assistants/' . $assistantId . '/threads/' . $threadId . '/messages'; $message_data = [ 'role' => 'user', // Indica que el mensaje es del usuario 'content' => [ 'text' => $text ] ]; $message_headers = [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey, 'OpenAI-Beta: assistants=v2' // Agregar el encabezado necesario ]; $ch = curl_init($message_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($message_data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $message_headers); $response = curl_exec($ch); if (curl_errno($ch)) { echo 'Error en la llamada cURL: ' . curl_error($ch); } else { $decodedResponse = json_decode($response, true); if (isset($decodedResponse['data']['id'])) { $messageId = $decodedResponse['data']['id']; return $messageId; } else { echo 'Error al crear el mensaje: '; print_r($decodedResponse); } } curl_close($ch); } // Función para ejecutar el hilo function runThread($apiKey, $assistantId, $threadId) { $run_url = 'https://api.openai.com/v1/assistants/' . $assistantId . '/threads/' . $threadId . '/messages'; $run_data = [ 'role' => 'assistant' // Indica que el mensaje es del asistente ]; $run_headers = [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey, 'OpenAI-Beta: assistants=v2' // Agregar el encabezado necesario ]; $ch = curl_init($run_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($run_data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $run_headers); $response = curl_exec($ch); if (curl_errno($ch)) { echo 'Error en la llamada cURL: ' . curl_error($ch); } else { $decodedResponse = json_decode($response, true); if (isset($decodedResponse['data']['id'])) { // El hilo se ha ejecutado correctamente echo 'El hilo se ha ejecutado correctamente.'; } else { echo 'Error al ejecutar el hilo: '; print_r($decodedResponse); } } curl_close($ch); } // Verificar si se ha enviado la solicitud para borrar el historial if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["borrar_historial"])) { // Limpiar la variable de sesión que contiene el historial de conversaciones unset($_SESSION['conversaciones']); echo ""; // Añadir un mensaje de confirmación } if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["enviar_consulta"])) { // Ruta al archivo de configuración $configFile = '/var/private/config'; // Lee el contenido del archivo de configuración $config = parse_ini_file($configFile); // Verifica si la variable open_ai_key está definida en el archivo de configuración if (isset($config['open_ai_key'])) { // Recupera el valor de la variable open_ai_key $openAiKey = $config['open_ai_key']; } else { echo "La variable open_ai_key no está definida en el archivo de configuración."; exit; // Sale del script si la clave API no está disponible } $apiKey = $openAiKey; $entrada = $_POST["texto"]; // Obtiene el texto ingresado por el usuario // ID de tu asistente existente $assistantId = 'XXXXXXX'; // Crear un hilo en el asistente $threadId = createThread($apiKey, $assistantId); // Verificar si se ha creado correctamente el hilo if ($threadId) { // Crear un mensaje en el hilo $messageId = createMessage($apiKey, $assistantId, $threadId, $entrada); // Verificar si se ha creado correctamente el mensaje if ($messageId) { // Ejecutar el hilo runThread($apiKey, $assistantId, $threadId); } } } ?> GenAI Testing

Testing OpenAI API

Imagen
        <form action="" method="post">
            <textarea id="texto" name="texto" rows="4" cols="50"></textarea><br><br>
            <input type="submit" name="enviar_consulta" value="Enviar Consulta">
            <input type="submit" name="borrar_historial" value="Borrar conversación">
        </form>
        
        <?php
        // Mostrar el historial de conversaciones si está disponible en la sesión
        if (isset($_SESSION['conversaciones'])) {
            foreach ($_SESSION['conversaciones'] as $conversacion) {
                echo "<p><strong>Pregunta:</strong> {$conversacion['pregunta']}</p>";
                echo "<p><strong>Respuesta:</strong> {$conversacion['respuesta']}</p>";
            }
        }
        ?>            
    </div>
</div>
<footer>
    
</footer>

The answer is

Error al crear el hilo: Array ( [error] => Array ( [message] => Invalid URL (POST /v1/assistants/XXXXX/threads) [type] => invalid_request_error [param] => [code] => ) )