File size: 3,045 Bytes
942fb36 70ea471 942fb36 |
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 |
import streamlit as st
from diffusers import DiffusionPipeline
import requests
# Simulaci贸n de las APIs (sustituir por las URLs reales de las APIs)
LLAMA_API_URL = "https://api-inference.huggingface.co/models/meta-llama/Llama-3.2-11B-Vision-Instruct"
FLUX_API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-dev"
COGVIDEO_API_URL = DiffusionPipeline.from_pretrained("bertjiazheng/KoolCogVideoX-5b")
st.title("ChatBot Multi-IA")
# Secci贸n para chat y an谩lisis de im谩genes (meta-llama/Llama-3.2-11B-Vision-Instruct)
st.header("Chat y an谩lisis de im谩genes")
# Entrada de texto para chat
user_input = st.text_area("Escribe tu pregunta o sube una imagen para analizar", "")
# Entrada de imagen para an谩lisis
uploaded_image = st.file_uploader("Sube una imagen para que la IA la analice", type=["png", "jpg", "jpeg"])
# Bot贸n para enviar la consulta
if st.button("Enviar para an谩lisis"):
if uploaded_image:
# Enviar la imagen a la API de an谩lisis de im谩genes
files = {"image": uploaded_image.getvalue()}
response = requests.post(LLAMA_API_URL, files=files)
st.image(uploaded_image, caption="Imagen subida", use_column_width=True)
st.write("Respuesta de an谩lisis:", response.text)
elif user_input:
# Enviar el texto al modelo Llama para chat
data = {"text": user_input}
response = requests.post(LLAMA_API_URL, json=data)
st.write("Respuesta del chat:", response.text)
else:
st.warning("Escribe algo o sube una imagen para an谩lisis")
# Secci贸n para generaci贸n de im谩genes (black-forest-labs/FLUX.1-dev)
st.header("Generaci贸n de im谩genes")
# Entrada de texto para la generaci贸n de imagen
image_prompt = st.text_input("Describe la imagen que deseas generar", "")
# Bot贸n para generar la imagen
if st.button("Generar imagen"):
if image_prompt:
# Enviar la descripci贸n al modelo FLUX.1-dev
data = {"prompt": image_prompt}
response = requests.post(FLUX_API_URL, json=data)
st.image(response.content, caption="Imagen generada", use_column_width=True)
else:
st.warning("Por favor, ingresa una descripci贸n para generar una imagen.")
# Secci贸n para generaci贸n de video (THUDM/CogVideoX-5b)
st.header("Generaci贸n de video")
# Entrada de texto para la generaci贸n de video
video_prompt = st.text_input("Describe el video que deseas generar", "")
# Bot贸n para generar el video
if st.button("Generar video"):
if video_prompt:
# Enviar la descripci贸n al modelo CogVideoX-5b
data = {"prompt": video_prompt}
response = requests.post(COGVIDEO_API_URL, json=data)
# Guardar y mostrar el video generado
with open("video_generado.mp4", "wb") as f:
f.write(response.content)
st.video("video_generado.mp4")
else:
st.warning("Por favor, ingresa una descripci贸n para generar un video.")
# Footer
st.write("Aplicaci贸n que combina chat, generaci贸n de im谩genes y videos con m煤ltiples IAs.")
|