amigo / app.py
Garabatos's picture
s
36e9bf6
Raw History Blame Contribute Delete
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
@app.post("/chat")
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"])