zyddnys / manga-image-translator

Translate manga/image 一键翻译各类图片内文字 https://cotrans.touhou.ai/
https://cotrans.touhou.ai/
GNU General Public License v3.0
5.09k stars 523 forks source link

[Bug]: gpt 3.5 turbo 不能再使用了? #654

Closed terrytan8 closed 3 months ago

terrytan8 commented 3 months ago

Issue

最近使用 gpt3.5但是发现不能在运行了? 是不是必须更改到 gpt4?

Command Line Arguments

python -m manga_translator -v --mode batch --translator=gpt3.5 -l CHT -i <path>

Console logs

[batch] InvalidRequestError: The model `gpt-3.5-turbo-0613` has been deprecated, learn more here: https://platform.openai.com/docs/deprecations
Traceback (most recent call last):
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\__main__.py", line 73, in <module>
    loop.run_until_complete(dispatch(args))
  File "C:\Users\Predator Helios\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete
    return future.result()
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\__main__.py", line 42, in dispatch
    await translator.translate_path(path, dest, args_dict)
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\manga_translator.py", line 161, in translate_path
    if await self._translate_file(file_path, output_dest, params):
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\manga_translator.py", line 183, in _translate_file
    translation_dict = await self.translate(img, params)
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\manga_translator.py", line 249, in translate
    return await self._translate(ctx)
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\manga_translator.py", line 366, in _translate
    ctx.text_regions = await self._run_text_translation(ctx)
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\manga_translator.py", line 458, in _run_text_translation
    translated_sentences = await dispatch_translation(ctx.translator, [region.get_text() for region in ctx.text_regions], ctx.use_mtpe,
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\translators\__init__.py", line 116, in dispatch
    queries = await translator.translate('auto', tgt_lang, queries, use_mtpe)
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\translators\common.py", line 181, in translate
    _translations = await self._translate(*self.parse_language_codes(from_lang, to_lang, fatal=True), queries)
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\translators\chatgpt.py", line 144, in _translate
    response = await request_task
  File "C:\Users\Predator Helios\manga-image-translator\manga_translator\translators\chatgpt.py", line 256, in _request_translation
    response = await openai.ChatCompletion.acreate(
  File "C:\Users\Predator Helios\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_resources\chat_completion.py", line 45, in acreate
    return await super().acreate(*args, **kwargs)
  File "C:\Users\Predator Helios\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 217, in acreate
    response, _, api_key = await requestor.arequest(
  File "C:\Users\Predator Helios\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_requestor.py", line 314, in arequest
    resp, got_stream = await self._interpret_async_response(result, stream)
  File "C:\Users\Predator Helios\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_requestor.py", line 650, in _interpret_async_response
    self._interpret_response_line(
  File "C:\Users\Predator Helios\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_requestor.py", line 687, in _interpret_response_line
    raise self.handle_error_response(
openai.error.InvalidRequestError: The model `gpt-3.5-turbo-0613` has been deprecated, learn more here: https://platform.openai.com/docs/deprecations
Benjamin-Teng commented 3 months ago

這個問題是由於開發者指定的ai model失效了,先找到:.././translators/chatgpt.py,然後到class GPT35TurboTranslator的下方區域中找到以下代碼:

response = await openai.ChatCompletion.acreate(
            model='gpt-3.5-turbo-0613',
            messages=messages,
            max_tokens=self._MAX_TOKENS // 2,
            temperature=self.temperature,
            top_p=self.top_p,
        )

把'gpt-3.5-turbo-0613'改成'gpt-3.5-turbo'應該就能解決問題。

zyddnys commented 3 months ago

请先更新再问,仓库里早就更新了gpt3.5版本了https://github.com/zyddnys/manga-image-translator/blob/main/manga_translator/translators/chatgpt.py#L276