Home / File/ test_responses_spec.py — langchain Source File

test_responses_spec.py — langchain Source File

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

File python CoreAbstractions MessageSchema 13 imports 5 functions 4 classes

Entity Profile

Dependency Diagram

graph LR
  ba27a697_d9f8_de77_db20_1402310029a2["test_responses_spec.py"]
  9e98f0a7_ec6e_708f_4f1b_e9428b316e1c["os"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 9e98f0a7_ec6e_708f_4f1b_e9428b316e1c
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  525a7d6f_f455_56e3_854a_c8a7da4a1417["unittest.mock"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 525a7d6f_f455_56e3_854a_c8a7da4a1417
  1803c8c1_a347_1256_1454_9f04c3553d93["httpx"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 1803c8c1_a347_1256_1454_9f04c3553d93
  120e2591_3e15_b895_72b6_cb26195e40a6["pytest"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 120e2591_3e15_b895_72b6_cb26195e40a6
  d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> d758344f_537f_649e_f467_b9d7442e86df
  43d88577_548b_2248_b01b_7987bae85dcc["langchain_core.tools"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 43d88577_548b_2248_b01b_7987bae85dcc
  6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7
  839143dd_e377_b604_96de_3624dbdffeb5["langchain.agents"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 839143dd_e377_b604_96de_3624dbdffeb5
  c57803e6_8295_a18f_018d_3926ecdf1855["langchain.agents.structured_output"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> c57803e6_8295_a18f_018d_3926ecdf1855
  0773cd01_6660_6359_6f62_7ca63bcb35df["tests.unit_tests.agents.utils"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 0773cd01_6660_6359_6f62_7ca63bcb35df
  cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7
  0b28cff6_d823_1571_d2bb_ec61508cc89c["langchain_openai"]
  ba27a697_d9f8_de77_db20_1402310029a2 --> 0b28cff6_d823_1571_d2bb_ec61508cc89c
  style ba27a697_d9f8_de77_db20_1402310029a2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from __future__ import annotations

import os
from typing import (
    TYPE_CHECKING,
    Any,
)
from unittest.mock import MagicMock

import httpx
import pytest
from langchain_core.messages import HumanMessage
from langchain_core.tools import tool
from pydantic import BaseModel, create_model

from langchain.agents import create_agent
from langchain.agents.structured_output import (
    ToolStrategy,
)
from tests.unit_tests.agents.utils import BaseSchema, load_spec

if TYPE_CHECKING:
    from collections.abc import Callable


try:
    from langchain_openai import ChatOpenAI
except ImportError:
    skip_openai_integration_tests = True
else:
    skip_openai_integration_tests = "OPENAI_API_KEY" not in os.environ

AGENT_PROMPT = "You are an HR assistant."


class ToolCalls(BaseSchema):
    get_employee_role: int
    get_employee_department: int


class AssertionByInvocation(BaseSchema):
    prompt: str
    tools_with_expected_calls: ToolCalls
    expected_last_message: str
    expected_structured_response: dict[str, Any] | None
    llm_request_count: int


class TestCase(BaseSchema):
    name: str
    response_format: dict[str, Any] | list[dict[str, Any]]
    assertions_by_invocation: list[AssertionByInvocation]


class Employee(BaseModel):
    name: str
    role: str
    department: str


// ... (107 more lines)

Subdomains

Dependencies

  • collections.abc
  • httpx
  • langchain.agents
  • langchain.agents.structured_output
  • langchain_core.messages
  • langchain_core.tools
  • langchain_openai
  • os
  • pydantic
  • pytest
  • tests.unit_tests.agents.utils
  • typing
  • unittest.mock

Frequently Asked Questions

What does test_responses_spec.py do?
test_responses_spec.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 test_responses_spec.py?
test_responses_spec.py defines 5 function(s): _make_tool, collections, langchain_openai, skip_openai_integration_tests, test_responses_integration_matrix.
What does test_responses_spec.py depend on?
test_responses_spec.py imports 13 module(s): collections.abc, httpx, langchain.agents, langchain.agents.structured_output, langchain_core.messages, langchain_core.tools, langchain_openai, os, and 5 more.
Where is test_responses_spec.py in the architecture?
test_responses_spec.py is located at libs/langchain_v1/tests/unit_tests/agents/test_responses_spec.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/langchain_v1/tests/unit_tests/agents).

Analyze Your Own Codebase

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

Try Supermodel Free