| | const OpenAI = require('openai'); |
| | const { logger } = require('@librechat/data-schemas'); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | async function handleOpenAIErrors(err, errorCallback, context = 'stream') { |
| | if (err instanceof OpenAI.APIError && err?.message?.includes('abort')) { |
| | logger.warn(`[OpenAIClient.chatCompletion][${context}] Aborted Message`); |
| | } |
| | if (err instanceof OpenAI.OpenAIError && err?.message?.includes('missing finish_reason')) { |
| | logger.warn(`[OpenAIClient.chatCompletion][${context}] Missing finish_reason`); |
| | } else if (err instanceof OpenAI.APIError) { |
| | logger.warn(`[OpenAIClient.chatCompletion][${context}] API error`); |
| | } else { |
| | logger.warn(`[OpenAIClient.chatCompletion][${context}] Unhandled error type`); |
| | } |
| |
|
| | logger.error(err); |
| |
|
| | if (errorCallback) { |
| | errorCallback(err); |
| | } |
| | } |
| |
|
| | module.exports = handleOpenAIErrors; |
| |
|