import streamlit as st from datasets import load_dataset from transformers import pipeline # Título de la aplicación st.title("Chatbot y Análisis de Criptomonedas con Hugging Face") # Cargar el modelo de chatbot avanzado (DialoGPT español) chatbot = pipeline("conversational", model="ITG/DialoGPT-medium-spanish-chitchat") # Interacción con el chatbot st.header("Chat con el Bot") user_input = st.text_input("Escribe tu mensaje para el chatbot:") if st.button("Enviar al Bot"): if user_input: response = chatbot(user_input) st.write(f"Bot: {response[0]['generated_text']}") else: st.write("Por favor, escribe un mensaje para el chatbot.") # Cargar y mostrar ejemplos de los datasets adicionales # Dataset de criptomonedas para análisis de precios st.header("Análisis de Criptomonedas") st.write(""" Este análisis se realiza con el conjunto de datos `crypto_data` de Hugging Face para el análisis histórico de precios de criptomonedas. """) # Caja de entrada para preguntas sobre criptomonedas crypto_question = st.text_input("Pregunta sobre criptomonedas (Ej. ¿Qué está pasando con Bitcoin?):") if st.button("Consultar Criptomonedas"): if crypto_question: st.write("Consultando sobre criptomonedas...") # Especificar la configuración del dataset, por ejemplo, 'candles' o 'indicators' crypto_data = load_dataset("sebdg/crypto_data", "candles") # Mostrar los primeros datos del dataset st.write("Dataset de Criptomonedas cargado:") st.write(crypto_data['train'].head()) else: st.write("Por favor, escribe tu pregunta sobre criptomonedas.") # Dataset para interacción de Chatbot (Persona Hub) st.header("Mejora de Interacción con Chatbot") st.write(""" El siguiente dataset ayuda a hacer las interacciones del bot más naturales y personalizadas. """) # Cargar el dataset de PersonaHub persona_chat = load_dataset("proj-persona/PersonaHub") # Mostrar ejemplo de conversación del dataset PersonaHub st.write("Ejemplo de Conversación de PersonaHub:") st.write(f"Pregunta: {persona_chat['train'][0]['utterance']}") st.write(f"Respuesta: {persona_chat['train'][0]['persona_info']}") # Conjunto de datos `conala` para consultas técnicas (opcional) st.header("Mejorando las Respuestas Técnicas") st.write(""" Si tu chatbot también necesita saber sobre programación y conceptos computacionales, puedes usar el dataset `conala`. """) # Cargar el dataset de CONALA conala_data = load_dataset("conala") # Mostrar ejemplos de preguntas de programación st.write("Ejemplo de pregunta técnica del dataset conala:") st.write(f"Pregunta: {conala_data['train'][0]['question']}") st.write(f"Respuesta: {conala_data['train'][0]['answer']}") # Conjunto de datos `openwebtext` para mejorar respuestas más elaboradas st.header("Mejorando Respuestas Generales") st.write(""" Utiliza `openwebtext` para integrar información más general y específica en las respuestas del chatbot. """) # Cargar el dataset `openwebtext` openwebtext_data = load_dataset("openwebtext") # Mostrar ejemplo de texto de `openwebtext` st.write("Ejemplo de texto general del dataset openwebtext:") st.write(openwebtext_data['train'][0]) # Conjunto de datos de sentimiento `amazon-polarity` st.header("Análisis de Sentimientos") st.write(""" Este dataset te ayuda a analizar sentimientos de los usuarios para hacer el chatbot más empático. """) # Cargar el dataset `amazon-polarity` amazon_polarity_data = load_dataset("amazon-polarity") # Mostrar ejemplo de opinión del dataset amazon-polarity st.write("Ejemplo de análisis de sentimiento de amazon-polarity:") st.write(f"Opinión: {amazon_polarity_data['train'][0]['text']}") st.write(f"Sentimiento: {amazon_polarity_data['train'][0]['label']}")