File size: 3,099 Bytes
71acbaf ca7840e c1f4f65 ca7840e c1f4f65 bc93fdd c1f4f65 b8de2f4 c1f4f65 ca7840e c1f4f65 ca7840e c1f4f65 71acbaf c1f4f65 b8de2f4 |
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
import streamlit as st
import requests
from transformers import pipeline
from PIL import Image
import io
import pandas as pd
import plotly.express as px
# Configuración inicial
st.set_page_config(page_title="CriptoAnalizador IA", layout="wide")
# Título de la aplicación
st.title("🚀 CriptoAnalizador IA")
# Clave de API para Coinalyze
COINALYZE_API_KEY = "8429ca91-8726-45b4-a067-05cc778ea867"
COINALYZE_URL = "https://api.coinalyze.net/v1"
# Opciones de navegación
menu = st.sidebar.radio("Navegación", ["Chat", "Análisis de imágenes", "Criptomonedas"])
if menu == "Chat":
st.header("🤖 Chat Avanzado con IA")
user_input = st.text_input("Escribe tu mensaje:")
if user_input:
# Respuesta usando un modelo de lenguaje
model = pipeline("text-generation", model="gpt2")
response = model(user_input, max_length=100, num_return_sequences=1)
st.success(response[0]["generated_text"])
elif menu == "Análisis de imágenes":
st.header("📷 Análisis de Imágenes")
uploaded_file = st.file_uploader("Sube una imagen para analizar:")
if uploaded_file:
image = Image.open(uploaded_file)
st.image(image, caption="Imagen cargada", use_column_width=True)
# Extracción de texto
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
processor = TrOCRProcessor.from_pretrained("microsoft/trocr-base-handwritten")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-base-handwritten")
image_tensor = processor(images=image, return_tensors="pt").pixel_values
generated_ids = model.generate(image_tensor)
extracted_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
st.subheader("Texto extraído:")
st.write(extracted_text)
elif menu == "Criptomonedas":
st.header("📊 Análisis Técnico de Criptomonedas")
# Selección de criptomoneda
crypto = st.text_input("Ingresa el símbolo de la criptomoneda (Ejemplo: BTC, ETH):")
if crypto:
st.subheader(f"Análisis Técnico para {crypto.upper()}")
# Llamada a la API de Coinalyze
endpoint = f"{COINALYZE_URL}/cryptocurrencies/{crypto}/historical"
headers = {"Authorization": f"Bearer {COINALYZE_API_KEY}"}
response = requests.get(endpoint, headers=headers)
if response.status_code == 200:
data = response.json()
df = pd.DataFrame(data["prices"], columns=["timestamp", "price"])
# Convertir timestamp a fecha
df["timestamp"] = pd.to_datetime(df["timestamp"], unit="ms")
# Graficar precios
fig = px.line(df, x="timestamp", y="price", title=f"Precio de {crypto.upper()} a lo largo del tiempo")
st.plotly_chart(fig)
else:
st.error("No se pudieron obtener los datos. Verifica el símbolo o intenta más tarde.")
# Footer
st.sidebar.markdown("---")
st.sidebar.markdown("Creado con ❤️ por tu ChatBot")
|