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