跳至主要內容

UnicodeNormalizer

UnicodeNormalizer 是一個輸入 processor,可在訊息傳送至語言模型前正規化 Unicode 文字,以確保格式一致並移除可能引致問題的字元。此 processor 會處理不同的 Unicode 表示方式並移除控制字元,亦會統一空白格式。

使用範例
使用範例 的直接連結

import { UnicodeNormalizer } from '@mastra/core/processors'

const processor = new UnicodeNormalizer({
stripControlChars: true,
collapseWhitespace: true,
})

Constructor 參數
Constructor 參數 的直接連結

options?:

Options
Unicode 文字正規化的設定選項
Options

stripControlChars?:

boolean
是否移除控制字元。啟用後,會移除 以外的控制字元

preserveEmojis?:

boolean
是否保留 emoji。停用後,如 emoji 包含控制字元,便可能會被移除

collapseWhitespace?:

boolean
是否合併連續空白。啟用後,多個空格、Tab 或換行會分別合併為一個

trim?:

boolean
是否移除開頭及結尾的空白

傳回值
傳回值 的直接連結

id:

string
Processor 識別碼,設為 'unicode-normalizer'

name?:

string
可選的 processor 顯示名稱

processInput:

(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never }) => MastraDBMessage[]
處理輸入訊息以正規化 Unicode 文字

延伸使用範例
延伸使用範例 的直接連結

src/mastra/agents/normalized-agent.ts
import { Agent } from '@mastra/core/agent'
import { UnicodeNormalizer } from '@mastra/core/processors'

export const agent = new Agent({
id: 'normalized-agent',
name: 'normalized-agent',
instructions: 'You are a helpful assistant',
model: 'openai/gpt-5.6-sol',
inputProcessors: [
new UnicodeNormalizer({
stripControlChars: true,
preserveEmojis: true,
collapseWhitespace: true,
trim: true,
}),
],
})