askbyte commited on
Commit
a22cbd1
verified
1 Parent(s): 928cd07

Create client-example.js

Browse files
Files changed (1) hide show
  1. client-example.js +100 -0
client-example.js ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Ejemplo de c贸digo para integrar BITER en justbyte.es
3
+ * Este archivo muestra c贸mo implementar la comunicaci贸n con la API de BITER
4
+ * desde tu sitio web.
5
+ */
6
+
7
+ // URL de tu Hugging Face Space
8
+ const BITER_API_URL = "https://tu-usuario-huggingface.hf.space/generate"
9
+
10
+ // Elementos del DOM
11
+ const chatForm = document.getElementById("chat-form")
12
+ const userInput = document.getElementById("user-input")
13
+ const chatMessages = document.getElementById("chat-messages")
14
+ const loadingIndicator = document.getElementById("loading-indicator")
15
+
16
+ // Manejar env铆o del formulario
17
+ chatForm.addEventListener("submit", async (e) => {
18
+ e.preventDefault()
19
+
20
+ // Obtener mensaje del usuario
21
+ const userMessage = userInput.value.trim()
22
+ if (!userMessage) return
23
+
24
+ // Limpiar input
25
+ userInput.value = ""
26
+
27
+ // Mostrar mensaje del usuario
28
+ appendMessage("user", userMessage)
29
+
30
+ // Mostrar indicador de carga
31
+ loadingIndicator.style.display = "block"
32
+
33
+ try {
34
+ // Enviar solicitud a la API de BITER
35
+ const response = await fetch(BITER_API_URL, {
36
+ method: "POST",
37
+ headers: {
38
+ "Content-Type": "application/json",
39
+ },
40
+ body: JSON.stringify({
41
+ message: userMessage,
42
+ }),
43
+ })
44
+
45
+ // Verificar si la respuesta es exitosa
46
+ if (!response.ok) {
47
+ throw new Error("Error en la respuesta de la API")
48
+ }
49
+
50
+ // Obtener datos de la respuesta
51
+ const data = await response.json()
52
+
53
+ // Mostrar respuesta de BITER
54
+ appendMessage("assistant", data.response)
55
+ } catch (error) {
56
+ console.error("Error:", error)
57
+ appendMessage(
58
+ "system",
59
+ "Lo siento, ha ocurrido un error al conectar con BITER. Por favor, intenta de nuevo m谩s tarde.",
60
+ )
61
+ } finally {
62
+ // Ocultar indicador de carga
63
+ loadingIndicator.style.display = "none"
64
+ }
65
+ })
66
+
67
+ // Funci贸n para a帽adir mensajes al chat
68
+ function appendMessage(role, content) {
69
+ const messageDiv = document.createElement("div")
70
+ messageDiv.className = `message ${role}-message`
71
+
72
+ // Crear avatar
73
+ const avatar = document.createElement("div")
74
+ avatar.className = "avatar"
75
+
76
+ // Icono seg煤n el rol
77
+ if (role === "user") {
78
+ avatar.innerHTML = "馃懁"
79
+ } else if (role === "assistant") {
80
+ avatar.innerHTML = "馃"
81
+ } else {
82
+ avatar.innerHTML = "鈿狅笍"
83
+ }
84
+
85
+ // Crear contenido del mensaje
86
+ const messageContent = document.createElement("div")
87
+ messageContent.className = "message-content"
88
+ messageContent.textContent = content
89
+
90
+ // A帽adir elementos al mensaje
91
+ messageDiv.appendChild(avatar)
92
+ messageDiv.appendChild(messageContent)
93
+
94
+ // A帽adir mensaje al contenedor
95
+ chatMessages.appendChild(messageDiv)
96
+
97
+ // Scroll al 煤ltimo mensaje
98
+ chatMessages.scrollTop = chatMessages.scrollHeight
99
+ }
100
+