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"])