Arafat Khan created HDDS-15911:
----------------------------------
Summary: Recon AI Assistant: add conversation memory for
follow-up questions.
Key: HDDS-15911
URL: https://issues.apache.org/jira/browse/HDDS-15911
Project: Apache Ozone
Issue Type: Sub-task
Components: Ozone Recon
Reporter: Arafat Khan
*Problem* The Recon chatbot treats every question independently. Follow-ups
that rely on earlier context "show me the keys there", "what about bucket2",
"show me more" fail because the assistant has no memory of the previous turn.
*Proposed change* Add lightweight, client-side conversation memory:
* The client resends the recent turns of the conversation with each request
(new optional {{history}} field on the chat request).
* The Recon server stays completely stateless - no session store. It just
trims the history to a safe budget and injects it as _context_ into the
tool-selection step so the model can resolve references in the current question.
* History is used only to understand the current question; the assistant
always answers the CURRENT question, never the old ones.
*Config (server-enforced) — only two knobs*
* {{ozone.recon.chatbot.history.enabled}} = {{true}} - master on/off switch
* {{ozone.recon.chatbot.history.max.chars}} = {{8000 -}} total history budget
(~2k tokens); the single size dial. Raise it for large-context models, lower it
for small ones.
Everything else is a fixed internal behaviour (not config): keep at most the
last ~4 Q/A pairs, truncate long past answers, and keep past questions
near-intact (they carry the references).
*Safety* History is treated as untrusted input. It's a hint only - the existing
tool allowlist and listKeys safe-scope checks remain the real guardrails, so
behavior stays safe even if the history is malformed or malicious.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]