繁體中文(台灣)
  • chatgpt
  • ai
  • prompt
  • i18n

使用 ChatGPT 進行長篇 JSON 翻譯

學習如何使用最新的 ChatGPT 模型和 JSON 模式來翻譯具有長篇內容的 JSON 對象,並將輸出回傳為 JSON。

Gao
Gao
Founder

學習如何使用最新的 ChatGPT 模型和 JSON 模式來翻譯具有長篇內容的 JSON 文件,並將輸出回傳為 JSON。

簡介

自從我們的上一篇文章 使用 ChatGPT 進行高效國際化 發布以來已經有一段時間了,我們展示了如何使用 ChatGPT 來翻譯 JSON 對象。隨著模型的發展,翻譯能力已顯著提升,提供了更長的上下文窗口、增加的最大輸出語料,以及新功能如 JSON 模式,這使開發者的體驗更好。

增加的最大輸出語料

讓我們看看模型的最近兩個版本的快速比較:

模型描述上下文窗口最大輸出語料訓練數據
gpt-4o-2024-05-13gpt-4o 目前指向此版本。128,000 語料4,096 語料直到2023年10月
gpt-4o-2024-08-06支持結構化輸出的最新快照版本128,000 語料16,384 語料直到2023年10月

最顯著的變化是將最大輸出語料從 4,096 增加到 16,384,這對翻譯場景非常適合,因為翻譯的輸出通常會與輸入長度相同或更長。與先前價格較高的 32K 語料模型相比,價格甚至降低了。

JSON 模式

顧名思義,當你希望輸出是有效的 JSON 對象時,JSON 模式非常有用。對於新模型,你甚至可以使用 結構化輸出 定義輸出 JSON 對象的架構。

開始

初始化

在本文中,我們將使用 OpenAI 的 Node.js SDK v4.56.0 進行演示。隨意使用其他你喜歡的方法或語言。

首先,我們需要初始化 OpenAI 客戶端:

我強烈建議使用流模式來進行長篇內容翻譯,因為這更有效率,你不需要等待很長時間才能獲得輸出(例如一次請求可能需要一分鐘)。代碼如下:

撰寫提示

我們可以使用 system 角色來指導模型進行工作:

記得將 "es" 替換為你的目標語言代碼。根據我們的經驗,我們需要告訴模型幾個指示,以獲得更好的輸出結果和減少人工干預:

你可能會想知道為什麼我們需要最後一個指示。這是 OpenAI 的解釋 來源

在使用 JSON 模式時,必須通過對話中的某些消息,總是指示模型生成 JSON ,例如通過你的系統消息。如果不包含明確的生成 JSON 的指示,模型可能會生成不斷重複的空白字符流,並且請求可能不斷運行直到達到語料限制。

按照上述指示,我們可以在 user 角色的消息中放入要翻譯的 JSON 對象。我們已有如下內容:

處理輸出

由於我們使用的是流模式,我們需要以流樣式來處理輸出。這裡有一個範例:

結論

就是這樣!使用新的 ChatGPT 模型,JSON 翻譯的效率得到了進一步的提升,翻譯質量也更好。希望這篇文章能夠幫助你對 ChatGPT 和 JSON 翻譯獲得一些新見解。我們下篇文章見!