> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # LanguageDetector `LanguageDetector` 是一個**輸入處理器**,可識別輸入文字的語言,亦可選擇將文字翻譯成目標語言,以便一致地處理內容。此處理器會偵測傳入訊息的語言,並提供靈活的多語言內容處理策略,包括自動翻譯,以確保所有內容均以目標語言處理,從而協助維持語言一致性。 ## 使用範例 ```typescript import { LanguageDetector } from '@mastra/core/processors' const processor = new LanguageDetector({ model: 'openrouter/openai/gpt-oss-safeguard-20b', targetLanguages: ['English', 'en'], threshold: 0.8, strategy: 'translate', lastMessageOnly: true, }) ``` ## 建構函式參數 **options** (`Options`): 語言偵測及翻譯的設定選項 **options.model** (`MastraModelConfig`): 偵測/翻譯 Agent 的模型設定 **options.targetLanguages** (`string[]`): 項目的目標語言。如偵測到內容採用其他語言,便可翻譯該內容。可使用語言名稱('English')或 ISO 代碼('en') **options.threshold** (`number`): 語言偵測的可信度門檻(0 至 1)。只有在偵測可信度超出此門檻時才會處理 **options.strategy** (`'detect' | 'translate' | 'block' | 'warn'`): 偵測到非目標語言時採用的策略:'detect' 只偵測語言;'translate' 自動翻譯成目標語言;'block' 拒絕非目標語言的內容;'warn' 記錄警告但允許通過 **options.preserveOriginal** (`boolean`): 是否在訊息中繼資料中保留原始內容。適合用於稽核記錄及除錯 **options.instructions** (`string`): Agent 的自訂偵測指示。如未提供,則使用預設指示 **options.lastMessageOnly** (`boolean`): 是否只偵測批次中最新訊息的語言,而非檢查每一則訊息。可用此選項避免 LLM 呼叫次數隨對話記錄增長。 **options.minTextLength** (`number`): 進行偵測所需的最短文字長度。短文字的語言偵測通常不太可靠 **options.includeDetectionDetails** (`boolean`): 是否在記錄中包含詳細的偵測資料 **options.translationQuality** (`'speed' | 'quality' | 'balanced'`): 翻譯質素偏好:'speed' 優先考慮翻譯速度;'quality' 優先考慮準確度;'balanced' 在速度與質素之間取得平衡 **options.providerOptions** (`ProviderOptions`): 傳遞至內部偵測 Agent 的 Provider 專用選項。可用此選項控制模型行為,例如思考模型的推理力度(例如 { openai: { reasoningEffort: 'low' } }) ## 傳回值 **id** (`string`): 設為 'language-detector' 的處理器識別碼 **name** (`string`): 可選的處理器顯示名稱 **processInput** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise`): 處理輸入訊息,以在傳送至 LLM 前偵測語言,並選擇性翻譯內容 ## 延伸使用範例 ```typescript import { Agent } from '@mastra/core/agent' import { LanguageDetector } from '@mastra/core/processors' export const agent = new Agent({ id: 'multilingual-agent', name: 'multilingual-agent', instructions: 'You are a helpful assistant', model: 'openai/gpt-5.6-sol', inputProcessors: [ new LanguageDetector({ model: 'openrouter/openai/gpt-oss-safeguard-20b', targetLanguages: ['English', 'en'], threshold: 0.8, strategy: 'translate', preserveOriginal: true, instructions: 'Detect language and translate non-English content to English while preserving original intent', minTextLength: 10, includeDetectionDetails: true, translationQuality: 'quality', }), ], }) ``` ## 相關內容 - [防護機制](https://mastra.zisheng.pro/zh-HK/docs/agents/guardrails)