Parcourir la source

fix: hit testing throws errors cause internal server error (#1865)

takatost il y a 1 an
Parent
commit
4562e83b24
1 fichiers modifiés avec 5 ajouts et 1 suppressions
  1. 5 1
      api/controllers/console/datasets/hit_testing.py

+ 5 - 1
api/controllers/console/datasets/hit_testing.py

@@ -1,6 +1,8 @@
 import logging
 
 from flask_login import current_user
+
+from core.model_runtime.errors.invoke import InvokeError
 from libs.login import login_required
 from flask_restful import Resource, reqparse, marshal
 from werkzeug.exceptions import InternalServerError, NotFound, Forbidden
@@ -8,7 +10,7 @@ from werkzeug.exceptions import InternalServerError, NotFound, Forbidden
 import services
 from controllers.console import api
 from controllers.console.app.error import ProviderNotInitializeError, ProviderQuotaExceededError, \
-    ProviderModelCurrentlyNotSupportError
+    ProviderModelCurrentlyNotSupportError, CompletionRequestError
 from controllers.console.datasets.error import HighQualityDatasetOnlyError, DatasetNotInitializedError
 from controllers.console.setup import setup_required
 from controllers.console.wraps import account_initialization_required
@@ -69,6 +71,8 @@ class HitTestingApi(Resource):
             raise ProviderNotInitializeError(
                 f"No Embedding Model or Reranking Model available. Please configure a valid provider "
                 f"in the Settings -> Model Provider.")
+        except InvokeError as e:
+            raise CompletionRequestError(e.description)
         except ValueError as e:
             raise ValueError(str(e))
         except Exception as e: