安装依赖
pip install openai loguru
code
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
"""
@Project :all_daily_tasks_code
@File :使用chatgpt将普通话转为粤语.py
@Author :木子
@Date :2023/11/17 10:23
"""
import os
import time
from datetime import datetime
import openai
from loguru import logger
# 修改完这个key,跑右边的11_程序执行(右键运行)
openai.api_key = "sk-wIiM93LGTled6wep01AcAa8cEeA546Ee9c3f51A34fC570"
openai.api_base = "https://oneapi.xty.app/v1" # 如果不是中转的可以将这个地址注销
# 通过输入文本判断问题类型dBfF6eC76df
def ask_info(text_question):
global is_more_retry
try:
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo",
messages=[
{
"role": "system",
"content": "假设你是一名语言翻译专家,能够将普通话完美的翻译成粤语,不要繁体字,只输出简体字。"
},
{
"role": "user",
"content": text_question
}
])
openai_result_info = completion.choices[0].message.content
is_more_retry = 0
return openai_result_info
except Exception as _e:
is_more_retry += 1
if "max" in str(_e) and "token" in str(_e):
logger.error({"openai error": "ai", "error_message": str(_e), "error_msg": "max_token",
"is_more_retry": is_more_retry})
return "token"
if is_more_retry == 2:
logger.error({"openai error": "ai", "error_message": str(_e), "is_more_retry": is_more_retry})
is_more_retry = 0
return "network"
time.sleep(10)
ask_info(text_question)
# print(ask_info("将`我上次听说有新的高血压药物,是什么名称?`变成粤语"))
import pandas as pd
df = pd.read_excel("2.xlsx").fillna("")
dd = df.to_dict("records")
already_info = []
for item in dd:
# print(item)
_ = item.get("普通话文本", "")
_text = f"将`{_}`变成粤语"
result = ask_info(_text)
print(_, ">>>", result)
item["粤语文本"] = result
already_info.append(item)
df = pd.DataFrame(already_info)
df.to_excel("3.xlsx", index=False)