before_model() — langchain Function Reference
Architecture documentation for the before_model() function in openai_moderation.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 89d607b7_7e05_add5_42e7_2441e93ddb88["before_model()"] 48713c67_3a9a_ec9e_ec74_46e6955f07bd["OpenAIModerationMiddleware"] 89d607b7_7e05_add5_42e7_2441e93ddb88 -->|defined in| 48713c67_3a9a_ec9e_ec74_46e6955f07bd 551a16da_13eb_12e9_2086_b086d1dc2bfc["_moderate_inputs()"] 89d607b7_7e05_add5_42e7_2441e93ddb88 -->|calls| 551a16da_13eb_12e9_2086_b086d1dc2bfc style 89d607b7_7e05_add5_42e7_2441e93ddb88 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/openai/langchain_openai/middleware/openai_moderation.py lines 91–110
def before_model(
self, state: AgentState[Any], runtime: Runtime[Any]
) -> dict[str, Any] | None: # type: ignore[override]
"""Moderate user input and tool results before the model is called.
Args:
state: Current agent state containing messages.
runtime: Agent runtime context.
Returns:
Updated state with moderated messages, or `None` if no changes.
"""
if not self.check_input and not self.check_tool_results:
return None
messages = list(state.get("messages", []))
if not messages:
return None
return self._moderate_inputs(messages)
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does before_model() do?
before_model() is a function in the langchain codebase, defined in libs/partners/openai/langchain_openai/middleware/openai_moderation.py.
Where is before_model() defined?
before_model() is defined in libs/partners/openai/langchain_openai/middleware/openai_moderation.py at line 91.
What does before_model() call?
before_model() calls 1 function(s): _moderate_inputs.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free