解决退出报错event loop closed的错误
尝试了几个模型发现还是gpt-4o-mini更好,更准确
This commit is contained in:
		@@ -1,3 +1,9 @@
 | 
			
		||||
# excel_translate
 | 
			
		||||
 | 
			
		||||
Emma工作需要,将excel中的所有中文转换为英文
 | 
			
		||||
 | 
			
		||||
如果出现以下错误,请关闭代理尝试
 | 
			
		||||
```bash
 | 
			
		||||
Error: Unknown scheme for proxy URL URL('socks4://127.0.0.1:1080')
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ import shutil
 | 
			
		||||
from typing import List, Tuple
 | 
			
		||||
import os
 | 
			
		||||
import sys
 | 
			
		||||
import platform
 | 
			
		||||
try:
 | 
			
		||||
    import openpyxl
 | 
			
		||||
except ImportError:
 | 
			
		||||
@@ -35,6 +36,8 @@ API_URL = "https://api.gpt.ge/v1"
 | 
			
		||||
# exit(0)
 | 
			
		||||
 | 
			
		||||
class Model:
 | 
			
		||||
    default = "gpt-4o-mini"
 | 
			
		||||
    doubao_lite_32k = "doubao-lite-32k"
 | 
			
		||||
    gpt_4o_mini = "gpt-4o-mini"
 | 
			
		||||
    text_davinci_002 = "text-davinci-002"
 | 
			
		||||
    gpt_4o = "gpt-4o"
 | 
			
		||||
@@ -49,7 +52,7 @@ class Model:
 | 
			
		||||
# 注意仅输出翻译后的内容即可,不要保留原文任何内容!!!
 | 
			
		||||
# 请翻译:\n"""
 | 
			
		||||
PROMT = "将如下内容翻译为英文,仅输出翻译后的内容,不输出任何原文:"
 | 
			
		||||
async def chinese2english(text, model=Model.gpt_4o_mini):
 | 
			
		||||
async def chinese2english(text, model=Model.default):
 | 
			
		||||
    # print("start translate")
 | 
			
		||||
    #Translate the text using OpenAI
 | 
			
		||||
    client = AsyncOpenAI(api_key=API_KEY, base_url=API_URL)
 | 
			
		||||
@@ -66,13 +69,12 @@ async def chinese2english(text, model=Model.gpt_4o_mini):
 | 
			
		||||
    )
 | 
			
		||||
    # print("translate done")
 | 
			
		||||
    translated_text = response.choices[0].message.content
 | 
			
		||||
    client.close()
 | 
			
		||||
    return translated_text
 | 
			
		||||
 | 
			
		||||
# def chinese2english_stream(text, model=Model.gpt_4o_mini):
 | 
			
		||||
# def chinese2english_stream(text, model=Model.default):
 | 
			
		||||
#     client = OpenAI(api_key=API_KEY, base_url=API_URL)
 | 
			
		||||
#     with client.chat.completions.with_streaming_response.create(
 | 
			
		||||
#         model = Model.gpt_4o_mini,
 | 
			
		||||
#         model = model,
 | 
			
		||||
#         messages = [
 | 
			
		||||
#             {
 | 
			
		||||
#                 "role": "user",
 | 
			
		||||
@@ -212,5 +214,7 @@ async def translate_excel_process(input_file_path="input.xlsx", output_file_path
 | 
			
		||||
    output_workbook.save(output_file_path)
 | 
			
		||||
    pass
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    if platform.system()=='Windows':
 | 
			
		||||
        asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) #解决windows下退出报错 event loop is closed
 | 
			
		||||
    asyncio.run(main())
 | 
			
		||||
    exit(0)
 | 
			
		||||
		Reference in New Issue
	
	Block a user