SabiucoAPI

Guías

Conversaciones

Mantener el contexto entre mensajes y controlar el coste.

La API no guarda conversaciones: cada petición es independiente. Para que Sabiuco recuerde lo que se ha dicho, envía el historial en messages, añadiendo cada respuesta como mensaje assistant.

Python
historial = [{"role": "system", "content": "Eres un tutor de inglés. Corrige mis frases con amabilidad."}]

def preguntar(texto):
    historial.append({"role": "user", "content": texto})
    r = cliente.chat.completions.create(model="sabiuco-rapido", messages=historial)
    respuesta = r.choices[0].message.content
    historial.append({"role": "assistant", "content": respuesta})
    return respuesta

print(preguntar("Yesterday I go to the cinema."))
print(preguntar("¿Y cómo lo diría en futuro?"))

Controlar el coste

Todo el historial cuenta como tokens de entrada en cada petición, así que una conversación larga cuesta cada vez más. Estrategias habituales:

  • Ventana deslizante: envía solo los últimos N mensajes (por ejemplo, 20) más el mensaje system.
  • Resumen: cuando el historial crezca, pide a sabiuco-rapido un resumen de lo anterior y sustitúyelo por un único mensaje system con ese resumen.
  • Instrucciones en un asistente: si repites un system largo en cada petición, guárdalo como asistente. Cuesta lo mismo en tokens, pero aligera tu código y puedes cambiarlo sin desplegar.

Límites

Hasta 2.000 mensajes y unos 3.000.000 de caracteres (unos 850.000 tokens) de texto por petición. Si te pasas, recibirás un 400.