Home / Function/ test_convert_to_openai_data_block() — langchain Function Reference

test_convert_to_openai_data_block() — langchain Function Reference

Architecture documentation for the test_convert_to_openai_data_block() function in test_openai.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  80d27f85_8fce_530e_6954_d2f7ec1011e4["test_convert_to_openai_data_block()"]
  71a6a26a_d6f8_432f_996a_21e56fcab4ae["test_openai.py"]
  80d27f85_8fce_530e_6954_d2f7ec1011e4 -->|defined in| 71a6a26a_d6f8_432f_996a_21e56fcab4ae
  style 80d27f85_8fce_530e_6954_d2f7ec1011e4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/messages/block_translators/test_openai.py lines 479–605

def test_convert_to_openai_data_block() -> None:
    # Chat completions
    # Image / url
    block = {
        "type": "image",
        "url": "https://example.com/test.png",
    }
    expected = {
        "type": "image_url",
        "image_url": {"url": "https://example.com/test.png"},
    }
    result = convert_to_openai_data_block(block)
    assert result == expected

    # Image / base64
    block = {
        "type": "image",
        "base64": "<base64 string>",
        "mime_type": "image/png",
    }
    expected = {
        "type": "image_url",
        "image_url": {"url": "data:image/png;base64,<base64 string>"},
    }
    result = convert_to_openai_data_block(block)
    assert result == expected

    # File / url
    block = {
        "type": "file",
        "url": "https://example.com/test.pdf",
    }
    with pytest.raises(ValueError, match="does not support"):
        result = convert_to_openai_data_block(block)

    # File / base64
    block = {
        "type": "file",
        "base64": "<base64 string>",
        "mime_type": "application/pdf",
        "filename": "test.pdf",
    }
    expected = {
        "type": "file",
        "file": {
            "file_data": "data:application/pdf;base64,<base64 string>",
            "filename": "test.pdf",
        },
    }
    result = convert_to_openai_data_block(block)
    assert result == expected

    # File / file ID
    block = {
        "type": "file",
        "file_id": "file-abc123",
    }
    expected = {"type": "file", "file": {"file_id": "file-abc123"}}
    result = convert_to_openai_data_block(block)
    assert result == expected

    # Audio / base64
    block = {
        "type": "audio",
        "base64": "<base64 string>",
        "mime_type": "audio/wav",
    }
    expected = {
        "type": "input_audio",
        "input_audio": {"data": "<base64 string>", "format": "wav"},
    }
    result = convert_to_openai_data_block(block)
    assert result == expected

    # Responses
    # Image / url
    block = {
        "type": "image",
        "url": "https://example.com/test.png",
    }
    expected = {"type": "input_image", "image_url": "https://example.com/test.png"}

Domain

Subdomains

Frequently Asked Questions

What does test_convert_to_openai_data_block() do?
test_convert_to_openai_data_block() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/messages/block_translators/test_openai.py.
Where is test_convert_to_openai_data_block() defined?
test_convert_to_openai_data_block() is defined in libs/core/tests/unit_tests/messages/block_translators/test_openai.py at line 479.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free