Spaces:
Sleeping
Sleeping
Commit
·
312c075
1
Parent(s):
dfdd8d8
Upload 5 files
Browse files- app.py +47 -0
- chatbot.py +9 -0
- myrequirements.txt +6 -0
- requirements.txt +5 -0
- tools.py +54 -0
app.py
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
from tools import ask_chatbot
|
3 |
+
|
4 |
+
|
5 |
+
|
6 |
+
|
7 |
+
def check_inputs(question):
|
8 |
+
if(question !="" ):
|
9 |
+
respuesta = ask_chatbot(question)
|
10 |
+
return respuesta
|
11 |
+
else:
|
12 |
+
return '!Ups, hubo un Error! - Nos hace falta mas cerveza para poder ayudarte', None
|
13 |
+
|
14 |
+
|
15 |
+
# Descripción del Header
|
16 |
+
description = """
|
17 |
+
<center><h1><b><img src="https://imgs.search.brave.com/FOs8wNNOrQRHfIJKL6DWejiq9hf8c8LhnE66Bf-UoQQ/rs:fit:560:320:1/g:ce/aHR0cHM6Ly91cGxv/YWQud2lraW1lZGlh/Lm9yZy93aWtpcGVk/aWEvY29tbW9ucy90/aHVtYi85Lzk4L1Ro/ZV9TaW1wc29uc195/ZWxsb3dfbG9nby5z/dmcvNTEycHgtVGhl/X1NpbXBzb25zX3ll/bGxvd19sb2dvLnN2/Zy5wbmc" alt="THE SIMPSONS"></b></h1>
|
18 |
+
<center><h2><b>Todo sobre los simpsons </b></h2>
|
19 |
+
Simplemente carga respuestas a ciertas preguntas clave y obtén conclusiones detalladas sobre los simpsons.
|
20 |
+
</center>
|
21 |
+
"""
|
22 |
+
|
23 |
+
# Descripción del Footer
|
24 |
+
article = """
|
25 |
+
<br>
|
26 |
+
<b>¿Por qué elegirnos?</b>
|
27 |
+
<br><b>Hest.ia 👑</b>, tu aliado inteligente para mejorar tus habilidades comunicativas 💯. <br>Hacemos análisis de tus respuestas ante preguntas 🔍 y te damos feedback para mejorar tu viaje espacial 🙌.
|
28 |
+
<br>Descubre el poder de la inteligencia artificial aplicada a potenciar los viajes espaciales.🤖💡
|
29 |
+
"""
|
30 |
+
|
31 |
+
|
32 |
+
# Inputs
|
33 |
+
question = gr.Textbox(label="Contame, en qué te puedo ayudar ❓")
|
34 |
+
|
35 |
+
# Outputs
|
36 |
+
resultado = gr.Textbox(label="Respuesta 💡")
|
37 |
+
|
38 |
+
gui = gr.Interface(
|
39 |
+
fn=check_inputs,
|
40 |
+
inputs=[question],
|
41 |
+
outputs=[resultado],
|
42 |
+
description = description,
|
43 |
+
article = article,
|
44 |
+
theme=gr.themes.Soft()
|
45 |
+
)
|
46 |
+
|
47 |
+
gui.launch()
|
chatbot.py
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
|
3 |
+
def chatbot(input_text):
|
4 |
+
# Use YouChat to process the input and generate a response
|
5 |
+
response = youchat.process(input_text)
|
6 |
+
return response
|
7 |
+
|
8 |
+
iface = gr.Interface(fn=chatbot, inputs="text", outputs="text")
|
9 |
+
iface.launch()
|
myrequirements.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
fastapi==0.103.1
|
2 |
+
gradio==3.44.4
|
3 |
+
openai==0.28.0
|
4 |
+
pydantic==2.3.0
|
5 |
+
uvicorn==0.23.2
|
6 |
+
python-dotenv==1.0.0
|
requirements.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
fastapi==0.103.1
|
2 |
+
gradio==3.44.4
|
3 |
+
openai==0.28.0
|
4 |
+
pydantic==2.3.0
|
5 |
+
uvicorn==0.23.2
|
tools.py
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# -*- coding: utf-8 -*-
|
2 |
+
"""tools.ipynb
|
3 |
+
|
4 |
+
Automatically generated by Colaboratory.
|
5 |
+
|
6 |
+
Original file is located at
|
7 |
+
https://colab.research.google.com/drive/1bf1JxvWIpqRY6Q36aazPA2KALPqrvVAC
|
8 |
+
"""
|
9 |
+
|
10 |
+
import os
|
11 |
+
from dotenv import load_dotenv
|
12 |
+
import openai
|
13 |
+
|
14 |
+
# Cargar variables de entorno
|
15 |
+
load_dotenv()
|
16 |
+
|
17 |
+
OPENAI_KEY = os.getenv('OPENAI_KEY', '')
|
18 |
+
|
19 |
+
# Asignar la API Key
|
20 |
+
openai.api_key = OPENAI_KEY
|
21 |
+
|
22 |
+
def mychatbot(messages):
|
23 |
+
# Chatbot que hace consultas "query" a una base de conocimiento "contract_knowledge"
|
24 |
+
|
25 |
+
# Enviar solicitud a la api OpenAI con el modelo "GPT-3.5-turbo"
|
26 |
+
res = openai.ChatCompletion.create(
|
27 |
+
model="gpt-3.5-turbo",
|
28 |
+
messages = messages
|
29 |
+
)
|
30 |
+
|
31 |
+
# Del diccionario extraer la informacion correspondiente al id "content"
|
32 |
+
conclusion = res['choices'][0]['message']['content']
|
33 |
+
|
34 |
+
return conclusion
|
35 |
+
|
36 |
+
def ask_chatbot(question):
|
37 |
+
|
38 |
+
prompt = f"""
|
39 |
+
Dada la siguiente pregunta realizada por el usuario: {question}.
|
40 |
+
Reponde de manera efusiva y tajante la conversación.
|
41 |
+
Relaciona todo con la serie animada "Los Simpsons", con una frase, o con un personaje, o con una situacion o con un capitulo. Si puedes agrega un link de youtube donde se pueda ver lo que acabas de mencionar.
|
42 |
+
"""
|
43 |
+
|
44 |
+
|
45 |
+
# Dialogo con ChatGPT
|
46 |
+
messages = [
|
47 |
+
{"role": "system", "content": "Eres un apasionado de 'Los Simpsons'. Has visto todos los capitulos varias veces, te sabes todos los diaglogos de memoria, y cada situacion de la vida la relacionas con 'Los Simpsons'."},
|
48 |
+
{"role": "user", "content": prompt}
|
49 |
+
]
|
50 |
+
|
51 |
+
# Output
|
52 |
+
respuesta = mychatbot(messages)
|
53 |
+
|
54 |
+
return respuesta
|