@@ -67,6 +67,8 @@ def __init__(self, region: str = "cn-beijing", timeout: int = 50) -> None:
6767 self .appid = getenv ("TOOL_LLM_SHIELD_APP_ID" )
6868 self .region = region
6969 self .timeout = timeout
70+ self .url = getenv ("TOOL_LLM_SHIELD_URL" , f"https://{ self .region } .sdk.access.llm-shield.omini-shield.com" )
71+ self .api_key = getenv ("TOOL_LLM_SHIELD_API_KEY" )
7072
7173 self .category_map = {
7274 101 : "Model Misuse" ,
@@ -120,13 +122,15 @@ def _request_llm_shield(self, message: str, role: str) -> Optional[str]:
120122 body_json = json .dumps (body ).encode ("utf-8" )
121123
122124 header = {"X-Security-Token" : session_token }
123- url = f"https://{ self .region } .sdk.access.llm-shield.omini-shield.com"
125+ # Add x-api-key header if API key is provided
126+ if self .api_key :
127+ header ["x-api-key" ] = self .api_key
124128 path = "/v2/moderate"
125129 action = "Moderate"
126130 version = "2025-08-31"
127131
128132 signed_header = request_sign (
129- header , ak , sk , self .region , url , path , action , body_json
133+ header , ak , sk , self .region , self . url , path , action , body_json
130134 )
131135
132136 signed_header .update (
@@ -139,7 +143,7 @@ def _request_llm_shield(self, message: str, role: str) -> Optional[str]:
139143
140144 try :
141145 response = requests .post (
142- url + path ,
146+ self . url + path ,
143147 headers = signed_header ,
144148 data = body_json ,
145149 params = {"Action" : action , "Version" : version },
0 commit comments