龙华哪有做网站设计,没有服务器怎么做网站,沈阳市建设工程信息网站,wordpress 聚美主题有一个50列的表格#xff0c;里面都是英文#xff0c;要翻译成中文#xff1a; 在ChatGPT中输入提示词#xff1a;
你是一个开发AI大模型应用的Python编程专家#xff0c;要完成以下任务的Python脚本#xff1a;
打开Excel文件#xff1a;F:\AI自媒体内容\AI行业…有一个50列的表格里面都是英文要翻译成中文 在ChatGPT中输入提示词
你是一个开发AI大模型应用的Python编程专家要完成以下任务的Python脚本
打开Excel文件F:\AI自媒体内容\AI行业数据分析\poetop50bots.xlsx
读取A2到B51这个区域中的每一个单元格内容
调用deepseek-chat模型上下文长度32K最大输出长度4K来将单元格的内容翻译成中文
模型的base_url为https://api.deepseek.com
模型的api_key为XXX
temperature 参数设置认为 1.1
提示词为把英文内容翻译为中文
调用deepseek-chat模型API的示例参照【】里面的内容
【# Please install OpenAI SDK firstpip3 install openai
from openai import OpenAI
client OpenAI(api_keydeepseek api key, base_urlhttps://api.deepseek.com)
response client.chat.completions.create(
modeldeepseek-chat,
messages[
{role: system, content: You are a helpful assistant},
{role: user, content: Hello},
],
streamFalse
)
print(response.choices[0].message.content)
模型返回的json数据示例
{
id: 65c327b06948c8d635c8316c6885d95e,
choices: [
{
index: 0,
message: {
content: Hello! How can I assist you with your programming or computer science questions today?,
role: assistant
},
finish_reason: stop,
logprobs: null
}
],
created: 1717069572,
model: deepseek-coder,
system_fingerprint: fp_ded2115e5a,
object: chat.completion,
usage: {
prompt_tokens: 18,
completion_tokens: 16,
total_tokens: 34
}
}
】
解析返回的JSON数据获取翻译后的文本将翻译后的文本内容写入一个新的表格文件中
注意
每一步都要输出相关信息到屏幕上
如果单元格的文本长度或者翻译返回的文本长度超过模型限制那就进行拆分然后组合在一起 Chatpgt生成的代码
import pandas as pd
import requests
import json
# 读取Excel文件
file_path F:\\AI自媒体内容\\AI行业数据分析\\poetop50bots.xlsx
df pd.read_excel(file_path, headerNone, usecolsA:B, skiprows1, nrows50)
# DeepSeek API配置信息
base_url https://api.deepseek.com
api_key XXX
model deepseek-chat
def translate_text(text):
headers {
Authorization: fBearer {api_key},
Content-Type: application/json
}
data {
model: model,
messages: [
{role: system, content: You are a helpful assistant},
{role: user, content: f把英文内容翻译为中文{text}}
],
stream: False
}
response requests.post(f{base_url}/v1/chat/completions, headersheaders, jsondata)
response.raise_for_status() # 检查请求是否成功
translated_text response.json()[choices][0][message][content]
return translated_text
def split_text(text, max_length):
return [text[i:i max_length] for i in range(0, len(text), max_length)]
# 输出每一步的信息到屏幕上
print(f读取文件: {file_path})
for index, row in df.iterrows():
for col in [0, 1]: # 遍历A和B列
text row[col]
if pd.isna(text):
continue
text str(text)
print(f正在翻译单元格({index2}, {chr(col65)}): {text})
max_input_length 32000
max_output_length 4000
if len(text) max_input_length:
parts split_text(text, max_input_length)
translated_parts [translate_text(part) for part in parts]
translated_text .join(translated_parts)
else:
translated_text translate_text(text)
print(f翻译结果: {translated_text})
# 将翻译后的文本写入DataFrame中
df.iat[index, col] translated_text
# 将结果写回到新的Excel文件中
new_file_path F:\\AI自媒体内容\\AI行业数据分析\\translated_poetop50bots.xlsx
df.to_excel(new_file_path, indexFalse, headerFalse, startrow1)
print(f翻译完成结果已写入文件: {new_file_path})