LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
LangSmith
  • Client
  • Run Trees
  • Traceable
  • Evaluation
  • Schemas
  • Langchain
  • Jest
  • Vitest
  • Wrappers
  • Anonymizer
  • Traceable
  • Jestlike
  • Vercel
  • Anthropic
  • Sandbox
⌘I

LangChain Assistant

Ask a question to get started

Enter to send•Shift+Enter new line

Menu

LangSmith
ClientRun TreesTraceableEvaluationSchemasLangchainJestVitestWrappersAnonymizerTraceableJestlikeVercelAnthropicSandbox
Language
Theme
JavaScriptlangsmithwrapperswrapOpenAI
Function●Since v0.1

wrapOpenAI

Wraps an OpenAI client's completion methods, enabling automatic LangSmith tracing. Method signatures are unchanged, with the exception that you can pass an additional and optional "langsmithExtra" field within the second parameter.

Copy
wrapOpenAI<T extends OpenAIType>(
  openai: T,
  options: Partial<RunTreeConfig>
): PatchedOpenAIClient<T>

Used in Docs

  • Add metadata and tags to traces
  • Configure threads
  • Evaluation quickstart
  • How to define a target function to evaluate
  • How to evaluate an application's intermediate steps

Parameters

NameTypeDescription
openai*T

An OpenAI client instance.

optionsPartial<RunTreeConfig>

LangSmith options.

Example

Copy
import { OpenAI } from "openai";
import { wrapOpenAI } from "langsmith/wrappers/openai";

const patchedClient = wrapOpenAI(new OpenAI());

const patchedStream = await patchedClient.chat.completions.create(
  {
    messages: [{ role: "user", content: `Say 'foo'` }],
    model: "gpt-4.1-mini",
    stream: true,
  },
  {
    langsmithExtra: {
      metadata: {
        additional_data: "bar",
      },
    },
  },
);
View source on GitHub