Crie um ponto de extensão do manipulador de erros
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
- Navegar até Tudo > Pontos de Extensão do Sistema > Pontos de Extensão com Script.
- Em Nome da API , pesquise e selecione BYOMEmbeddingGenerationErrorHandler ponto de extensão.
- Em Links relacionados, selecione Criar implementação .
-
No formulário Inclusão de script, atualize o script conforme necessário.
- 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 ); - Para categorizar erros, use
BYOMEmbeddingUtil.CodeErrorEnumcó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 }; - Os campos permitidos para
BuildErrorResponseinclua 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'] }; - 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_secondse, 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.
- Para gerenciar os erros de geração de incorporação em um modelo de incorporação personalizado, defina um
- Selecione Atualizar.