Spaces:
Paused
Paused
File size: 1,216 Bytes
a5784e9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import time
from typing import Any, Dict, Optional
from config import CHAT_COMPLETION_ID_PREFIX
def build_chat_completion_response_json(
req_id: str,
model_name: str,
message_payload: Dict[str, Any],
finish_reason: str,
usage_stats: Dict[str, int],
system_fingerprint: str = "camoufox-proxy",
seed: Optional[int] = None,
response_format: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]:
"""Construct an OpenAI-compatible non-streaming chat.completion JSON response."""
created_ts = int(time.time())
resp: Dict[str, Any] = {
"id": f"{CHAT_COMPLETION_ID_PREFIX}{req_id}-{created_ts}",
"object": "chat.completion",
"created": created_ts,
"model": model_name,
"choices": [
{
"index": 0,
"message": message_payload,
"finish_reason": finish_reason,
"native_finish_reason": finish_reason,
}
],
"usage": usage_stats,
"system_fingerprint": system_fingerprint,
}
if seed is not None:
resp["seed"] = seed
if response_format is not None:
resp["response_format"] = response_format
return resp
|