semantic_search / app.py
graredcr's picture
Update app.py
d622b4c
raw
history blame
3.59 kB
import requests
import streamlit as st
import streamlit.components.v1 as components
import time
tt = "ssss"
def semanticComparativeClassification():
st.session_state["respuesta"] = ""
apis_urls = [
"https://api-inference.huggingface.co/models/symanto/sn-xlm-roberta-base-snli-mnli-anli-xnli",
"https://api-inference.huggingface.co/models/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
"https://api-inference.huggingface.co/models/sentence-transformers/distiluse-base-multilingual-cased-v2"
]
for api_url in apis_urls:
semanticComparativeClassificationCall(api_url)
def semanticComparativeClassificationCall(api_url: str):
st.write("Model: ", api_url)
time.sleep(1)
headers = {"Authorization": "Bearer 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"}
#API_URL = "https://api-inference.huggingface.co/models/Maite89/Roberta_finetuning_semantic_similarity_stsb_multi_mt"
st.write("Log:")
def query(payload):
response = requests.post(api_url, headers=headers, json=payload)
return response.json()
sentences = [
"Conoces Lya2 , que es Lya2",
"He perdido la contrase帽a, no puedo entrar o acceder a Lya2",
"Calendario de eventos, creamos un evento , borramos un evento ",
"Sincronizamos Lya2 con el tel茅fono o m贸bil"
"Cambios",
"Cambios dobles , pedir, autorizar , borrar un cambio doble",
"Cambios simples , pedir, autorizar , borrar un cambio simple",
"Sessiones",
"Personal",
"Horarios",
"脕reas",
"Rastryco o rastrico",
"Sylbo la aplicaci贸n m贸bil de Lya2",
"Sylbo",
"Hola hi hola",
"Adi贸s adi贸s bye",
"Como programo el personal",
"Como asigno trabajo al personal"
"Pedir permisos",
"Pedir vacaciones"
]
output = query({
"inputs": {
"wait_for_model" : True,
"source_sentence": st.session_state.mytext,
"sentences": sentences
},
})
#st.write(output)
if "error" in output:
st.write(output["error"])
else:
index=0
for i in output:
st.write(i," - ", sentences[index])
index = index + 1
maxim = max(output)
st.write('MAX:', str(maxim))
sentenceindex = output.index(maxim)
st.write('Sentence index :', sentenceindex)
if output[sentenceindex] < 0.3 :
st.write("No tengo respuesta para esto, 驴me lo explicas mejor o te pongo en contacto con un humano?")
st.session_state["respuesta"]= st.session_state["respuesta"] +api_url+"\nNo tengo respuesta para esto, 驴me lo explicas mejor o te pongo en contacto con un humano?"+"\n\n"
else:
st.write("Tema reconocido: ", str(sentences[sentenceindex]))
st.session_state["respuesta"]= st.session_state["respuesta"] +api_url+"\nTema reconocido: \n<span style='color:#f00'>"+str(sentences[sentenceindex])+"</span>\n\n"
#x = st.slider('Select a value')
#st.write(x, 'squared is', x * x)
st.session_state.response = ""
st.title('Reconocimiento sem谩ntico')
title = st.text_input('Pregunta', '', on_change=semanticComparativeClassification,key='mytext')
st.text_area( "Respuesta: ", key= "respuesta", height=200 )
st.markdown("<div id='logwrapper'>LOG:"+tt+"</div>", unsafe_allow_html=True)