Output contract
語言控制與品質驗收
從 UI、API 到模型回覆,輸出語言都由同一個明確設定控制;事件的機器欄位保持固定,第三方整合不需要解析或翻譯模型文字。正式擴充前,請用現場代表性影片驗收準確率、誤報率與延遲。
支援 zh-Hant、zh-Hans、en、ja、ko;English、en-US、zh-TW 等常見別名會在 API 邊界正規化。若指定 en,UI 所呈現的分析、prompt 產生的報告與自由問答都必須使用英文,不會自行跳回中文。
設定語言
建立或更新 Monitor 時設定 language。Console 的語言選項使用同一組語言碼,並在建立 Session 或 Monitor 時送到 Runtime。每個 Monitor 可以獨立設定,因此同一台 Edge node 可同時服務不同語言的使用者。
POST /v1/monitors
Authorization: Bearer <api-key>
Content-Type: application/json
{
"source_id": "src_front_door",
"name": "Front-door safety",
"prompt": "Alert when a person enters the restricted area.",
"language": "en"
}prompt 可以使用操作者熟悉的語言撰寫;language 決定人類可讀輸出的語言。Runtime 會把語言契約放進每次推論的動態訊息,不需要為每個語言複製不同模型或破壞共用 system prompt 的快取。
機器欄位保持穩定
畫面上的欄位名稱與說明文字會翻譯,但事件 JSON 的 severity、event_type、id、時間戳與 schema_version 不會翻譯。Webhook 與第三方系統只應讀取這些結構化欄位,不應從模型句子判斷事件嚴重度。
{
"event_type": "monitor.alert.raised",
"severity": "critical",
"schema_version": "1.0",
"analysis": "[Status]: Critical
[Observation]: A person entered the restricted area."
}準確率驗收
我們不宣稱一個適用所有攝影機的通用準確率。每個部署應保存測試集的來源、攝影機位置、日夜條件、Monitor 版本、模型版本與判定標準,並至少報告 precision、recall、F1、每小時誤報數與端到端延遲。
先設定最低 recall,再控制誤報與延遲。
先設定可接受的每小時誤報數,再檢查 recall。
合成圖片可用來做邊界與回歸測試,但不能取代客戶現場的代表性影片。正式擴充攝影機數量或更換模型前,必須重新跑同一套驗收集。
音訊目前狀態
目前 RTSP/OpenCV 與本機 Qwen VLM pipeline 是 image-only;capabilities 會明確回傳 audio_input=false。除非未來的 API 與 provider capability 明確啟用,整合方不應假設聲音已被擷取、儲存或送到模型。