LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
  • Overview
    • Overview
    • Caches
    • Callbacks
    • Documents
    • Document loaders
    • Embeddings
    • Exceptions
    • Language models
    • Serialization
    • Output parsers
    • Prompts
    • Rate limiters
    • Retrievers
    • Runnables
    • Utilities
    • Vector stores
    MCP Adapters
    Standard Tests
    Text Splitters
    ⌘I

    LangChain Assistant

    Ask a question to get started

    Enter to send•Shift+Enter new line

    Menu

    OverviewCachesCallbacksDocumentsDocument loadersEmbeddingsExceptionsLanguage modelsSerializationOutput parsersPromptsRate limitersRetrieversRunnablesUtilitiesVector stores
    MCP Adapters
    Standard Tests
    Text Splitters
    Language
    Theme
    Pythonlangchain-coreutilsfunction_callingconvert_to_openai_tool
    Function●Since v0.1

    convert_to_openai_tool

    Convert a tool-like object to an OpenAI tool schema.

    OpenAI tool schema reference

    Copy
    convert_to_openai_tool(
      tool: Mapping[str, Any] | type[BaseModel] | Callable | BaseTool,
      *,
      strict: bool | None = None
    ) -> dict[str, Any]
    Behavior changed in langchain-core 0.3.16

    description and parameters keys are now optional. Only name is required and guaranteed to be part of the output.

    Behavior changed in langchain-core 0.3.44

    Return OpenAI Responses API-style tools unchanged. This includes any dict with "type" in "file_search", "function", "computer_use_preview", "web_search_preview".

    Behavior changed in langchain-core 0.3.63

    Added support for OpenAI's image generation built-in tool.

    Used in Docs

    • ChatAI21 integration
    • Llama.cpp integration

    Parameters

    NameTypeDescription
    tool*Mapping[str, Any] | type[BaseModel] | Callable | BaseTool

    Either a dictionary, a pydantic.BaseModel class, Python function, or BaseTool.

    If a dictionary is passed in, it is assumed to already be a valid OpenAI function, a JSON schema with top-level title key specified, an Anthropic format tool, or an Amazon Bedrock Converse format tool.

    strictbool | None
    Default:None

    If True, model output is guaranteed to exactly match the JSON Schema provided in the function definition.

    If None, strict argument will not be included in tool definition.

    View source on GitHub