diff --git a/backend/open_webui/routers/ollama.py b/backend/open_webui/routers/ollama.py index 7fa7aef249..5894a72c35 100644 --- a/backend/open_webui/routers/ollama.py +++ b/backend/open_webui/routers/ollama.py @@ -124,6 +124,7 @@ async def send_post_request( key: Optional[str] = None, content_type: Optional[str] = None, user: UserModel = None, + metadata: Optional[dict] = None, ): r = None @@ -144,6 +145,11 @@ async def send_post_request( "X-OpenWebUI-User-Id": user.id, "X-OpenWebUI-User-Email": user.email, "X-OpenWebUI-User-Role": user.role, + **( + {"X-OpenWebUI-Chat-Id": metadata.get("chat_id")} + if metadata and metadata.get("chat_id") + else {} + ), } if ENABLE_FORWARD_USER_INFO_HEADERS and user else {} @@ -1365,6 +1371,7 @@ async def generate_chat_completion( key=get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS), content_type="application/x-ndjson", user=user, + metadata=metadata, ) @@ -1403,6 +1410,8 @@ async def generate_openai_completion( url_idx: Optional[int] = None, user=Depends(get_verified_user), ): + metadata = form_data.pop("metadata", None) + try: form_data = OpenAICompletionForm(**form_data) except Exception as e: @@ -1468,6 +1477,7 @@ async def generate_openai_completion( stream=payload.get("stream", False), key=get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS), user=user, + metadata=metadata, ) @@ -1549,6 +1559,7 @@ async def generate_openai_chat_completion( stream=payload.get("stream", False), key=get_api_key(url_idx, url, request.app.state.config.OLLAMA_API_CONFIGS), user=user, + metadata=metadata, ) diff --git a/backend/open_webui/routers/openai.py b/backend/open_webui/routers/openai.py index 68ae460ebb..5b54796a70 100644 --- a/backend/open_webui/routers/openai.py +++ b/backend/open_webui/routers/openai.py @@ -822,6 +822,11 @@ async def generate_chat_completion( "X-OpenWebUI-User-Id": user.id, "X-OpenWebUI-User-Email": user.email, "X-OpenWebUI-User-Role": user.role, + **( + {"X-OpenWebUI-Chat-Id": metadata.get("chat_id")} + if metadata and metadata.get("chat_id") + else {} + ), } if ENABLE_FORWARD_USER_INFO_HEADERS else {}