feat: improve compatiblity with certain apps (#72)
* feat: enable modern packaging via pyproject.toml uvx --from (...) chatmock should just work ! * feat(ollama): add version endpoint * feat(logging): improve verbose diagnostics * fix(stream): always send stop chunk
This commit is contained in:
@@ -5,7 +5,7 @@ import time
|
||||
from typing import Any, Dict, List, Tuple
|
||||
|
||||
import requests
|
||||
from flask import Response, jsonify, make_response
|
||||
from flask import Response, current_app, jsonify, make_response
|
||||
|
||||
from .config import CHATGPT_RESPONSES_URL
|
||||
from .http import build_cors_headers
|
||||
@@ -14,6 +14,16 @@ from flask import request as flask_request
|
||||
from .utils import get_effective_chatgpt_auth
|
||||
|
||||
|
||||
def _log_json(prefix: str, payload: Any) -> None:
|
||||
try:
|
||||
print(f"{prefix}\n{json.dumps(payload, indent=2, ensure_ascii=False)}")
|
||||
except Exception:
|
||||
try:
|
||||
print(f"{prefix}\n{payload}")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def normalize_model_name(name: str | None, debug_model: str | None = None) -> str:
|
||||
if isinstance(debug_model, str) and debug_model.strip():
|
||||
return debug_model.strip()
|
||||
@@ -102,6 +112,14 @@ def start_upstream_request(
|
||||
if reasoning_param is not None:
|
||||
responses_payload["reasoning"] = reasoning_param
|
||||
|
||||
verbose = False
|
||||
try:
|
||||
verbose = bool(current_app.config.get("VERBOSE"))
|
||||
except Exception:
|
||||
verbose = False
|
||||
if verbose:
|
||||
_log_json("OUTBOUND >> ChatGPT Responses API payload", responses_payload)
|
||||
|
||||
headers = {
|
||||
"Authorization": f"Bearer {access_token}",
|
||||
"Content-Type": "application/json",
|
||||
|
||||
Reference in New Issue
Block a user