Update app.py
Browse files
app.py
CHANGED
@@ -19,6 +19,7 @@ from pydantic import BaseModel
|
|
19 |
from dotenv import load_dotenv
|
20 |
from datetime import datetime
|
21 |
import logging
|
|
|
22 |
|
23 |
# Configuración de logging
|
24 |
logging.basicConfig(level=logging.INFO)
|
@@ -95,7 +96,7 @@ async def train_and_save_model():
|
|
95 |
|
96 |
training = []
|
97 |
output_empty = [0] * len(classes)
|
98 |
-
for doc in documents:
|
99 |
bag = [0] * len(words)
|
100 |
pattern_words = [lemmatizer.lemmatize(word.lower()) for word in doc[0]]
|
101 |
for w in words:
|
@@ -135,6 +136,7 @@ async def train_and_save_model():
|
|
135 |
sgd = SGD(learning_rate=0.01, momentum=0.9, nesterov=True)
|
136 |
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
|
137 |
|
|
|
138 |
model.fit(train_x, train_y, epochs=1, batch_size=len(train_x), verbose=0)
|
139 |
|
140 |
r.set('words', pickle.dumps(words))
|
@@ -257,19 +259,21 @@ html_code = """
|
|
257 |
function sendMessage() {
|
258 |
let userInput = document.getElementById('user_input').value;
|
259 |
document.getElementById('user_input').value = '';
|
|
|
|
|
260 |
fetch('/chat', {
|
261 |
method: 'POST',
|
262 |
-
headers: {
|
263 |
-
|
|
|
|
|
264 |
})
|
265 |
.then(response => response.json())
|
266 |
.then(data => {
|
267 |
-
let chatbox = document.getElementById('chatbox');
|
268 |
-
chatbox.innerHTML += '<p><b>Tú:</b> ' + userInput + '</p>';
|
269 |
data.forEach(response => {
|
270 |
-
chatbox.innerHTML += '<p><b>Bot:</b> ' + response.intent + ' (' + response.probability + ')</p>';
|
271 |
});
|
272 |
-
chatbox.scrollTop = chatbox.scrollHeight;
|
273 |
});
|
274 |
}
|
275 |
</script>
|
@@ -287,4 +291,4 @@ if __name__ == "__main__":
|
|
287 |
nltk.download('omw-1.4')
|
288 |
nltk.download('averaged_perceptron_tagger')
|
289 |
nltk.download('punkt_tab')
|
290 |
-
uvicorn.run(app, host="0.0.0.0", port=
|
|
|
19 |
from dotenv import load_dotenv
|
20 |
from datetime import datetime
|
21 |
import logging
|
22 |
+
from tqdm import tqdm # Importar tqdm
|
23 |
|
24 |
# Configuración de logging
|
25 |
logging.basicConfig(level=logging.INFO)
|
|
|
96 |
|
97 |
training = []
|
98 |
output_empty = [0] * len(classes)
|
99 |
+
for doc in tqdm(documents, desc="Preparando datos"):
|
100 |
bag = [0] * len(words)
|
101 |
pattern_words = [lemmatizer.lemmatize(word.lower()) for word in doc[0]]
|
102 |
for w in words:
|
|
|
136 |
sgd = SGD(learning_rate=0.01, momentum=0.9, nesterov=True)
|
137 |
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
|
138 |
|
139 |
+
print("Entrenando el modelo...")
|
140 |
model.fit(train_x, train_y, epochs=1, batch_size=len(train_x), verbose=0)
|
141 |
|
142 |
r.set('words', pickle.dumps(words))
|
|
|
259 |
function sendMessage() {
|
260 |
let userInput = document.getElementById('user_input').value;
|
261 |
document.getElementById('user_input').value = '';
|
262 |
+
document.getElementById('chatbox').innerHTML += '<p><b>Tú:</b> ' + userInput + '</p>';
|
263 |
+
|
264 |
fetch('/chat', {
|
265 |
method: 'POST',
|
266 |
+
headers: {
|
267 |
+
'Content-Type': 'application/json'
|
268 |
+
},
|
269 |
+
body: JSON.stringify({ message: userInput })
|
270 |
})
|
271 |
.then(response => response.json())
|
272 |
.then(data => {
|
|
|
|
|
273 |
data.forEach(response => {
|
274 |
+
document.getElementById('chatbox').innerHTML += '<p><b>Bot:</b> ' + response.intent + ' (' + response.probability + ')</p>';
|
275 |
});
|
276 |
+
document.getElementById('chatbox').scrollTop = document.getElementById('chatbox').scrollHeight;
|
277 |
});
|
278 |
}
|
279 |
</script>
|
|
|
291 |
nltk.download('omw-1.4')
|
292 |
nltk.download('averaged_perceptron_tagger')
|
293 |
nltk.download('punkt_tab')
|
294 |
+
uvicorn.run(app, host="0.0.0.0", port=8000)
|