|
|
from fastapi import FastAPI, Query |
|
|
from transformers import pipeline |
|
|
|
|
|
|
|
|
model_name = "flax-community/gpt-2-spanish" |
|
|
|
|
|
|
|
|
generator = pipeline( |
|
|
"text-generation", |
|
|
model=model_name, |
|
|
max_new_tokens=40, |
|
|
temperature=1.1, |
|
|
top_p=0.9, |
|
|
do_sample=True, |
|
|
repetition_penalty=1.3, |
|
|
num_return_sequences=1, |
|
|
device=-1 |
|
|
) |
|
|
|
|
|
|
|
|
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"] |
|
|
|
|
|
|
|
|
respuesta = raw.split("Respuesta:")[-1].strip() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return respuesta |
|
|
|
|
|
|
|
|
app = FastAPI(title="Golemet API FastAPI") |
|
|
|
|
|
|
|
|
@app.get("/") |
|
|
def root(): |
|
|
return {"message": "Golemet API FastAPI"} |
|
|
|
|
|
|
|
|
@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} |