Skip to content

Commit 9122614

Browse files
Abhijit LAbhijit L
authored andcommitted
fix: make it discoverable on ui
1 parent 0d7256c commit 9122614

File tree

2 files changed

+43
-1
lines changed
  • litellm

2 files changed

+43
-1
lines changed

litellm/proxy/guardrails/guardrail_hooks/javelin/javelin.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from datetime import datetime
2-
from typing import Dict, List, Literal, Optional, Union
2+
from typing import TYPE_CHECKING, Dict, List, Literal, Optional, Union, Type
33

44
import litellm
55
from litellm._logging import verbose_proxy_logger
@@ -18,6 +18,9 @@
1818
)
1919
from fastapi import HTTPException
2020

21+
if TYPE_CHECKING:
22+
from litellm.types.proxy.guardrails.guardrail_hooks.base import GuardrailConfigModel
23+
2124

2225
class JavelinGuardrail(CustomGuardrail):
2326
def __init__(
@@ -284,3 +287,15 @@ async def async_pre_call_hook(
284287
)
285288

286289
return data
290+
291+
@staticmethod
292+
def get_config_model() -> Optional[Type["GuardrailConfigModel"]]:
293+
"""
294+
Get the config model for the Javelin guardrail.
295+
"""
296+
from litellm.types.proxy.guardrails.guardrail_hooks.javelin import (
297+
JavelinGuardrailConfigModel,
298+
)
299+
return JavelinGuardrailConfigModel
300+
301+

litellm/types/proxy/guardrails/guardrail_hooks/javelin.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
from typing import Dict, List, Optional
22

3+
from pydantic import Field
34
from typing_extensions import TypedDict
45

6+
from .base import GuardrailConfigModel
7+
58

69
class JavelinGuardInput(TypedDict):
710
text: str
@@ -81,3 +84,27 @@ class JavelinGuardResponse(TypedDict):
8184
| JavelinLanguageDetectionAssessment,
8285
]
8386
]
87+
88+
89+
class JavelinGuardrailConfigModel(GuardrailConfigModel):
90+
"""Configuration parameters for the Javelin guardrail"""
91+
92+
guard_name: Optional[str] = Field(
93+
default=None, description="Name of the Javelin guard to use"
94+
)
95+
api_version: Optional[str] = Field(
96+
default="v1", description="API version for Javelin service"
97+
)
98+
metadata: Optional[Dict] = Field(
99+
default=None, description="Additional metadata to send with requests"
100+
)
101+
application: Optional[str] = Field(
102+
default=None, description="Application name for Javelin service"
103+
)
104+
config: Optional[Dict] = Field(
105+
default=None, description="Configuration parameters for Javelin service"
106+
)
107+
108+
@staticmethod
109+
def ui_friendly_name() -> str:
110+
return "Javelin Guardrails"

0 commit comments

Comments
 (0)