File size: 1,986 Bytes
bb66c2b 3599e1f 4e7cbb0 3599e1f c03822b 4e7cbb0 c2e1751 4e7cbb0 3599e1f c03822b c2e1751 c03822b 0a520be 70a22b1 0a520be 3599e1f 4e7cbb0 3599e1f 4e7cbb0 3599e1f 4e7cbb0 bb66c2b 70a22b1 c2e1751 |
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 |
from fastapi import FastAPI, Query
from transformers import pipeline
# Modelo español
model_name = "flax-community/gpt-2-spanish"
# Inicializa Pipeline configurado
generator = pipeline(
"text-generation",
model=model_name, # modelo compatible
max_new_tokens=40, # Suficiente para ~26 palabras sin desbordarse
temperature=1.1, # Favorece creatividad y metáforas
top_p=0.9, # Diversidad controlada
do_sample=True, # Permite variación creativa
repetition_penalty=1.3, # Reduce repeticiones
num_return_sequences=1, # Solo una respuesta
device=-1 # CPU, recomendado en HuggingFace Spaces
)
# Prompt base para moldear el estilo y tono
def generar_respuesta_reflexiva(pregunta):
prompt = f"""
Eres una voz femenina que responde con aire conversacional y reflexivo.
Hablas con metáforas, analogías y comprendes la ley de los contrarios,
estableciendo una síntesis dialéctica profunda. Tu estilo es poesía en
prosa sentenciosa, con un carácter de aforismo y de visión oracular.
Genera exactamente una respuesta breve, cercana a 26 palabras, que
termine en un adjetivo. Evita repeticiones.
Pregunta: {pregunta}
Respuesta:
""".strip()
raw = generator(prompt)[0]["generated_text"]
# (Opcional) Recortar solo la parte tras "Respuesta:"
respuesta = raw.split("Respuesta:")[-1].strip()
# (Opcional) Ajuste leve para intentar aproximar 26 palabras
#palabras = respuesta.split()
#if len(palabras) > 26:
# respuesta = " ".join(palabras[:26])
return respuesta
# Crear app FastAPI
app = FastAPI(title="Golemet API FastAPI")
# Ruta de inicio
@app.get("/")
def root():
return {"message": "Golemet API FastAPI"}
# Ruta reemplazando tu /golemet
@app.get("/golemet")
def procesar_cadena(texto: str = Query("???", description="Texto a generar")):
texto_generado = generar_respuesta_reflexiva(texto)
return {"input": texto, "output": texto_generado} |