mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-03 02:22:24 +00:00
fix(guardrails): restore documented TrendAI environment fallback
This commit is contained in:
parent
477a58a91f
commit
1d0bcdbec7
2 changed files with 2 additions and 25 deletions
|
|
@ -25,7 +25,6 @@ from litellm.llms.custom_httpx.http_handler import (
|
|||
get_async_httpx_client, # pyright: ignore[reportUnknownVariableType] # legacy client factory has an untyped params map
|
||||
httpxSpecialProvider,
|
||||
)
|
||||
from litellm.secret_managers.main import get_secret_str
|
||||
from litellm.types.guardrails import GuardrailEventHooks, Mode
|
||||
from litellm.types.utils import GenericGuardrailAPIInputs, GuardrailStatus
|
||||
|
||||
|
|
@ -86,13 +85,13 @@ class TrendAIGuardrail(CustomGuardrail):
|
|||
event_hook: GuardrailEventHooks | list[GuardrailEventHooks] | Mode | None = None,
|
||||
default_on: bool = False,
|
||||
) -> None:
|
||||
resolved_api_key: Final = api_key or get_secret_str("TMV1_API_KEY")
|
||||
resolved_api_key: Final = api_key or os.environ.get("TMV1_API_KEY")
|
||||
if not resolved_api_key:
|
||||
raise ValueError(
|
||||
"Trend AI Guard requires an API key. Pass api_key or set the TMV1_API_KEY environment variable."
|
||||
)
|
||||
|
||||
resolved_api_base: Final = api_base or get_secret_str("TRENDAI_AI_GUARD_BASE_URL")
|
||||
resolved_api_base: Final = api_base or os.environ.get("TRENDAI_AI_GUARD_BASE_URL")
|
||||
if not resolved_api_base:
|
||||
raise ValueError(
|
||||
"Trend AI Guard requires an API base URL. Pass api_base or set the "
|
||||
|
|
|
|||
|
|
@ -106,28 +106,6 @@ def test_environment_fallbacks(monkeypatch: pytest.MonkeyPatch) -> None:
|
|||
assert guardrail.app_name == "env-app"
|
||||
|
||||
|
||||
def test_secret_manager_configuration_is_used(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
import litellm
|
||||
from litellm.secret_managers import main as secrets
|
||||
|
||||
monkeypatch.delenv("TMV1_API_KEY", raising=False)
|
||||
monkeypatch.delenv("TRENDAI_AI_GUARD_BASE_URL", raising=False)
|
||||
monkeypatch.setattr(litellm, "secret_manager_client", object())
|
||||
monkeypatch.setattr(litellm, "_key_management_settings", None)
|
||||
monkeypatch.setattr(litellm, "_key_management_system", None)
|
||||
monkeypatch.setattr(secrets, "_should_read_secret_from_secret_manager", lambda: True)
|
||||
managed = {
|
||||
"TMV1_API_KEY": "managed-key",
|
||||
"TRENDAI_AI_GUARD_BASE_URL": "https://managed.example.com",
|
||||
}
|
||||
monkeypatch.setattr(secrets, "get_secret_from_manager", lambda **kwargs: managed[kwargs["secret_name"]])
|
||||
|
||||
guardrail = TrendAIGuardrail(guardrail_name="trendai", event_hook=GuardrailEventHooks.pre_call)
|
||||
|
||||
assert guardrail.api_key == "managed-key"
|
||||
assert guardrail.api_url == "https://managed.example.com/applyGuardrails"
|
||||
|
||||
|
||||
def test_explicit_configuration_takes_precedence(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
monkeypatch.setenv("TMV1_API_KEY", "env-key")
|
||||
monkeypatch.setenv("TRENDAI_AI_GUARD_BASE_URL", "https://env.example.com")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue