fix: allow zero message history window and clear history for new sessions (#15897) (#15902)

### What problem does this PR solve?

Two bugs in the Agent Categorize component:
1. The backend rejected `message_history_window_size = 0` while frontend
allowed it, causing API errors.
2. When calling the agent API without a `session_id`, a new session was
created but retained history from previous conversations.

### Type of change

- [x] Bug Fix

### How has this been tested?

- Issue 1: `CategorizeParam().check()` now accepts `0` and rejects
negative values.
- Issue 2: `canvas.clear_history()` is called for new sessions (no
`session_id`), ensuring fresh conversation state. Verified via UI and
API that a second call without `session_id` does not remember the first
conversation.

### Related Issue

Closes #15897

Co-authored-by: RAGFlow Dev <dev@ragflow.local>
Co-authored-by: Wang Qi <wangq8@outlook.com>
This commit is contained in:
zaviermeekz-cpu
2026-06-11 01:24:48 -04:00
committed by GitHub
parent a079c08594
commit c50f9c59aa
3 changed files with 8 additions and 1 deletions

View File

@@ -1447,6 +1447,7 @@ async def agent_chat_completion(tenant_id, agent_id=None):
from agent.canvas import Canvas
canvas = Canvas(dsl_str, str(tenant_id), canvas_id=agent_id, custom_header=custom_header)
canvas.clear_history()
except Exception as exc:
return server_error_response(exc)
turn_id = get_uuid()