diff --git a/src/backend/server/request_handler.py b/src/backend/server/request_handler.py index b32b188a..37dad7d2 100644 --- a/src/backend/server/request_handler.py +++ b/src/backend/server/request_handler.py @@ -90,6 +90,8 @@ async def _forward_request(self, request_data: Dict, request_id: str, received_t status_code=429, ) + # Add request_id and routing_table to request_data + request_data["rid"] = str(request_id) request_data["routing_table"] = routing_table stub = self.get_stub(routing_table[0]) is_stream = request_data.get("stream", False) diff --git a/src/parallax/server/http_server.py b/src/parallax/server/http_server.py index 8e853b76..68b55bda 100644 --- a/src/parallax/server/http_server.py +++ b/src/parallax/server/http_server.py @@ -341,8 +341,13 @@ async def v1_chat_completions(raw_request: fastapi.Request): request_json = await raw_request.json() except Exception as e: return create_error_response("Invalid request body, error: ", str(e)) - request_id = str(uuid.uuid4()) - request_json["rid"] = request_id + + # Check if request_json has "rid", otherwise generate new one + request_id = request_json.get("rid") + if request_id is None: + request_id = uuid.uuid4() + request_json["rid"] = str(request_id) + app.state.http_handler.create_request(request_json) app.state.http_handler.send_request(request_json) req = app.state.http_handler.processing_requests.get(request_id)