> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/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-TW/docs/agents/guardrails)