catch openai rate limit error (#7658)

This commit is contained in:
Jyong
2024-08-26 19:36:44 +08:00
committed by GitHub
parent 7cda73f192
commit 1473083a41
7 changed files with 53 additions and 0 deletions

View File

@@ -1,6 +1,8 @@
from collections.abc import Generator
from typing import Any, Union
from openai._exceptions import RateLimitError
from configs import dify_config
from core.app.apps.advanced_chat.app_generator import AdvancedChatAppGenerator
from core.app.apps.agent_chat.app_generator import AgentChatAppGenerator
@@ -10,6 +12,7 @@ from core.app.apps.workflow.app_generator import WorkflowAppGenerator
from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.features.rate_limiting import RateLimit
from models.model import Account, App, AppMode, EndUser
from services.errors.llm import InvokeRateLimitError
from services.workflow_service import WorkflowService
@@ -86,6 +89,8 @@ class AppGenerateService:
)
else:
raise ValueError(f"Invalid app mode {app_model.mode}")
except RateLimitError as e:
raise InvokeRateLimitError(str(e))
finally:
if not streaming:
rate_limit.exit(request_id)