nemo_flow.integrations.langchain#
NeMo Flow integrations for LangChain.
Submodules#
Classes#
Bridge LangChain chain run IDs to NeMo Flow Agent scopes. |
|
Route LangChain agent model and tool calls through NeMo Flow. |
Package Contents#
- class nemo_flow.integrations.langchain.NemoFlowCallbackHandler#
Bases:
langchain_core.callbacks.base.BaseCallbackHandlerBridge LangChain chain run IDs to NeMo Flow Agent scopes.
- run_inline = True#
- on_chain_start(
- serialized: dict[str, Any],
- inputs: dict[str, Any],
- *,
- run_id: uuid.UUID,
- parent_run_id: uuid.UUID | None = None,
- tags: list[str] | None = None,
- metadata: dict[str, Any] | None = None,
- **kwargs: Any,
Push a NeMo Flow Agent scope for a LangChain chain run.
- on_chain_end(
- outputs: dict[str, Any],
- *,
- run_id: uuid.UUID,
- parent_run_id: uuid.UUID | None = None,
- **kwargs: Any,
Pop the NeMo Flow scope associated with a LangChain chain run.
- on_chain_error(
- error: BaseException,
- *,
- run_id: uuid.UUID,
- parent_run_id: uuid.UUID | None = None,
- **kwargs: Any,
Pop the NeMo Flow scope associated with a failed LangChain chain run.
- class nemo_flow.integrations.langchain.NemoFlowMiddleware(*, name: str = 'NemoFlowMiddleware')#
Bases:
langchain.agents.middleware.AgentMiddlewareRoute LangChain agent model and tool calls through NeMo Flow.
This uses LangChain’s public
AgentMiddlewarehooks. It applies to agents built withlangchain.agents.create_agent(..., middleware=[...]).- property name: str#
Middleware name used by LangChain graph nodes and traces.
- wrap_model_call(
- request: langchain.agents.middleware.ModelRequest[Any],
- handler: collections.abc.Callable[[langchain.agents.middleware.ModelRequest[Any]], langchain.agents.middleware.ModelResponse[Any]],
Wrap a sync LangChain agent model call in NeMo Flow LLM execution.
- async awrap_model_call(
- request: langchain.agents.middleware.ModelRequest[Any],
- handler: collections.abc.Callable[[langchain.agents.middleware.ModelRequest[Any]], collections.abc.Awaitable[langchain.agents.middleware.ModelResponse[Any]]],
Wrap an async LangChain agent model call in NeMo Flow LLM execution.
- wrap_tool_call(
- request: langchain.agents.middleware.ToolCallRequest,
- handler: collections.abc.Callable[[langchain.agents.middleware.ToolCallRequest], langchain_core.messages.ToolMessage | langgraph.types.Command[Any]],
Wrap a sync LangChain agent tool call in NeMo Flow tool execution.
- async awrap_tool_call(
- request: langchain.agents.middleware.ToolCallRequest,
- handler: collections.abc.Callable[[langchain.agents.middleware.ToolCallRequest], collections.abc.Awaitable[langchain_core.messages.ToolMessage | langgraph.types.Command[Any]]],
Wrap an async LangChain agent tool call in NeMo Flow tool execution.