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 並非決定性演算法)。
測試:
程式碼片段¶
這是一個程式碼片段:foo。這是另一個程式碼片段:bar。還有一個:baz quux。
程式碼片段內的內容應保持原樣。
請見 scripts/translate.py 中通用提示的 ### Content of code snippets 小節。
引號¶
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"'".
注意
LLM 很可能會把這段翻譯錯。重點只在於重新翻譯時是否能保留已修正的翻譯。
提示設計者可以選擇是否將中性引號轉換為排印引號。保留原樣也可以。
例如請見 docs/de/llm-prompt.md 中的 ### Quotes 小節。
程式碼片段中的引號¶
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"'"
... 不過,程式碼片段中的引號必須保持原樣。
程式碼區塊¶
一個 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") # 這可以運作 🎉
...就是這樣。
程式碼區塊中的程式碼不應修改,註解除外。
請見 scripts/translate.py 中通用提示的 ### Content of code blocks 小節。
分頁與色塊¶
注意
Some text
技術細節
Some text
提示
Some text
警告
Some text
危險
Some text
分頁與 Info/Note/Warning/等區塊,應在直線(|)後加入其標題的翻譯。
請見 scripts/translate.py 中通用提示的 ### Special blocks 與 ### Tab blocks 小節。
網頁與內部連結¶
HTML「abbr」元素¶
HTML「dfn」元素¶
- 叢集
- 深度學習
標題¶
文件中使用的術語¶
- 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 框架
- 萬用字元
- 回傳
- 驗證
這是一份不完整且非規範性的(多為)技術術語清單,來源為文件內容。它可能有助於提示設計者判斷哪些術語需要 LLM 的特別協助。例如當 LLM 反覆把好的翻譯改回成較差的版本,或在你的語言中對某詞的詞形變化處理有困難時。
請見例如 docs/de/llm-prompt.md 中的 ### List of English terms and their preferred German translations 小節。