Skip to main content
本指南展示如何使用原生 AWS SDK 通过 LangSmith 追踪 Amazon Bedrock 模型调用。LangSmith 也能与 LangChain 的 Bedrock 集成 无缝协作。两种方法都能提供以下方面的洞察:
  • 请求和响应载荷
  • 令牌使用量和成本
  • 延迟和性能指标
  • 用于筛选和分析的自定义标签与元数据
  • 多步骤链和代理工作流

安装

此集成使用原生 AWS SDK 与 LangSmith 的追踪功能。对于 Python,你将使用 boto3(AWS 的 Python SDK)配合 langsmith 来捕获追踪信息。对于 JavaScript/TypeScript,你将使用 @aws-sdk/client-bedrock-runtime 配合 langsmith 包。两种实现都使用 Bedrock 对话 API,该 API 提供了与基础模型交互的统一接口。

设置

要启用 LangSmith 追踪,请配置你的 LangSmith API 密钥 和项目设置。你还需要设置 AWS 凭证以通过 Bedrock 进行身份验证。

LangSmith 配置

你可以从 smith.langchain.com 获取你的 LangSmith API 密钥,导航至 Settings > API KeysLANGSMITH_PROJECT 变量允许你将追踪信息组织到不同的项目中。

AWS 凭证

配置你的 AWS 凭证以通过 Bedrock 进行身份验证。你需要一个启用了 Bedrock 访问权限的 AWS 账户。请按照 AWS 设置说明 创建你的凭证并 启用模型访问

配置追踪

设置好环境变量后,你可以通过使用 LangSmith 的 @traceable 装饰器(Python)或 traceable 函数(TypeScript)包装你的调用函数来追踪 Bedrock 模型调用。 以下示例演示了如何将 Bedrock 对话 API 与 LangSmith 追踪结合使用。对话 API 是 AWS 推荐的基础模型统一接口,为不同模型提供商提供一致的请求和响应处理。你可以使用自定义标签和元数据增强追踪信息——标签帮助你分类追踪(例如,按环境、功能或测试类型),而元数据允许你附加任意键值对以提供详细上下文:
  • boto3.client("bedrock-runtime") 创建一个 Bedrock 运行时客户端。
  • converse 方法将聊天提示(作为消息列表)发送到指定模型并返回结构化响应。
  • generate_text 函数使用 @traceable 装饰器装饰,将每次调用作为追踪记录到 LangSmith(使用函数名作为默认追踪名称)。
  • 自定义标签(aws-bedrocklangsmithintegration-test)和元数据(环境、模型信息)被传递给装饰器并附加到追踪记录,以便在 LangSmith UI 中进行筛选。
  • 当你运行此代码(设置 LANGSMITH_TRACING=true 并配置好 API 密钥)时,LangSmith 会自动捕获输入提示、模型输出、令牌使用量和延迟。

在 LangSmith 中查看追踪信息

运行代码后,导航至你的 LangSmith 项目 smith.langchain.com 查看追踪信息。每条追踪记录包括:
  • 请求详情:输入消息、模型参数和配置
  • 响应详情:模型输出、令牌使用量和响应元数据
  • 性能指标:延迟、每秒令牌数和成本估算
  • 自定义元数据:你提供给 @traceable 装饰器的标签和元数据
你可以按标签(例如 aws-bedrockintegration-test)筛选追踪信息,按元数据字段搜索,或深入特定追踪记录以调试问题。

后续步骤