用途:为 TypeScript/JavaScript 的 LLM 应用与智能体添加 Opik 可观测性,记录追踪数据。
前置:npm install opik,并获取 API key。
基础追踪:从 opik 导入 Opik,创建客户端并指定 projectName,用 client.trace() 创建 trace,用 trace.span() 创建 span(type 可为 llm 等),分别调用 span.end() 与 trace.end() 写入输出,退出前需 await client.flush()。
入口点(Local Runner):从 opik 导入 track,用 track({ name, entrypoint: true, params: [...] }, fn) 包装智能体函数。params 必须显式声明,因为 TS 编译会剥离参数名与类型;若省略,所有参数会被当作 string。
Express 示例:用 track 包装处理函数并声明 params,在路由中调用,配合 opik connect --pair <CODE> 与 npx tsx app.ts 运行。
框架集成:从 opik/openai 导入 trackOpenAI(OpenAI),从 opik/vercel 导入 OpikTracer(Vercel AI SDK),从 opik 导入 OpikTracer(LangChain.js)。
限制与注意:退出前务必 await client.flush();span 类型仅支持 general、llm、tool、guardrail;track() 缺少 params 会导致 UI 无法显示带类型的输入字段。其余细节暂未提供。