base.py — langchain Source File
Architecture documentation for base.py, a python file in the langchain codebase. 47 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR cbac6225_d16a_7d3b_a2eb_91848460cf5a["base.py"] 66c6348c_7716_027c_42d7_71449bc64eeb["base64"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 66c6348c_7716_027c_42d7_71449bc64eeb 7025b240_fdc3_cf68_b72f_f41dac94566b["json"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 7025b240_fdc3_cf68_b72f_f41dac94566b 2a7f66a7_8738_3d47_375b_70fcaa6ac169["logging"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 2a7f66a7_8738_3d47_375b_70fcaa6ac169 9e98f0a7_ec6e_708f_4f1b_e9428b316e1c["os"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 9e98f0a7_ec6e_708f_4f1b_e9428b316e1c 67ec3255_645e_8b6e_1eff_1eb3c648ed95["re"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 67ec3255_645e_8b6e_1eff_1eb3c648ed95 72c64b6e_19ff_53f9_02dc_d8884a082cd0["ssl"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 72c64b6e_19ff_53f9_02dc_d8884a082cd0 d76a28c2_c3ab_00a8_5208_77807a49449d["sys"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> d76a28c2_c3ab_00a8_5208_77807a49449d 0c635125_6987_b8b3_7ff7_d60249aecde7["warnings"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 0c635125_6987_b8b3_7ff7_d60249aecde7 cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7 c990f2d7_9509_7cea_ca95_51ad57dbe5c6["functools"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> c990f2d7_9509_7cea_ca95_51ad57dbe5c6 4e334bc1_18d9_a6a4_18e5_7a3030396c51["io"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 4e334bc1_18d9_a6a4_18e5_7a3030396c51 6d7cdba5_8e52_34b5_6742_57caf6500c80["math"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 6d7cdba5_8e52_34b5_6742_57caf6500c80 7aaf52d4_ee88_411e_980e_bc4beeeb30ad["operator"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 7aaf52d4_ee88_411e_980e_bc4beeeb30ad 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] cbac6225_d16a_7d3b_a2eb_91848460cf5a --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 style cbac6225_d16a_7d3b_a2eb_91848460cf5a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""OpenAI chat wrapper."""
from __future__ import annotations
import base64
import json
import logging
import os
import re
import ssl
import sys
import warnings
from collections.abc import (
AsyncIterator,
Awaitable,
Callable,
Iterator,
Mapping,
Sequence,
)
from functools import partial
from io import BytesIO
from json import JSONDecodeError
from math import ceil
from operator import itemgetter
from typing import (
TYPE_CHECKING,
Any,
Literal,
TypeAlias,
TypeVar,
cast,
)
from urllib.parse import urlparse
import certifi
import openai
import tiktoken
from langchain_core.callbacks import (
AsyncCallbackManagerForLLMRun,
CallbackManagerForLLMRun,
)
from langchain_core.exceptions import ContextOverflowError
from langchain_core.language_models import (
LanguageModelInput,
ModelProfileRegistry,
)
from langchain_core.language_models.chat_models import (
BaseChatModel,
LangSmithParams,
)
from langchain_core.messages import (
AIMessage,
AIMessageChunk,
BaseMessage,
BaseMessageChunk,
ChatMessage,
ChatMessageChunk,
FunctionMessage,
FunctionMessageChunk,
// ... (4650 more lines)
Domain
Subdomains
Functions
- _construct_lc_result_from_responses_api()
- _construct_responses_api_input()
- _construct_responses_api_payload()
- _convert_chat_completions_blocks_to_responses()
- _convert_delta_to_message_chunk()
- _convert_dict_to_message()
- _convert_message_to_dict()
- _convert_responses_chunk_to_generation_chunk()
- _convert_to_openai_response_format()
- _count_image_tokens()
- _create_usage_metadata()
- _create_usage_metadata_responses()
- _ensure_valid_tool_message_content()
- _format_annotation_from_lc()
- _format_annotation_to_lc()
- _format_message_content()
- _get_default_model_profile()
- _get_last_messages()
- _get_output_text()
- _handle_openai_api_error()
- _handle_openai_bad_request()
- _is_b64()
- _is_builtin_tool()
- _is_pydantic_class()
- _is_url()
- _lc_invalid_tool_call_to_openai_tool_call()
- _lc_tool_call_to_openai_tool_call()
- _make_computer_call_output_from_message()
- _make_custom_tool_output_from_message()
- _model_prefers_responses_api()
- _oai_structured_outputs_parser()
- _pop_index_and_sub_index()
- _resize()
- _update_token_usage()
- _url_to_size()
- _use_responses_api()
- langchain_core()
Classes
Dependencies
- PIL
- base64
- certifi
- collections.abc
- functools
- httpx
- io
- json
- langchain_core._security._ssrf_protection
- langchain_core.callbacks
- langchain_core.exceptions
- langchain_core.language_models
- langchain_core.language_models.chat_models
- langchain_core.messages
- langchain_core.messages.ai
- langchain_core.messages.block_translators.openai
- langchain_core.messages.tool
- langchain_core.output_parsers
- langchain_core.output_parsers.openai_tools
- langchain_core.outputs
- langchain_core.runnables
- langchain_core.runnables.config
- langchain_core.tools
- langchain_core.tools.base
- langchain_core.utils
- langchain_core.utils.function_calling
- langchain_core.utils.pydantic
- langchain_core.utils.utils
- langchain_openai.chat_models._client_utils
- langchain_openai.chat_models._compat
- langchain_openai.data._profiles
- logging
- math
- openai
- openai.types.responses
- operator
- os
- pydantic
- pydantic.v1
- re
- ssl
- sys
- tiktoken
- typing
- typing_extensions
- urllib.parse
- warnings
Source
Frequently Asked Questions
What does base.py do?
base.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, MessageSchema subdomain.
What functions are defined in base.py?
base.py defines 37 function(s): _construct_lc_result_from_responses_api, _construct_responses_api_input, _construct_responses_api_payload, _convert_chat_completions_blocks_to_responses, _convert_delta_to_message_chunk, _convert_dict_to_message, _convert_message_to_dict, _convert_responses_chunk_to_generation_chunk, _convert_to_openai_response_format, _count_image_tokens, and 27 more.
What does base.py depend on?
base.py imports 47 module(s): PIL, base64, certifi, collections.abc, functools, httpx, io, json, and 39 more.
Where is base.py in the architecture?
base.py is located at libs/partners/openai/langchain_openai/chat_models/base.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/partners/openai/langchain_openai/chat_models).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free