Procházet zdrojové kódy

fix: Add model_uid validation for model_uid in Xinference models (#2468)

Yeuoly před 1 rokem
rodič
revize
ca4aa340f6

+ 3 - 0
api/core/model_runtime/model_providers/xinference/llm/llm.py

@@ -97,6 +97,9 @@ class XinferenceAILargeLanguageModel(LargeLanguageModel):
             }
         """
         try:
+            if "/" in credentials['model_uid'] or "?" in credentials['model_uid'] or "#" in credentials['model_uid']:
+                raise CredentialsValidateFailedError("model_uid should not contain /, ?, or #")
+            
             extra_param = XinferenceHelper.get_xinference_extra_parameter(
                 server_url=credentials['server_url'],
                 model_uid=credentials['model_uid']

+ 3 - 0
api/core/model_runtime/model_providers/xinference/rerank/rerank.py

@@ -92,6 +92,9 @@ class XinferenceRerankModel(RerankModel):
         :return:
         """
         try:
+            if "/" in credentials['model_uid'] or "?" in credentials['model_uid'] or "#" in credentials['model_uid']:
+                raise CredentialsValidateFailedError("model_uid should not contain /, ?, or #")
+            
             self.invoke(
                 model=model,
                 credentials=credentials,

+ 3 - 0
api/core/model_runtime/model_providers/xinference/text_embedding/text_embedding.py

@@ -113,6 +113,9 @@ class XinferenceTextEmbeddingModel(TextEmbeddingModel):
         :return:
         """
         try:
+            if "/" in credentials['model_uid'] or "?" in credentials['model_uid'] or "#" in credentials['model_uid']:
+                raise CredentialsValidateFailedError("model_uid should not contain /, ?, or #")
+            
             server_url = credentials['server_url']
             model_uid = credentials['model_uid']
             extra_args = XinferenceHelper.get_xinference_extra_parameter(server_url=server_url, model_uid=model_uid)