perf: achica la ventana de historial de uMind (10 -> 6 mensajes)
Ese historial se reenvía completo en cada turno junto con el system prompt y las tools — con Gemini como proveedor principal, sin acceso fácil a caching de contexto (su API de caching no pasa por la capa de compatibilidad OpenAI que usamos), la forma más directa de bajar el costo por mensaje en charlas largas es mandar menos historial repetido. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
9dc44decd7
commit
e0c2f77f8c
@@ -244,7 +244,11 @@ func ProcessWidgetMessage(tenant *models.UmindTenant, sessionID, userText string
|
||||
return "", fmt.Errorf("configuración de IA del tenant no encontrada: %w", err)
|
||||
}
|
||||
|
||||
historial, _ := models.GetUmindHistorial(tenant.ID, sessionID, 10)
|
||||
// Ventana chica a propósito: en cada turno se reenvía este historial
|
||||
// completo al modelo junto con el system prompt y las tools — cuanto más
|
||||
// larga la ventana, más tokens se repiten en cada mensaje de una charla
|
||||
// larga. 6 alcanza para mantener contexto en un chat de soporte típico.
|
||||
historial, _ := models.GetUmindHistorial(tenant.ID, sessionID, 6)
|
||||
messages := []agentMessage{{Role: "system", Content: umindSystemPrompt(tenant)}}
|
||||
for _, h := range historial {
|
||||
messages = append(messages, agentMessage{Role: h.Role, Content: h.Content})
|
||||
|
||||
Reference in New Issue
Block a user