mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-04-23 14:19:42 +08:00
fix: request timeout when openai completion (#1265)
This commit is contained in:
parent
5bffa1d918
commit
8606d80c66
@ -5,6 +5,7 @@ from typing import List, Optional, Any
|
|||||||
import openai
|
import openai
|
||||||
from langchain.callbacks.manager import Callbacks
|
from langchain.callbacks.manager import Callbacks
|
||||||
from langchain.schema import LLMResult
|
from langchain.schema import LLMResult
|
||||||
|
from openai import api_requestor
|
||||||
|
|
||||||
from core.model_providers.providers.base import BaseModelProvider
|
from core.model_providers.providers.base import BaseModelProvider
|
||||||
from core.third_party.langchain.llms.chat_open_ai import EnhanceChatOpenAI
|
from core.third_party.langchain.llms.chat_open_ai import EnhanceChatOpenAI
|
||||||
@ -105,7 +106,13 @@ class OpenAIModel(BaseLLM):
|
|||||||
raise ModelCurrentlyNotSupportError("Dify Hosted OpenAI GPT-4 currently not support.")
|
raise ModelCurrentlyNotSupportError("Dify Hosted OpenAI GPT-4 currently not support.")
|
||||||
|
|
||||||
prompts = self._get_prompt_from_messages(messages)
|
prompts = self._get_prompt_from_messages(messages)
|
||||||
|
|
||||||
|
try:
|
||||||
return self._client.generate([prompts], stop, callbacks)
|
return self._client.generate([prompts], stop, callbacks)
|
||||||
|
finally:
|
||||||
|
thread_context = api_requestor._thread_context
|
||||||
|
if hasattr(thread_context, "session") and thread_context.session:
|
||||||
|
thread_context.session.close()
|
||||||
|
|
||||||
def get_num_tokens(self, messages: List[PromptMessage]) -> int:
|
def get_num_tokens(self, messages: List[PromptMessage]) -> int:
|
||||||
"""
|
"""
|
||||||
|
@ -209,6 +209,8 @@ class CompletionService:
|
|||||||
db.session.rollback()
|
db.session.rollback()
|
||||||
logging.exception("Unknown Error in completion")
|
logging.exception("Unknown Error in completion")
|
||||||
PubHandler.pub_error(user, generate_task_id, e)
|
PubHandler.pub_error(user, generate_task_id, e)
|
||||||
|
finally:
|
||||||
|
db.session.close()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def countdown_and_close(cls, worker_thread, pubsub, user, generate_task_id) -> threading.Thread:
|
def countdown_and_close(cls, worker_thread, pubsub, user, generate_task_id) -> threading.Thread:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user