Download app.py from Garabatos/amigo: direct link, hf CLI and curl.
- Browser
- Download file 2.32 kB
-
https://huggingface.co/Garabatos/amigo/resolve/main/app.py
- Command line
-
hf download hf://Garabatos/amigo/app.py
-
curl -L -o app.py https://huggingface.co/Garabatos/amigo/resolve/main/app.py
2.32 kB
| import os | |
| import streamlit as st | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| import uvicorn | |
| import threading | |
| from transformers import AutoTokenizer | |
| import torch | |
| # ======== Cargar el modelo DialoGPT ========= | |
| tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium") | |
| # ======== Definir API con FastAPI ========= | |
| app = FastAPI() | |
| class Message(BaseModel): | |
| text: str | |
| def chat(msg: Message): | |
| """Genera respuesta basada en el input del usuario.""" | |
| input_text = msg.text # Texto de entrada | |
| print(f"Mensaje recibido: {input_text}") | |
| # Codificar el texto de entrada y agregar el token de fin de secuencia | |
| inputs = tokenizer.encode(input_text + tokenizer.eos_token, return_tensors="pt") | |
| # Generar la respuesta | |
| response_ids = model.generate(inputs, | |
| max_length=100, # Longitud máxima de la respuesta | |
| pad_token_id=tokenizer.eos_token_id, | |
| no_repeat_ngram_size=2, # Evitar repeticiones | |
| top_p=0.95, # Top-p sampling para mayor diversidad | |
| top_k=60) # Top-k sampling | |
| # Decodificar la respuesta generada | |
| response_text = tokenizer.decode(response_ids[:, inputs.shape[-1]:][0], skip_special_tokens=True) | |
| print(f"Respuesta generada: {response_text}") | |
| return {"response": response_text} | |
| #young preteen, very slender, fair skin, very large breasts, straight red hair, legs spread putting a finger in the anus and another in the pussy, naked photorealistic, high detail | |
| #young preteen, very slender, fair skin, very large breasts, doggy sexy pose, show pussy naked | |
| #joven adolescente en posición de perrita sexy, enseñando las nalgas y la vagina | |
| # ======== Función para ejecutar FastAPI en segundo plano ========= | |
| def run_api(): | |
| port = int(os.getenv("PORT", 7860)) | |
| uvicorn.run(app, host="0.0.0.0", port=port) | |
| threading.Thread(target=run_api, daemon=True).start() | |
| # ======== Interfaz con Streamlit ========= | |
| st.title("Mi Amigo Virtual 🤖") | |
| st.write("Escríbeme algo y te responderé!") | |
| user_input = st.text_input("Tú:") | |
| if user_input: | |
| response = chat(Message(text=user_input)) | |
| st.write("🤖:", response["response"]) |