用途:为已有代码库中的模型调用接入 LaunchDarkly 智能体指标埋点,让 Monitoring 标签页能展示时长、输入/输出 token、成功/错误,流式场景下的 TTFT。
主要能力与四层阶梯(从高到低,匹配形状即停):1. 托管 runner:Python 用 ai_client.create_model(...) 返回 ManagedModel 再 await model.run(...);Node 用 aiClient.createModel(...) 再 await model.run(...),适用于对话式调用,自动采集全部指标。2. 提供方包 + trackMetricsOf:适用于一次性补全、结构化输出、智能体步骤等非聊天循环;Node 包有 @launchdarkly/server-sdk-ai-openai、-langchain、-vercel,Python 包有 launchdarkly-server-sdk-ai-openai、-langchain,token 由包内 getAIMetricsFromResponse 提取。3. 自定义提取器 + trackMetricsOf:无提供方包时(Anthropic、Gemini、Cohere、自定义 HTTP)自行编写映射为 LDAIMetrics 的函数。4. 手动:分别调用 trackDuration、trackTokens、trackSuccess/trackError 及流式的 trackTimeToFirstToken。
使用方式:先探查调用点,判断形状、框架、提供方、是否流式、语言、是否已有 config;无 config 需先创建。统一调用形如 tracker.trackMetricsOf(getAIMetricsFromResponse, () => providerCall())(Python:tracker.track_metrics_of(get_ai_metrics_from_response, provider_call)),提取器按提供方替换。tracker 通过 config.create_tracker() / aiConfig.createTracker() 获取,每次执行调用一次并复用。注意:调用前先检查 config.enabled;包裹而不重写原调用;错误由 trackMetricsOf 内部处理,勿重复加 except: trackError;关闭前先 flush(Python:ldclient.get().flush();Node:await ldClient.flush())。若使用旧版 aiclient.config(...) / AIConfig(...) 需先迁移到 completion_config / agent_config 及对应 *Default。
适用场景:OpenAI、LangChain、Vercel、Bedrock、Anthropic、Gemini、自定义 HTTP 等提供方调用;验证时可运行一次真实请求,在 Monitoring 标签页 1–2 分钟内查看时长、token、生成次数,并触发错误确认计数。
限制:TTFT 仅 Tier 4 支持;提供方包覆盖 Python 与 Node 不同;trackMetricsOf 不自动采集 TTFT;trackToolCall 等方法可用但具体细节暂未提供。