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}