跳至主要內容

BraintrustExporter

將 Tracing 資料傳送至 Braintrust,以進行 eval 與可觀測性分析。

建構函式
「建構函式」的直接連結

new BraintrustExporter(config: BraintrustExporterConfig)

BraintrustExporterConfig
「braintrustexporterconfig」的直接連結

interface BraintrustExporterConfig extends BaseExporterConfig {
apiKey?: string
endpoint?: string
projectName?: string
braintrustLogger?: Logger<true>
currentSpan?: () => Span | undefined
tuningParameters?: Record<string, any>
}

擴充 BaseExporterConfig,其中包括:

  • logger?: IMastraLogger - Logger 執行個體
  • logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error' - Log 層級(預設:INFO)

方法
「方法」的直接連結

exportTracingEvent
「exporttracingevent」的直接連結

async exportTracingEvent(event: TracingEvent): Promise<void>

將 tracing 事件匯出至 Braintrust。

export
「export」的直接連結

async export(spans: ReadOnlySpan[]): Promise<void>

將 span 批次匯出至 Braintrust。

flush
「flush」的直接連結

async flush(): Promise<void>

強制將所有緩衝的 span flush 至 Braintrust,而不關閉 exporter。這在 serverless 環境中特別實用,可確保 runtime 結束前已匯出 span。

shutdown
「shutdown」的直接連結

async shutdown(): Promise<void>

Flush 待處理資料並關閉 client。

使用方式
「使用方式」的直接連結

零設定(使用環境變數)
「零設定(使用環境變數)」的直接連結

import { BraintrustExporter } from '@mastra/braintrust'

// Reads from BRAINTRUST_API_KEY, BRAINTRUST_ENDPOINT
const exporter = new BraintrustExporter()

明確設定
「明確設定」的直接連結

import { BraintrustExporter } from '@mastra/braintrust'

const exporter = new BraintrustExporter({
apiKey: process.env.BRAINTRUST_API_KEY,
projectName: 'my-ai-project',
})

Span 類型對應
「Span 類型對應」的直接連結

Span 類型Braintrust 類型
MODEL_GENERATIONllm
MODEL_CHUNKllm
TOOL_CALLtool
MCP_TOOL_CALLtool
PROVIDER_TOOL_CALLtool
WORKFLOW_CONDITIONAL_EVALfunction
WORKFLOW_WAIT_EVENTfunction
所有其他類型task