精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用硅基流動SiliconCloud免費AI模型批量翻譯word長文檔
userphoto

2024.09.24 廣東

關注

現在文件夾中有很多docx英文文檔,想用AI大模型批量翻譯成中文,可以用硅基流動SiliconCloud來實現,不花一分錢,效果還很好。

翻譯可以選擇Qwen/Qwen2.5-7B-Instruct,上下文長度32K,可以處理的中文漢字數量大約在2.5萬到4萬之間,大約3.2萬個英文單詞或短語。

安裝 Python 3.7.1 或更高版本并設置虛擬環境后,即可安裝 OpenAI Python 庫。從終端/命令行運行:pip install --upgrade openai

注意:模型有限速,RPM=1K TPM=50K

在deepseek中輸入提示詞:

你現在是一個Python編程專家,要調用siliconflow平臺的Qwen2.5-7B-Instruct模型來翻譯文檔,具體步驟如下:

打開文件夾:F:\AI英語學習\openai

讀取里面所有的docx文檔,里面是英文;

用Qwen2.5-7B-Instruct模型將docx文檔翻譯成中文;

翻譯完后保存為一個新的docx文檔,文件名在原docx文件名后面加上“_中文翻譯版”

siliconflow平臺的基礎URL: https://api.siliconflow.cn/v1

API密鑰為:XXX

模型為:Qwen/Qwen2.5-7B-Instruct,上下文長度32K;

提示詞為:將下面的英文內容翻譯成中文

代碼示例:

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.siliconflow.cn/v1")

response = client.chat.completions.create(

model='alibaba/Qwen1.5-110B-Chat',

messages=[

{'role': 'user', 'content': "拋磚引玉是什么意思呀"}

],

stream=True

)

for chunk in response:

print(chunk.choices[0].delta.content, end='')

注意:模型有限速,RPM=1K TPM=50K

如果 .docx 文檔的內容超過模型的上下文長度(32K 字符),模型將無法處理整個文檔。為了解決這個問題,我們可以將文檔分塊處理,確保每個塊的長度不超過模型的上下文長度限制。

每一步都要輸出信息到屏幕上

Deepseek生成的Python代碼:

import os

from openai import OpenAI

from docx import Document

# 設置API密鑰和基礎URL

api_key = "XXX"

base_url = "https://api.siliconflow.cn/v1"

# 初始化OpenAI客戶端

client = OpenAI(api_key=api_key, base_url=base_url)

# 定義文件夾路徑

folder_path = r"F:\AI英語學習\openai"

# 定義模型的上下文長度限制

MAX_CONTEXT_LENGTH = 32000 # 32K characters

# 遍歷文件夾中的所有docx文件

for filename in os.listdir(folder_path):

if filename.endswith(".docx"):

# 讀取文檔

doc_path = os.path.join(folder_path, filename)

print(f"正在讀取文檔: {doc_path}")

doc = Document(doc_path)

# 提取文檔中的所有段落

paragraphs = [p.text for p in doc.paragraphs]

# 將段落內容拼接成一個字符串

content = "\n".join(paragraphs)

# 分塊處理

chunks = []

current_chunk = ""

current_length = 0

for paragraph in paragraphs:

if current_length + len(paragraph) + 1 > MAX_CONTEXT_LENGTH:

chunks.append(current_chunk.strip())

current_chunk = paragraph

current_length = len(paragraph)

else:

if current_chunk:

current_chunk += "\n" + paragraph

else:

current_chunk = paragraph

current_length += len(paragraph) + 1

if current_chunk:

chunks.append(current_chunk.strip())

# 翻譯每個塊

translated_chunks = []

for i, chunk in enumerate(chunks):

print(f"正在翻譯文檔: {filename} 的第 {i+1}/{len(chunks)} 塊")

response = client.chat.completions.create(

model='Qwen/Qwen2.5-7B-Instruct',

messages=[

{'role': 'user', 'content': f"將下面的英文內容翻譯成中文\n{chunk}"}

],

stream=False

)

translated_chunks.append(response.choices[0].message.content)

# 拼接翻譯后的內容

translated_content = "\n".join(translated_chunks)

# 創建新的文檔并寫入翻譯后的內容

new_doc = Document()

for line in translated_content.split("\n"):

new_doc.add_paragraph(line)

# 保存翻譯后的文檔

new_filename = filename.replace(".docx", "_中文版.docx")

new_doc_path = os.path.join(folder_path, new_filename)

new_doc.save(new_doc_path)

print(f"翻譯完成,保存為: {new_doc_path}")

print("所有文檔翻譯完成!")

代碼解釋

分塊處理: 我們將文檔內容分成多個塊,每個塊的長度不超過 32K 字符。我們通過遍歷文檔的每個段落,將段落內容逐步添加到當前塊中,直到當前塊的長度接近 32K 字符,然后將當前塊保存為一個塊,并開始一個新的塊。

翻譯每個塊: 對每個塊分別進行翻譯,并將翻譯后的內容保存到一個列表中。

拼接翻譯后的內容: 將所有翻譯后的塊拼接成一個完整的字符串,并寫入新的 .docx 文檔。

程序運行成功:

硅基流動SiliconCloud上現在有很多很好的免費大模型,真正實現大模型自由。

現在在硅基流動SiliconCloud網站注冊,不僅可以免費使用各種大模型,還可以通過以下地址注冊獲得免費的2000萬Tokens:  

https://cloud.siliconflow.cn/i/Do9fPK0j  

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
OpenAI停服,國產大模型免費用!開發者Token自由實現了
Python操作docx文檔設置居中并創建表格
如何把docx轉換成doc
怎么把doc轉換成docx
Python自動化辦公系列之Python操作Word
教你怎么使用Python對word文檔進行操作
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 伊通| 五指山市| 塔城市| 灵台县| 阿坝县| 万源市| 西乌珠穆沁旗| 阜康市| 绥宁县| 黎川县| 元氏县| 晋宁县| 崇明县| 织金县| 永丰县| 巴马| 会昌县| 玛曲县| 泗阳县| 广南县| 古交市| 鄂州市| 城步| 平山县| 武夷山市| 天全县| 大方县| 九龙县| 册亨县| 汉源县| 清新县| 鄂尔多斯市| 高州市| 阿坝县| 正阳县| 乐山市| 聂拉木县| 怀远县| 上饶市| 淮安市| 新建县|