File size: 2,324 Bytes
4b48349 619a983 591f3b2 5b9030b 8ad2607 41c3385 31118d6 f73f282 bc42043 8ad2607 619a983 f73f282 591f3b2 619a983 591f3b2 f73f282 49606a1 39c4327 49606a1 39c4327 49606a1 5b9030b 49606a1 5b9030b 41c3385 11af244 bc42043 5b9030b f73f282 41c3385 f73f282 41c3385 ccd91bc 5b9030b |
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 |
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"]) |