import requests import streamlit as st import streamlit.components.v1 as components import time def semanticComparativeClassification(): apis_urls = [ "https://api-inference.huggingface.co/models/symanto/sn-xlm-roberta-base-snli-mnli-anli-xnli", "https://api-inference.huggingface.co/models/hiiamsid/sentence_similarity_spanish_es" ] for api_url in apis_urls: semanticComparativeClassificationCall(api_url) def semanticComparativeClassificationCall(api_url: str): st.write("Model: ", api_url) 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", "Hola, hi, hola", "Adiós adiós, bye" ] output = query({ "inputs": { "wait_for_model" : True, "source_sentence": st.session_state.mytext, "sentences": sentences }, }) #st.write(output) index=0 for i in output: st.write(i," - ", sentences[index]) index = index + 1 sentenceindex = output.index(max(output)) 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"]= "No tengo respuesta para esto, ¿me lo explicas mejor o te pongo en contacto con un humano?" else: st.write("Tema reconocido: ", str(sentences[sentenceindex])) st.session_state["respuesta"]= "Tema reconocido: "+str(sentences[sentenceindex]) time.sleep(2) #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 )