Crie um ponto de extensão do manipulador de erros

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • Crie um ponto de extensão com script para lidar com os erros de geração de incorporação que ocorrem ao incorporar modelos personalizados no Pesquisa com IA Geração aumentada por recuperação( RAG aplicação gerar vetores semânticos.

    Antes de Iniciar

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    . BYOMEmbeddingGenerationErrorHandler o script permite que você controle a lógica de repetição, lide com falhas em lote e modifique passagens quando a incorporação é gerada. Essas estratégias ajudam a melhorar o desempenho de seus pipelines de indexação semântica em larga escala.

    Procedimento

    1. Navegar até Tudo > Pontos de Extensão do Sistema > Pontos de Extensão com Script.
    2. Em Nome da API , pesquise e selecione BYOMEmbeddingGenerationErrorHandler ponto de extensão.
    3. Em Links relacionados, selecione Criar implementação .
    4. No formulário Inclusão de script, atualize o script conforme necessário.
      1. Para gerenciar os erros de geração de incorporação em um modelo de incorporação personalizado, defina um Processo (inputParams) método no script de ponto de extensão. Este método deve retornar uma resposta estruturada baseada nas categorias de erro predefinidas.
        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
                );
        
      2. Para categorizar erros, use BYOMEmbeddingUtil.CodeErrorEnum códigos.
        
        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
        };
        
      3. Os campos permitidos para BuildErrorResponse inclua os seguintes tipos de códigos de erro:
        
        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']
        };
        
      4. A tabela a seguir descreve os códigos de erro e suas estratégias de nova tentativa correspondentes:
        Código de erro Descrição Tentar Estratégia Novamente
        REQUEST_SIZE_TOO_LARGE_ERROR Lote muito grande Reduz o tamanho do lote e tenta novamente exponencialmente.
        RATE_LIMIT_ERROR Limite de taxa atingido Espera retry_after_seconds e, em seguida, novas tentativas.
        PASSAGE_SIZE_TOO_LARGE_ERROR Passagem muito grande Reduz o comprimento da passagem (geralmente metade) e, em seguida, tenta novamente.
        UNKNOWN_ERROR Problema desconhecido Tenta novamente esta execução e tenta novamente no próximo trabalho agendado.
        SKIP_BATCH_ERROR Problema irrecuperável com lote Ignora o lote inteiro sem uma nova tentativa.
        UPDATE_PASSAGE_CONTENT_ERROR Tente novamente com o conteúdo corrigido Usa as passagens corrigidas de uma resposta e tenta novamente.
        RETRY_SKIP_ON_FAIL_ERROR Tente novamente e ignore Novas tentativas aumentando os tempos de espera para um número especificado de tentativas.
    5. Selecione Atualizar.