10 KiB
LLM 測試檔案
本文件用來測試用於翻譯文件的 LLM 是否理解 scripts/translate.py 中的 general_prompt,以及 docs/{language code}/llm-prompt.md 中的語言特定提示。語言特定提示會附加在 general_prompt 後面。
此處新增的測試會提供給所有語言特定提示的設計者參考。
使用方式:
- 準備語言特定提示 -
docs/{language code}/llm-prompt.md。 - 針對本文件做一次全新的翻譯為你想要的目標語言(例如使用
translate.py的translate-page指令)。這會在docs/{language code}/docs/_llm-test.md產生翻譯檔。 - 檢查翻譯是否正確。
- 如有需要,改進你的語言特定提示、通用提示,或英文原文。
- 然後手動修正翻譯中剩下的問題,讓它成為一個好的譯文。
- 重新翻譯,並保留這份好的譯文。理想結果是 LLM 不再對該譯文做任何變更。這代表通用提示與你的語言特定提示已經盡可能完善(有時它仍可能做出幾個看似隨機的變更,原因是LLMs 並非決定性演算法)。
測試:
程式碼片段
//// tab | 測試
這是一個程式碼片段:foo。這是另一個程式碼片段:bar。還有一個:baz quux。
////
//// tab | 資訊
程式碼片段內的內容應保持原樣。
請見 scripts/translate.py 中通用提示的 ### Content of code snippets 小節。
////
引號
//// tab | 測試
Yesterday, my friend wrote: "If you spell incorrectly correctly, you have spelled it incorrectly". To which I answered: "Correct, but 'incorrectly' is incorrectly not '"incorrectly"'".
/// note | 注意
LLM 很可能會把這段翻譯錯。重點只在於重新翻譯時是否能保留已修正的翻譯。
///
////
//// tab | 資訊
提示設計者可以選擇是否將中性引號轉換為排印引號。保留原樣也可以。
例如請見 docs/de/llm-prompt.md 中的 ### Quotes 小節。
////
程式碼片段中的引號
//// tab | 測試
pip install "foo[bar]"
程式碼片段中字串常值的例子:"this"、'that'。
較難的程式碼片段中字串常值例子:f"I like {'oranges' if orange else "apples"}"
進階:Yesterday, my friend wrote: "If you spell incorrectly correctly, you have spelled it incorrectly". To which I answered: "Correct, but 'incorrectly' is incorrectly not '"incorrectly"'"
////
//// tab | 資訊
... 不過,程式碼片段中的引號必須保持原樣。
////
程式碼區塊
//// tab | 測試
一個 Bash 程式碼範例...
# 向宇宙輸出問候
echo "Hello universe"
...以及一個主控台範例...
$ <font color="#4E9A06">fastapi</font> run <u style="text-decoration-style:solid">main.py</u>
<span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span> Starting server
Searching for package file structure
...以及另一個主控台範例...
// 建立目錄 "code"
$ mkdir code
// 切換到該目錄
$ cd code
...以及一個 Python 程式碼範例...
wont_work() # 這不會運作 😱
works(foo="bar") # 這可以運作 🎉
...就是這樣。
////
//// tab | 資訊
程式碼區塊中的程式碼不應修改,註解除外。
請見 scripts/translate.py 中通用提示的 ### Content of code blocks 小節。
////
分頁與色塊
//// tab | 測試
/// info | 資訊 Some text ///
/// note | 注意 Some text ///
/// note | 技術細節 Some text ///
/// check | 檢查 Some text ///
/// tip | 提示 Some text ///
/// warning | 警告 Some text ///
/// danger | 危險 Some text ///
////
//// tab | 資訊
分頁與 Info/Note/Warning/等區塊,應在直線(|)後加入其標題的翻譯。
請見 scripts/translate.py 中通用提示的 ### Special blocks 與 ### Tab blocks 小節。
////
網頁與內部連結
//// tab | 測試
連結文字應被翻譯,連結位址應保持不變:
連結文字應被翻譯,連結位址應指向對應的翻譯版本:
////
//// tab | 資訊
連結應翻譯其文字,但位址需保持不變。例外是指向 FastAPI 文件網站的絕對連結,該情況下位址應指向對應的翻譯版本。
請見 scripts/translate.py 中通用提示的 ### Links 小節。
////
HTML「abbr」元素
//// tab | 測試
以下是一些包在 HTML「abbr」元素中的內容(部分為杜撰):
abbr 提供完整詞組
- GTD
lt- XWT
- PSGI
abbr 提供完整詞組與說明
- MDN
- I/O.
////
//// tab | 資訊
「abbr」元素的「title」屬性需依特定規則翻譯。
翻譯可以自行新增「abbr」元素(例如為解釋英文單字),LLM 不應移除它們。
請見 scripts/translate.py 中通用提示的 ### HTML abbr elements 小節。
////
HTML「dfn」元素
- 叢集
- 深度學習
標題
//// tab | 測試
開發網頁應用程式 - 教學
Hello.
型別提示與註解
Hello again.
超類與子類別
Hello again.
////
//// tab | 資訊
標題唯一的硬性規則是保留花括號中的雜湊片段不變,以確保連結不會失效。
請見 scripts/translate.py 中通用提示的 ### Headings 小節。
關於語言特定的說明,參見例如 docs/de/llm-prompt.md 中的 ### Headings 小節。
////
文件中使用的術語
//// tab | 測試
-
you
-
your
-
e.g.
-
etc.
-
fooas anint -
baras astr -
bazas alist -
教學 - 使用者指南
-
進階使用者指南
-
SQLModel 文件
-
API 文件
-
自動文件
-
資料科學
-
深度學習
-
機器學習
-
相依性注入
-
HTTP 基本驗證
-
HTTP 摘要驗證
-
ISO 格式
-
JSON Schema 標準
-
JSON 結構描述
-
結構描述定義
-
密碼流程
-
行動裝置
-
已棄用
-
設計的
-
無效
-
即時
-
標準
-
預設
-
區分大小寫
-
不區分大小寫
-
提供應用程式服務
-
提供頁面服務
-
應用程式
-
應用程式
-
請求
-
回應
-
錯誤回應
-
路徑操作
-
路徑操作裝飾器
-
路徑操作函式
-
主體
-
請求主體
-
回應主體
-
JSON 主體
-
表單主體
-
檔案主體
-
函式主體
-
參數
-
主體參數
-
路徑參數
-
查詢參數
-
Cookie 參數
-
標頭參數
-
表單參數
-
函式參數
-
事件
-
啟動事件
-
伺服器的啟動
-
關閉事件
-
生命週期事件
-
處理器
-
事件處理器
-
例外處理器
-
處理
-
模型
-
Pydantic 模型
-
資料模型
-
資料庫模型
-
表單模型
-
模型物件
-
類別
-
基底類別
-
父類別
-
子類別
-
子類別
-
同級類別
-
類別方法
-
標頭
-
標頭
-
授權標頭
-
Authorization標頭 -
轉送標頭
-
相依性注入系統
-
相依項
-
可相依對象
-
相依者
-
I/O 受限
-
CPU 受限
-
並發
-
平行處理
-
多處理程序
-
環境變數
-
環境變數
-
PATH -
PATH變數 -
驗證
-
驗證提供者
-
授權
-
授權表單
-
授權提供者
-
使用者進行驗證
-
系統驗證使用者
-
CLI
-
命令列介面
-
伺服器
-
用戶端
-
雲端提供者
-
雲端服務
-
開發
-
開發階段
-
dict
-
字典
-
列舉
-
enum
-
列舉成員
-
編碼器
-
解碼器
-
編碼
-
解碼
-
例外
-
拋出
-
運算式
-
陳述式
-
前端
-
後端
-
GitHub 討論
-
GitHub 議題
-
效能
-
效能優化
-
回傳型別
-
回傳值
-
安全性
-
安全性機制
-
任務
-
背景任務
-
任務函式
-
樣板
-
樣板引擎
-
型別註解
-
型別提示
-
伺服器工作進程
-
Uvicorn 工作進程
-
Gunicorn 工作進程
-
工作進程
-
worker 類別
-
工作負載
-
部署
-
部署
-
SDK
-
軟體開發工具組
-
APIRouter -
requirements.txt -
Bearer Token
-
相容性破壞變更
-
錯誤
-
按鈕
-
可呼叫對象
-
程式碼
-
提交
-
情境管理器
-
協程
-
資料庫工作階段
-
磁碟
-
網域
-
引擎
-
假的 X
-
HTTP GET 方法
-
項目
-
函式庫
-
生命週期
-
鎖
-
中介軟體
-
行動應用程式
-
模組
-
掛載
-
網路
-
來源
-
覆寫
-
有效負載
-
處理器
-
屬性
-
代理
-
pull request
-
查詢
-
RAM
-
遠端機器
-
狀態碼
-
字串
-
標籤
-
Web 框架
-
萬用字元
-
回傳
-
驗證
////
//// tab | 資訊
這是一份不完整且非規範性的(多為)技術術語清單,來源為文件內容。它可能有助於提示設計者判斷哪些術語需要 LLM 的特別協助。例如當 LLM 反覆把好的翻譯改回成較差的版本,或在你的語言中對某詞的詞形變化處理有困難時。
請見例如 docs/de/llm-prompt.md 中的 ### List of English terms and their preferred German translations 小節。
////