mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-08 03:08:45 +00:00
feat(ovalix): call tracker /beta endpoints for discovery + file scanning, send x-api-key
This commit is contained in:
parent
51855a20f5
commit
eea475a65e
2 changed files with 7 additions and 6 deletions
|
|
@ -168,6 +168,7 @@ class OvalixGuardrail(CustomGuardrail):
|
|||
MappingProxyType(
|
||||
{
|
||||
"Authorization": f"Bearer {self._tracker_api_key}",
|
||||
"x-api-key": self._tracker_api_key or "",
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
),
|
||||
|
|
@ -248,7 +249,7 @@ class OvalixGuardrail(CustomGuardrail):
|
|||
raise ValueError("Ovalix: application_id or checkpoint_id not resolved")
|
||||
|
||||
url = (
|
||||
f"{self._tracker_api_base}/tracking/litellm/file_checkpoint"
|
||||
f"{self._tracker_api_base}/tracking/beta/file_checkpoint"
|
||||
if data_type == "FILE"
|
||||
else f"{self._tracker_api_base}/tracking/custom_application/checkpoint"
|
||||
)
|
||||
|
|
@ -494,7 +495,7 @@ class OvalixGuardrail(CustomGuardrail):
|
|||
async def _get_app_name_regex(self) -> re.Pattern[str]:
|
||||
if self._app_name_regex is not None:
|
||||
return self._app_name_regex
|
||||
url = f"{self._tracker_api_base}/tracking/litellm/app_name_regex"
|
||||
url = f"{self._tracker_api_base}/tracking/beta/app_name_regex"
|
||||
try:
|
||||
response = await self._async_handler.get(url, headers=self._tracker_headers)
|
||||
response.raise_for_status()
|
||||
|
|
@ -581,7 +582,7 @@ class OvalixGuardrail(CustomGuardrail):
|
|||
return routing
|
||||
|
||||
async def _resolve_via_tracker(self, application_name: str) -> ResolvedRouting | None:
|
||||
url = f"{self._tracker_api_base}/tracking/litellm/resolve_application"
|
||||
url = f"{self._tracker_api_base}/tracking/beta/resolve_application"
|
||||
try:
|
||||
response = await self._async_handler.post(
|
||||
url, headers=self._tracker_headers, json={"application_name": application_name}
|
||||
|
|
|
|||
|
|
@ -771,9 +771,9 @@ async def test_discovery_extracts_name_and_resolves():
|
|||
mock_get, mock_post = _mock_handler(g)
|
||||
routing = await g._resolve_routing(_alias_request_data("[Weather App] prod"))
|
||||
assert routing.application_id == "app-9"
|
||||
assert mock_post.call_args.args[0].endswith("/tracking/litellm/resolve_application")
|
||||
assert mock_post.call_args.args[0].endswith("/tracking/beta/resolve_application")
|
||||
assert mock_post.call_args.kwargs["json"] == {"application_name": "Weather App"}
|
||||
assert mock_get.call_args.args[0].endswith("/tracking/litellm/app_name_regex")
|
||||
assert mock_get.call_args.args[0].endswith("/tracking/beta/app_name_regex")
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
@ -961,7 +961,7 @@ async def test_file_checkpoint_call_routes_to_litellm_file_endpoint():
|
|||
|
||||
with patch.object(g._async_handler, "post", new=_post):
|
||||
await g._call_checkpoint("FILE", {"name": "f.txt", "content": "x"}, "file-1", "a", "s", "app-1")
|
||||
assert seen["url"] == "https://t/tracking/litellm/file_checkpoint"
|
||||
assert seen["url"] == "https://t/tracking/beta/file_checkpoint"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue