openai.py — langchain Source File
Architecture documentation for openai.py, a python file in the langchain codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 3f58992c_878c_57d1_7412_5e64743aa7ba["openai.py"] 9d14ea65_8b2e_6721_a947_acc89905651f["json"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> 9d14ea65_8b2e_6721_a947_acc89905651f f3365e3c_fb7a_bb9a_bc79_059b06cb7024["warnings"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> f3365e3c_fb7a_bb9a_bc79_059b06cb7024 feec1ec4_6917_867b_d228_b134d0ff8099["typing"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> feec1ec4_6917_867b_d228_b134d0ff8099 241c62f2_4ca5_bacf_a24e_88b009b752c7["langchain_core.language_models._utils"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> 241c62f2_4ca5_bacf_a24e_88b009b752c7 9444498b_8066_55c7_b3a2_1d90c4162a32["langchain_core.messages"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> 9444498b_8066_55c7_b3a2_1d90c4162a32 2bf6d401_816d_d011_3b05_a6114f55ff58["collections.abc"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> 2bf6d401_816d_d011_3b05_a6114f55ff58 0fe560dd_848c_7366_0e99_c7427ce20262["langchain_core.messages.block_translators"] 3f58992c_878c_57d1_7412_5e64743aa7ba --> 0fe560dd_848c_7366_0e99_c7427ce20262 style 3f58992c_878c_57d1_7412_5e64743aa7ba fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Derivations of standard content blocks from OpenAI content."""
from __future__ import annotations
import json
import warnings
from typing import TYPE_CHECKING, Any, Literal, cast
from langchain_core.language_models._utils import (
_parse_data_uri,
is_openai_data_block,
)
from langchain_core.messages import AIMessageChunk
from langchain_core.messages import content as types
if TYPE_CHECKING:
from collections.abc import Iterator
from langchain_core.messages import AIMessage
def convert_to_openai_image_block(block: dict[str, Any]) -> dict:
"""Convert `ImageContentBlock` to format expected by OpenAI Chat Completions.
Args:
block: The image content block to convert.
Raises:
ValueError: If required keys are missing.
ValueError: If source type is unsupported.
Returns:
The formatted image content block.
"""
if "url" in block:
return {
"type": "image_url",
"image_url": {
"url": block["url"],
},
}
if "base64" in block or block.get("source_type") == "base64":
if "mime_type" not in block:
error_message = "mime_type key is required for base64 data."
raise ValueError(error_message)
mime_type = block["mime_type"]
base64_data = block["data"] if "data" in block else block["base64"]
return {
"type": "image_url",
"image_url": {
"url": f"data:{mime_type};base64,{base64_data}",
},
}
error_message = "Unsupported source type. Only 'url' and 'base64' are supported."
raise ValueError(error_message)
def convert_to_openai_data_block(
block: dict, api: Literal["chat/completions", "responses"] = "chat/completions"
) -> dict:
// ... (976 more lines)
Domain
Subdomains
Functions
- _convert_annotation_to_v1()
- _convert_from_v03_ai_message()
- _convert_from_v1_to_chat_completions()
- _convert_openai_format_to_data_block()
- _convert_to_v1_from_chat_completions()
- _convert_to_v1_from_chat_completions_chunk()
- _convert_to_v1_from_chat_completions_input()
- _convert_to_v1_from_responses()
- _explode_reasoning()
- _register_openai_translator()
- collections()
- convert_to_openai_data_block()
- convert_to_openai_image_block()
- translate_content()
- translate_content_chunk()
Dependencies
- collections.abc
- json
- langchain_core.language_models._utils
- langchain_core.messages
- langchain_core.messages.block_translators
- typing
- warnings
Source
Frequently Asked Questions
What does openai.py do?
openai.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, ApiManagement subdomain.
What functions are defined in openai.py?
openai.py defines 15 function(s): _convert_annotation_to_v1, _convert_from_v03_ai_message, _convert_from_v1_to_chat_completions, _convert_openai_format_to_data_block, _convert_to_v1_from_chat_completions, _convert_to_v1_from_chat_completions_chunk, _convert_to_v1_from_chat_completions_input, _convert_to_v1_from_responses, _explode_reasoning, _register_openai_translator, and 5 more.
What does openai.py depend on?
openai.py imports 7 module(s): collections.abc, json, langchain_core.language_models._utils, langchain_core.messages, langchain_core.messages.block_translators, typing, warnings.
Where is openai.py in the architecture?
openai.py is located at libs/core/langchain_core/messages/block_translators/openai.py (domain: LangChainCore, subdomain: ApiManagement, directory: libs/core/langchain_core/messages/block_translators).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free