安装
此包装器要求 AI SDK v5 和
langsmith>=0.3.63。如果您使用的是较旧版本的 AI SDK 或 langsmith,请参阅此页面上的基于 OpenTelemetry (OTEL) 的方法。环境配置
基本设置
导入并包装 AI SDK 方法,然后像往常一样使用它们使用 traceable
您可以将 traceable 调用包装在 AI SDK 调用周围或 AI SDK 工具调用内。如果您想在 LangSmith 中将运行分组在一起,这会很有用
在无服务器环境中追踪
在无服务器环境中进行追踪时,您必须在环境关闭之前等待所有运行刷新。为此,您可以在包装 AI SDK 方法时传递一个 LangSmithClient 实例,然后调用 await client.awaitPendingTraceBatches()。请确保将其也传递到您创建的任何 traceable 包装器中
Next.js,有一个方便的 after 钩子,您可以在其中放置此逻辑
传递 LangSmith 配置
您可以在最初包装 AI SDK 方法时以及通过providerOptions.langsmith 运行它们时,将 LangSmith 特定的配置传递给包装器。这包括元数据(您以后可以使用它在 LangSmith 中过滤运行)、顶级运行名称、标签、自定义客户端实例等。 在包装时传递的配置将应用于您使用包装方法进行的所有未来调用:providerOptions.langsmith 传递的配置将仅应用于该运行。我们建议导入并将您的配置包装在 createLangSmithProviderOptions 中以确保正确的类型
数据编辑
您可以通过指定自定义输入/输出处理函数来定制 AI SDK 发送给 LangSmith 的输入和输出。如果您正在处理敏感数据,并希望避免将其发送给 LangSmith,这会很有用。 由于输出格式因您使用的 AI SDK 方法而异,我们建议单独定义配置并将其传递给包装方法。您还需要为 AI SDK 调用中的子 LLM 运行提供单独的函数,因为顶级调用generateText 会在内部调用 LLM,并且可以多次调用。 我们还建议将泛型参数传递给 createLangSmithProviderOptions 以获取输入和输出的正确类型。以下是 generateText 的示例:execute 方法包装在 traceable 中:traceable 返回类型很复杂,这使得强制类型转换成为必要。如果您希望避免强制类型转换,也可以省略 AI SDK tool 包装函数。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。