fixbug: last_talk

This commit is contained in:
莘权 马 2023-09-05 00:02:21 +08:00
parent 8075154a8d
commit 327e5fc987

View file

@ -226,15 +226,17 @@ class OpenAIGPTAPI(BaseGPTAPI, RateLimiter):
async def get_summary(self, text: str, max_words=200, keep_language: bool = False):
max_token_count = DEFAULT_MAX_TOKENS
max_count = 100
text_length = len(text)
while max_count > 0:
if len(text) < max_token_count:
if text_length < max_token_count:
return await self._get_summary(text=text, max_words=max_words, keep_language=keep_language)
padding_size = 20 if max_token_count > 20 else 0
text_windows = self.split_texts(text, window_size=max_token_count - padding_size)
part_max_words = int(max_words / len(text_windows)) + 1
summaries = []
for ws in text_windows:
response = await self._get_summary(text=ws, max_words=max_words, keep_language=keep_language)
response = await self._get_summary(text=ws, max_words=part_max_words, keep_language=keep_language)
summaries.append(response)
if len(summaries) == 1:
return summaries[0]