Skip to main content
Python 中的 Anthropic 包装器方法(wrap_anthropic)和 Typescript 中的(wrapAnthropic)允许您包装您的 Anthropic 客户端,以便自动记录跟踪信息。使用该包装器可确保消息(包括工具调用和多模态内容块)在 LangSmith 中得到良好呈现。该包装器可与 @traceable 装饰器(Python)或 traceable 函数(TypeScript)无缝协作,因此您可以使用包装器跟踪 Anthropic 调用,并使用装饰器或函数跟踪应用程序的其他部分。
即使使用 wrap_anthropicwrapAnthropic,也必须将 LANGSMITH_TRACING 环境变量设置为 'true',跟踪信息才会被记录到 LangSmith。这允许您在不更改代码的情况下切换跟踪的开启和关闭。此外,您需要将 LANGSMITH_API_KEY 环境变量设置为您的 API 密钥(更多信息请参阅设置)。如果您的 LangSmith API 密钥链接到多个工作区,请设置 LANGSMITH_WORKSPACE_ID 环境变量以指定要使用的工作区。默认情况下,跟踪信息将记录到名为 default 的项目中。要将跟踪记录到其他项目,请参阅将跟踪记录到特定项目
import anthropic
from langsmith import traceable
from langsmith.wrappers import wrap_anthropic

client = wrap_anthropic(anthropic.Anthropic())

@traceable(run_type="tool", name="Retrieve Context")
def my_tool(question: str) -> str:
  return "During this morning's meeting, we solved all world conflict."

@traceable(name="Chat Pipeline")
def chat_pipeline(question: str):
  context = my_tool(question)
  messages = [
      { "role": "user", "content": f"Question: {question}\nContext: {context}"}
  ]
  message = client.messages.create(
      model="claude-sonnet-4-6",
      messages=messages,
      max_tokens=1024,
      system="You are a helpful assistant. Please respond to the user's request only based on the given context."
  )
  return message

chat_pipeline("Can you summarize this morning's meetings?")