atrace_as_chain_group#

langchain_core.callbacks.manager.atrace_as_chain_group(
group_name: str,
callback_manager: AsyncCallbackManager | None = None,
*,
inputs: dict[str, Any] | None = None,
project_name: str | None = None,
example_id: str | UUID | None = None,
run_id: UUID | None = None,
tags: list[str] | None = None,
metadata: dict[str, Any] | None = None,
) β†’ AsyncGenerator[AsyncCallbackManagerForChainGroup, None][source]#

Get an async callback manager for a chain group in a context manager.

Useful for grouping different async calls together as a single run even if they aren’t composed in a single chain.

Parameters:
  • group_name (str) – The name of the chain group.

  • callback_manager (AsyncCallbackManager, optional) – The async callback manager to use, which manages tracing and other callback behavior. Defaults to None.

  • inputs (dict[str, Any], optional) – The inputs to the chain group. Defaults to None.

  • project_name (str, optional) – The name of the project. Defaults to None.

  • example_id (str or UUID, optional) – The ID of the example. Defaults to None.

  • run_id (UUID, optional) – The ID of the run.

  • tags (list[str], optional) – The inheritable tags to apply to all runs. Defaults to None.

  • metadata (dict[str, Any], optional) – The metadata to apply to all runs. Defaults to None.

Returns:

The async callback manager for the chain group.

Return type:

AsyncCallbackManager

Note: must have LANGCHAIN_TRACING_V2 env var set to true to see the trace in LangSmith.

Example

llm_input = "Foo"
async with atrace_as_chain_group("group_name", inputs={"input": llm_input}) as manager:
    # Use the async callback manager for the chain group
    res = await llm.ainvoke(llm_input, {"callbacks": manager})
    await manager.on_chain_end({"output": res})