Skip to content

openrouter obs params#3840

Merged
Mason Daugherty (mdrxy) merged 1 commit intomainfrom
mdrxy/openrouter-session
May 1, 2026
Merged

openrouter obs params#3840
Mason Daugherty (mdrxy) merged 1 commit intomainfrom
mdrxy/openrouter-session

Conversation

@mdrxy
Copy link
Copy Markdown
Member

No description provided.

@github-actions github-actions Bot added langchain For docs changes to LangChain oss python For content related to the Python version of LangChain projects internal labels May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Mintlify preview branch generated: preview-mdrxyo-1777658790-7be347c

Site preview: https://langchain-5e9cc07a-preview-mdrxyo-1777658790-7be347c.mintlify.app

Preview links may take a few minutes to start working while the deployment finishes.

Changed documentation pages (preview deep links):

Mason Daugherty (mdrxy) added a commit to langchain-ai/langchain that referenced this pull request May 1, 2026
Add first-class `session_id` and `trace` constructor fields on
`ChatOpenRouter`, plumbed into the request payload alongside the
existing `route` / `plugins` / `openrouter_provider` knobs. Both
correspond to the OpenRouter
[broadcast](https://openrouter.ai/docs/guides/features/broadcast/overview)
feature for grouping requests under one logical workflow and attaching
per-request observability metadata. Previously these were only reachable
by stuffing them through `model_kwargs` or `.bind()`, neither of which
is discoverable.

[Docs](langchain-ai/docs#3840)

## Changes
- New `session_id: str | None` field with a
`from_env("OPENROUTER_SESSION_ID", default=None)` factory, so a process
can group all requests via env var without threading the value through
application code. Truthy-guarded in `_default_params` so an explicit or
env-sourced empty string is treated as unset.
- New `trace: dict[str, Any] | None` field for per-request trace
metadata (`trace_id`, `trace_name`, `span_name`, `generation_name`,
`parent_span_id`, plus arbitrary extras forwarded as custom metadata).
No env fallback — set per-call or on the constructor.
- Per-call override (`model.invoke(..., session_id=..., trace=...)`)
works through the existing `**kwargs` flow into `_generate` / `_stream`,
with the constructor value preserved across calls.
- Updated the "Key init args — client params" docstring table on
`ChatOpenRouter` to surface both fields.
@mdrxy Mason Daugherty (mdrxy) merged commit c0ac86b into main May 1, 2026
21 of 22 checks passed
@mdrxy Mason Daugherty (mdrxy) deleted the mdrxy/openrouter-session branch May 1, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal langchain For docs changes to LangChain oss python For content related to the Python version of LangChain projects

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant