Spaces:
Runtime error
Runtime error
Create app.py
Browse files
app.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import openai
|
| 2 |
+
import gradio as gr
|
| 3 |
+
import pandas as pd
|
| 4 |
+
|
| 5 |
+
from openai.embeddings_utils import get_embedding
|
| 6 |
+
from openai.embeddings_utils import cosine_similarity
|
| 7 |
+
|
| 8 |
+
openai.api_key = "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"
|
| 9 |
+
|
| 10 |
+
def embed_text(path="texto.csv"):
|
| 11 |
+
conocimiento_df = pd.read_csv(path)
|
| 12 |
+
conocimiento_df['Embedding'] = conocimiento_df['Texto'].apply(lambda x: get_embedding(x, engine='text-embedding-ada-002'))
|
| 13 |
+
conocimiento_df.to_csv('embeddings.csv')
|
| 14 |
+
return conocimiento_df
|
| 15 |
+
|
| 16 |
+
def buscar(busqueda, datos, n_resultados=3):
|
| 17 |
+
busqueda_embed = get_embedding(busqueda, engine="text-embedding-ada-002")
|
| 18 |
+
datos["Similitud"] = datos['Embedding'].apply(lambda x: cosine_similarity(x, busqueda_embed))
|
| 19 |
+
datos = datos.sort_values("Similitud", ascending=False)
|
| 20 |
+
return datos.iloc[:n_resultados][["Texto"]]
|
| 21 |
+
|
| 22 |
+
texto_emb = embed_text("C:\\Users\\areyn\\Documents\\Embedding.csv")
|
| 23 |
+
|
| 24 |
+
with gr.Blocks() as demo:
|
| 25 |
+
gr.Markdown("# Bienvenido al centro de ayuda de ZafiroSoft ERP")
|
| 26 |
+
busqueda = gr.Textbox(label="Pregunta", placeholder="Escriba su pregunta...")
|
| 27 |
+
slider = gr.Slider(1,5,value=3,label="Resultados a mostrar",info="Elija valores entre 1 y 5",step=1)
|
| 28 |
+
output = gr.DataFrame(headers=['Respuesta'],wrap=True)
|
| 29 |
+
greet_btn = gr.Button("Enviar")
|
| 30 |
+
datos = gr.DataFrame(texto_emb, visible = False)
|
| 31 |
+
greet_btn.click(fn=buscar, inputs=[busqueda, datos,slider], outputs=output)
|
| 32 |
+
|
| 33 |
+
demo.launch()
|