Spaces:
Running
Running
File size: 2,720 Bytes
ca3173f fea29de ca3173f fea29de |
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
/** * Ejemplo de código para integrar BITER en justbyte.es * Este archivo muestra cómo implementar la comunicación con la API de BITER * desde tu sitio web. */ // URL de tu Hugging Face Space const BITER_API_URL = "https://tu-usuario-huggingface.hf.space/generate" // Elementos del DOM const chatForm = document.getElementById("chat-form") const userInput = document.getElementById("user-input") const chatMessages = document.getElementById("chat-messages") const loadingIndicator = document.getElementById("loading-indicator") // Manejar envío del formulario chatForm.addEventListener("submit", async (e) => { e.preventDefault() // Obtener mensaje del usuario const userMessage = userInput.value.trim() if (!userMessage) return // Limpiar input userInput.value = "" // Mostrar mensaje del usuario appendMessage("user", userMessage) // Mostrar indicador de carga loadingIndicator.style.display = "block" try { // Enviar solicitud a la API de BITER const response = await fetch(BITER_API_URL, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ message: userMessage, }), }) // Verificar si la respuesta es exitosa if (!response.ok) { throw new Error("Error en la respuesta de la API") } // Obtener datos de la respuesta const data = await response.json() // Mostrar respuesta de BITER appendMessage("assistant", data.response) } catch (error) { console.error("Error:", error) appendMessage( "system", "Lo siento, ha ocurrido un error al conectar con BITER. Por favor, intenta de nuevo más tarde.", ) } finally { // Ocultar indicador de carga loadingIndicator.style.display = "none" } }) // Función para añadir mensajes al chat function appendMessage(role, content) { const messageDiv = document.createElement("div") messageDiv.className = `message ${role}-message` // Crear avatar const avatar = document.createElement("div") avatar.className = "avatar" // Icono según el rol if (role === "user") { avatar.innerHTML = "👤" } else if (role === "assistant") { avatar.innerHTML = "🤖" } else { avatar.innerHTML = "⚠️" } // Crear contenido del mensaje const messageContent = document.createElement("div") messageContent.className = "message-content" messageContent.textContent = content // Añadir elementos al mensaje messageDiv.appendChild(avatar) messageDiv.appendChild(messageContent) // Añadir mensaje al contenedor chatMessages.appendChild(messageDiv) // Scroll al último mensaje chatMessages.scrollTop = chatMessages.scrollHeight } |