openai-api-error-handler.ts 742 B

1234567891011121314151617181920212223242526272829
  1. import OpenAI from 'openai';
  2. import loggerFactory from '~/utils/logger';
  3. const logger = loggerFactory('growi:service:openai');
  4. // Error Code Reference
  5. // https://platform.openai.com/docs/guides/error-codes/api-errors
  6. // Error Handling Reference
  7. // https://github.com/openai/openai-node/tree/d08bf1a8fa779e6a9349d92ddf65530dd84e686d?tab=readme-ov-file#handling-errors
  8. type ErrorHandler = {
  9. notFoundError?: () => Promise<void>;
  10. }
  11. export const openaiApiErrorHandler = async(error: unknown, handler: ErrorHandler): Promise<void> => {
  12. if (!(error instanceof OpenAI.APIError)) {
  13. return;
  14. }
  15. logger.error(error);
  16. if (error.status === 404 && handler.notFoundError != null) {
  17. await handler.notFoundError();
  18. return;
  19. }
  20. };