Spaces:
Runtime error
Runtime error
File size: 1,423 Bytes
d3445fc 6131e67 19f7e51 d3445fc a913e23 d3445fc d99baa1 d3445fc | 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 | import openai
import gradio as gr
import pandas as pd
from openai.embeddings_utils import get_embedding
from openai.embeddings_utils import cosine_similarity
openai.api_key = "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"
def embed_text(path="texto.csv"):
conocimiento_df = pd.read_csv(path)
conocimiento_df['Embedding'] = conocimiento_df['Texto'].apply(lambda x: get_embedding(x, engine='text-embedding-ada-002'))
conocimiento_df.to_csv('embeddings.csv')
return conocimiento_df
def buscar(busqueda, datos, n_resultados=3):
busqueda_embed = get_embedding(busqueda, engine="text-embedding-ada-002")
datos["Similitud"] = datos['Embedding'].apply(lambda x: cosine_similarity(x, busqueda_embed))
datos = datos.sort_values("Similitud", ascending=False)
return datos.iloc[:n_resultados][["Texto"]]
texto_emb = embed_text("/home/user/app/Embedding.csv")
with gr.Blocks() as demo:
gr.Markdown("# Bienvenido al centro de ayuda de ZafiroSoft ERP")
busqueda = gr.Textbox(label="Pregunta", placeholder="Escriba su pregunta...")
slider = gr.Slider(1,5,value=3,label="Resultados a mostrar",info="Elija valores entre 1 y 5",step=1)
output = gr.DataFrame(headers=['Respuesta'],wrap=True)
greet_btn = gr.Button("Enviar")
datos = gr.DataFrame(texto_emb, visible = False)
greet_btn.click(fn=buscar, inputs=[busqueda, datos,slider], outputs=output)
demo.launch()
|