Home / File/ test_openai_moderation_middleware.py — langchain Source File

test_openai_moderation_middleware.py — langchain Source File

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

File python LangChainCore ApiManagement 9 imports 9 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab["test_openai_moderation_middleware.py"]
  2bf6d401_816d_d011_3b05_a6114f55ff58["collections.abc"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> 2bf6d401_816d_d011_3b05_a6114f55ff58
  43a94385_8919_6471_1068_d923b3a3c65f["copy"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> 43a94385_8919_6471_1068_d923b3a3c65f
  feec1ec4_6917_867b_d228_b134d0ff8099["typing"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> feec1ec4_6917_867b_d228_b134d0ff8099
  23cb242e_1754_041d_200a_553fcb8abe1b["unittest.mock"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> 23cb242e_1754_041d_200a_553fcb8abe1b
  f69d6389_263d_68a4_7fbf_f14c0602a9ba["pytest"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> f69d6389_263d_68a4_7fbf_f14c0602a9ba
  a681398d_ed44_c914_1a44_5d174223b069["langchain.agents.middleware.types"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> a681398d_ed44_c914_1a44_5d174223b069
  9444498b_8066_55c7_b3a2_1d90c4162a32["langchain_core.messages"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> 9444498b_8066_55c7_b3a2_1d90c4162a32
  5615c56d_77f9_ad31_0e53_48704af8dfd5["openai.types.moderation"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> 5615c56d_77f9_ad31_0e53_48704af8dfd5
  33c9b147_ad5c_c97c_9a41_1b91b4f00d5c["langchain_openai.middleware.openai_moderation"]
  8b12907a_ea9d_32e0_a40a_d68cef74e4ab --> 33c9b147_ad5c_c97c_9a41_1b91b4f00d5c
  style 8b12907a_ea9d_32e0_a40a_d68cef74e4ab fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from __future__ import annotations

from collections.abc import Mapping
from copy import deepcopy
from typing import Any, cast
from unittest.mock import Mock

import pytest
from langchain.agents.middleware.types import AgentState
from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
from openai.types.moderation import Moderation

from langchain_openai.middleware.openai_moderation import (
    OpenAIModerationError,
    OpenAIModerationMiddleware,
)

DEFAULT_OK_DATA: dict[str, Any] = {
    "flagged": False,
    "categories": {
        "harassment": False,
        "harassment/threatening": False,
        "hate": False,
        "hate/threatening": False,
        "illicit": False,
        "illicit/violent": False,
        "self-harm": False,
        "self-harm/instructions": False,
        "self-harm/intent": False,
        "sexual": False,
        "sexual/minors": False,
        "violence": False,
        "violence/graphic": False,
    },
    "category_scores": {
        "harassment": 0.0,
        "harassment/threatening": 0.0,
        "hate": 0.0,
        "hate/threatening": 0.0,
        "illicit": 0.0,
        "illicit/violent": 0.0,
        "self-harm": 0.0,
        "self-harm/instructions": 0.0,
        "self-harm/intent": 0.0,
        "sexual": 0.0,
        "sexual/minors": 0.0,
        "violence": 0.0,
        "violence/graphic": 0.0,
    },
    "category_applied_input_types": {
        "harassment": ["text"],
        "harassment/threatening": ["text"],
        "hate": ["text"],
        "hate/threatening": ["text"],
        "illicit": ["text"],
        "illicit/violent": ["text"],
        "self-harm": ["text"],
        "self-harm/instructions": ["text"],
        "self-harm/intent": ["text"],
        "sexual": ["text"],
// ... (136 more lines)

Domain

Subdomains

Dependencies

  • collections.abc
  • copy
  • langchain.agents.middleware.types
  • langchain_core.messages
  • langchain_openai.middleware.openai_moderation
  • openai.types.moderation
  • pytest
  • typing
  • unittest.mock

Frequently Asked Questions

What does test_openai_moderation_middleware.py do?
test_openai_moderation_middleware.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 test_openai_moderation_middleware.py?
test_openai_moderation_middleware.py defines 9 function(s): flagged_result, make_state, test_after_model_replaces_flagged_message, test_async_before_model_uses_async_moderation, test_before_model_allows_clean_input, test_before_model_errors_on_flagged_input, test_before_model_jump_on_end_behavior, test_custom_violation_message_template, test_tool_messages_are_moderated_when_enabled.
What does test_openai_moderation_middleware.py depend on?
test_openai_moderation_middleware.py imports 9 module(s): collections.abc, copy, langchain.agents.middleware.types, langchain_core.messages, langchain_openai.middleware.openai_moderation, openai.types.moderation, pytest, typing, and 1 more.
Where is test_openai_moderation_middleware.py in the architecture?
test_openai_moderation_middleware.py is located at libs/partners/openai/tests/unit_tests/middleware/test_openai_moderation_middleware.py (domain: LangChainCore, subdomain: ApiManagement, directory: libs/partners/openai/tests/unit_tests/middleware).

Analyze Your Own Codebase

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

Try Supermodel Free