From 83d99e1424897e3b2a09711e86aeb980f9e9028e Mon Sep 17 00:00:00 2001 From: yangdx Date: Wed, 1 Oct 2025 20:48:37 +0800 Subject: [PATCH] fix(OllamaAPI): Add validation to ensure last message is from user role MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Validate last message role is "user" • Raise 400 error for invalid role • Improve API request validation • Prevent invalid message sequences --- lightrag/api/routers/ollama_api.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lightrag/api/routers/ollama_api.py b/lightrag/api/routers/ollama_api.py index 426583f8..f9353dda 100644 --- a/lightrag/api/routers/ollama_api.py +++ b/lightrag/api/routers/ollama_api.py @@ -483,6 +483,12 @@ class OllamaAPI: if not messages: raise HTTPException(status_code=400, detail="No messages provided") + # Validate that the last message is from a user + if messages[-1].role != "user": + raise HTTPException( + status_code=400, detail="Last message must be from user role" + ) + # Get the last message as query and previous messages as history query = messages[-1].content # Convert OllamaMessage objects to dictionaries