Skip to content

Commit 7093dde

Browse files
author
Paweł Kędzia
committed
Merge branch 'features/openai'
2 parents fcdc783 + b719bea commit 7093dde

File tree

2 files changed

+21
-15
lines changed

2 files changed

+21
-15
lines changed

llm_router_api/endpoints/endpoint_i.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,11 @@ def run_ep(
657657
if self._api_model is None:
658658
raise ValueError(f"API model not found in params {params}")
659659

660-
self.logger.debug(self._api_model.as_dict())
660+
_md = self._api_model.as_dict().copy()
661+
if "api_token" in _md:
662+
_md["api_token"] = "***"
663+
self.logger.debug(f"Request model config: {_md}")
664+
661665
if self._api_model.api_type.lower() in self._ep_types_str:
662666
simple_proxy = True
663667

llm_router_api/endpoints/httprequest.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
"""
2222

2323
import json
24+
import urllib
25+
2426
import requests
2527
import datetime
2628

@@ -118,18 +120,15 @@ def call_http_request(
118120
else self._endpoint.api_model.name
119121
)
120122

121-
# build full URL (host + endpoint path)
122-
full_url = (
123-
self._endpoint.api_model.api_host.rstrip("/") + "/" + ep_url.lstrip("/")
124-
)
123+
full_url = self._prepare_full_url_ep(ep_url)
124+
125+
if not headers:
126+
headers = {"Content-Type": "application/json"}
125127

126128
# auth header
127129
token_str = self._endpoint.api_model.api_token
128130
if token_str:
129-
headers = {
130-
"Authorization": f"Bearer {token_str}",
131-
"Content-Type": "application/json",
132-
}
131+
headers["Authorization"] = f"Bearer {token_str}"
133132

134133
# prepend system prompt if required
135134
system_msg = {}
@@ -212,9 +211,8 @@ def stream_response(
212211
else self._endpoint.api_model.name
213212
)
214213
params["stream"] = True
215-
full_url = (
216-
self._endpoint.api_model.api_host.rstrip("/") + "/" + ep_url.lstrip("/")
217-
)
214+
full_url = self._prepare_full_url_ep(ep_url)
215+
218216
method = (self._endpoint.method or "POST").upper()
219217
headers = {
220218
"Content-Type": "application/json",
@@ -232,8 +230,11 @@ def stream_response(
232230
return self._stream_generic(full_url, params, method, headers)
233231

234232
# ------------------------------------------------------------------
235-
# Private helpers – moved unchanged from the original class
233+
# Private helpers
236234
# ------------------------------------------------------------------
235+
def _prepare_full_url_ep(self, ep_url: str) -> str:
236+
return urllib.parse.urljoin(self._endpoint.api_model.api_host, ep_url)
237+
237238
def _call_for_each_user_message(
238239
self,
239240
ep_url: str,
@@ -273,7 +274,7 @@ def _call_for_each_user_message(
273274
``_prepare_response_function`` is missing.
274275
"""
275276
_payloads = []
276-
for m in params.get("messages", {}):
277+
for m in params.get("messages", []):
277278
if m.get("role", "?") == "user":
278279
_params = params.copy()
279280
_params["messages"] = [system_message, m]
@@ -288,7 +289,8 @@ def _call_for_each_user_message(
288289
contents = []
289290
responses = []
290291
for payload, content in _payloads:
291-
self.logger.debug(json.dumps(payload, indent=2, ensure_ascii=False))
292+
self.logger.debug(f"Request payload: {payload}")
293+
292294
response = self._call_post_with_payload(
293295
ep_url=ep_url,
294296
params=payload,

0 commit comments

Comments
 (0)