Créer un point d’extension de gestionnaire d’erreurs
Créez un point d’extension scripté pour gérer les erreurs de génération d’incorporation qui se produisent lorsque les modèles d’incorporation personnalisés dans l’application Recherche IA Génération augmentée de récupération (RAG) (RAG) génèrent des vecteurs sémantiques.
Avant de commencer
Rôle requis : admin
Pourquoi et quand exécuter cette tâche
Le script BYOMEmbeddingGenerationErrorHandler vous permet de contrôler la logique de nouvelle tentative, de gérer les échecs par lots et de modifier les passages lorsque l’incorporation est générée. Ces stratégies permettent d’améliorer les performances de vos pipelines d’indexation sémantique à grande échelle.
Procédure
- Accédez à la Tous > Points d'extension système > Points d'extension scriptés.
- Dans le champ Nom de l’API , recherchez et sélectionnez le point d’extension BYOMEmbeddingGenerationErrorHandler .
- Dans les liens connexes, sélectionnez Créer une implémentation.
-
Sur le formulaire Script Include, mettez à jour le script selon vos besoins.
- Pour gérer les erreurs de génération d’incorporation dans un modèle d’incorporation personnalisé, définissez une méthode
de processus (inputParams)dans le script de point d’extension. Cette méthode doit renvoyer une réponse structurée basée sur les catégories d’erreur prédéfinies.var BYOMEmbeddingGenerationErrorHandler = Class.create(); BYOMEmbeddingGenerationErrorHandler.prototype = { initialize: function() {}, process: function(inputParams) { var responseStatus = inputParams.responseStatus; var responseErrorCode = parseInt(inputParams.responseErrorCode); var responseBody = inputParams.responseBody; var responseHeaders = inputParams.responseHeaders; var responseErrorMessage = inputParams.responseErrorMessage; var passages = inputParams.passages; var maxTokens = inputParams.maxTokens; var additionalParams = {}; var response = BYOMEmbeddingUtil.buildErrorResponse( BYOMEmbeddingUtil.ErrorCodeEnum.UNKNOWN_ERROR, "unknown error", additionalParams ); - Pour catégoriser les erreurs, utilisez les codes
BYOMEmbeddingUtil.ErrorCodeEnum.BYOMEmbeddingUtil.ErrorCodeEnum = { REQUEST_SIZE_TOO_LARGE_ERROR: "RequestSizeTooLargeError", // Reduce batch size and retry RATE_LIMIT_ERROR: "RateLimitError", // Retry without reducing batch size PASSAGE_SIZE_TOO_LARGE_ERROR: "PassageSizeTooLargeError", // Retry with reduced passage size UNKNOWN_ERROR: "UnknowError", // Ignore this run; retry in next job SKIP_BATCH_ERROR: "SkipBatchError", // Skip the entire batch, no retry UPDATE_PASSAGE_CONTENT_ERROR: "UpdatePassageContentError", // Retry with updated passage content RETRY_SKIP_ON_FAIL_ERROR: "RetrySkipOnFailError" // Retry with backoff; skip on failure }; - Les champs autorisés pour
buildErrorResponseincluent les types de codes d’erreur suivants :var allowedFieldsByErrorCode = { REQUEST_SIZE_TOO_LARGE_ERROR: ['error_code', 'error_message'], RATE_LIMIT_ERROR: ['error_code', 'error_message', 'retry_after_seconds'], PASSAGE_SIZE_TOO_LARGE_ERROR: ['error_code', 'error_message', 'passages'], UNKNOWN_ERROR: ['error_code', 'error_message'], SKIP_BATCH_ERROR: ['error_code', 'error_message'], UPDATE_PASSAGE_CONTENT_ERROR: ['error_code', 'error_message', 'passages'], RETRY_SKIP_ON_FAIL_ERROR: ['error_code', 'error_message'] }; - Le tableau suivant décrit les codes d’erreur et leurs stratégies de nouvelle tentative correspondantes :
Code d'erreur Description Stratégie de nouvelle tentative REQUEST_SIZE_TOO_LARGE_ERROR Lot trop volumineux Réduit la taille des lots et effectue de nouvelles tentatives de façon exponentielle. RATE_LIMIT_ERROR Limite de débit atteinte Attend retry_after_seconds, puis réessaye.PASSAGE_SIZE_TOO_LARGE_ERROR Passage trop grand Réduit la longueur de passage (généralement de moitié), puis réessaye. UNKNOWN_ERROR Problème inconnu Ignore une nouvelle tentative cette exécution et retente automatiquement la prochaine tâche planifiée. SKIP_BATCH_ERROR Problème irrécupérable avec le lot Ignore tout le lot sans réessayer. UPDATE_PASSAGE_CONTENT_ERROR Réessayer avec le contenu corrigé Utilise les passages corrigés d’une réponse et des nouvelles tentatives. RETRY_SKIP_ON_FAIL_ERROR Réessayer puis ignorer Nouveaux essais en augmentant les temps d’attente pour un nombre spécifié de nouvelles tentatives.
- Pour gérer les erreurs de génération d’incorporation dans un modèle d’incorporation personnalisé, définissez une méthode
- Sélectionnez Mettre à jour.