Home / File/ test_base.py — langchain Source File

test_base.py — langchain Source File

Architecture documentation for test_base.py, a python file in the langchain codebase. 5 imports, 0 dependents.

File python LangChainCore LanguageModelBase 5 imports 8 functions

Entity Profile

Dependency Diagram

graph LR
  9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5["test_base.py"]
  0029f612_c503_ebcf_a452_a0fae8c9f2c3["os"]
  9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5 --> 0029f612_c503_ebcf_a452_a0fae8c9f2c3
  eea920d0_5f0d_7728_8367_275e1830e552["numpy"]
  9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5 --> eea920d0_5f0d_7728_8367_275e1830e552
  082af17d_b8ac_eccd_d339_93cabe1a9b40["openai"]
  9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5 --> 082af17d_b8ac_eccd_d339_93cabe1a9b40
  f69d6389_263d_68a4_7fbf_f14c0602a9ba["pytest"]
  9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5 --> f69d6389_263d_68a4_7fbf_f14c0602a9ba
  6be0bfe0_72b1_1c9f_0fa0_87cc9bc947e8["langchain_openai.embeddings.base"]
  9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5 --> 6be0bfe0_72b1_1c9f_0fa0_87cc9bc947e8
  style 9bf2a9b0_094e_e5e3_a0fa_faa0fc8514e5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Test OpenAI embeddings."""

import os

import numpy as np
import openai
import pytest

from langchain_openai.embeddings.base import OpenAIEmbeddings


def test_langchain_openai_embedding_documents() -> None:
    """Test openai embeddings."""
    documents = ["foo bar"]
    embedding = OpenAIEmbeddings()
    output = embedding.embed_documents(documents)
    assert len(output) == 1
    assert len(output[0]) > 0


def test_langchain_openai_embedding_query() -> None:
    """Test openai embeddings."""
    document = "foo bar"
    embedding = OpenAIEmbeddings()
    output = embedding.embed_query(document)
    assert len(output) > 0


def test_langchain_openai_embeddings_dimensions() -> None:
    """Test openai embeddings."""
    documents = ["foo bar"]
    embedding = OpenAIEmbeddings(model="text-embedding-3-small", dimensions=128)
    output = embedding.embed_documents(documents)
    assert len(output) == 1
    assert len(output[0]) == 128


def test_langchain_openai_embeddings_equivalent_to_raw() -> None:
    documents = ["disallowed special token '<|endoftext|>'"]
    embedding = OpenAIEmbeddings()

    lc_output = embedding.embed_documents(documents)[0]
    direct_output = (
        openai.OpenAI()
        .embeddings.create(input=documents, model=embedding.model)
        .data[0]
        .embedding
    )
    assert np.allclose(lc_output, direct_output, atol=0.001)


async def test_langchain_openai_embeddings_equivalent_to_raw_async() -> None:
    documents = ["disallowed special token '<|endoftext|>'"]
    embedding = OpenAIEmbeddings()

    lc_output = (await embedding.aembed_documents(documents))[0]
    client = openai.AsyncOpenAI()
    direct_output = (
        (await client.embeddings.create(input=documents, model=embedding.model))
        .data[0]
// ... (66 more lines)

Domain

Subdomains

Dependencies

  • langchain_openai.embeddings.base
  • numpy
  • openai
  • os
  • pytest

Frequently Asked Questions

What does test_base.py do?
test_base.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, LanguageModelBase subdomain.
What functions are defined in test_base.py?
test_base.py defines 8 function(s): test_callable_api_key, test_callable_api_key_async, test_langchain_openai_embedding_documents, test_langchain_openai_embedding_query, test_langchain_openai_embeddings_dimensions, test_langchain_openai_embeddings_dimensions_large_num, test_langchain_openai_embeddings_equivalent_to_raw, test_langchain_openai_embeddings_equivalent_to_raw_async.
What does test_base.py depend on?
test_base.py imports 5 module(s): langchain_openai.embeddings.base, numpy, openai, os, pytest.
Where is test_base.py in the architecture?
test_base.py is located at libs/partners/openai/tests/integration_tests/embeddings/test_base.py (domain: LangChainCore, subdomain: LanguageModelBase, directory: libs/partners/openai/tests/integration_tests/embeddings).

Analyze Your Own Codebase

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

Try Supermodel Free