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.
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
Functions
- 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()
Classes
Dependencies
- collections.abc
- copy
- langchain.agents.middleware.types
- langchain_core.messages
- langchain_openai.middleware.openai_moderation
- openai.types.moderation
- pytest
- typing
- unittest.mock
Source
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