Catalog PyPI
Back to packageRELEASE DETAILS

0.1.0

PyPI

agentbase-agentops-langchain

Automatic LangChain Agent observability for AgentBase AgentOps

agentopsappbaselangchainobservabilityopentelemetry
Published2 Sept 2026
Direct dependencies10
Transitive dependenciesNot calculated

README

Version 0.1.0 documentation

AgentBase AgentOps LangChain

agentbase-agentops-langchain 为用户现有的 LangChain Agent 增加 AppBase AgentOps 可观测能力。挂载一次 AgentOpsMiddleware 后,SDK 自动采集 Agent、Chain、LLM、Tool 和 Retriever 生命周期,并通过 OTLP/HTTP 发送到 AppBase AgentOps。

SDK 不创建或替换模型,不代理模型请求,也不改变应用现有的模型 Provider、模型凭据、 Prompt、Tool 或业务逻辑。

安装

python -m pip install agentbase-agentops-langchain

配置

export AGENTBASE_AGENTOPS_ENDPOINT="https://<appbase-host>"
export AGENTBASE_PROJECT_ID="<project-id>"
export AGENTBASE_API_KEY="<project-api-key>"

Project API Key 至少需要 observability.ingest.write 权限。SDK 会自动将 AppBase host 或 /v1 base URL 补齐为完整 OTLP Trace endpoint。

接入现有 Agent

from agentbase_agentops_langchain import AgentOpsMiddleware
from langchain.agents import create_agent


agentops = AgentOpsMiddleware()

agent = create_agent(
    model=model,
    tools=tools,
    middleware=[agentops],
)

result = agent.invoke(
    inputs,
    config={
        "metadata": {
            "session_id": conversation_id,
            "user_id": authenticated_user_id,
        },
        "tags": [environment, agent_name, agent_version],
    },
)

如果应用已经配置其他 LangChain middleware,请将 AgentOpsMiddleware 追加到原列表, 不要覆盖现有 middleware。后续 invoke、ainvoke、stream、astream、batch 和 abatch 调用不需要手工传入 AgentOps callback。

短生命周期进程

CLI、Job 和测试脚本应在退出前主动 flush:

agentops.flush(timeout_millis=10_000)

flush() 表示同步尝试导出本地队列,不代表 AppBase 服务端已经完成持久化。需要确认接入 成功时,应通过 Console 或 Trace API 等待完整的 Agent、Generation 和 Tool 观测树。

内容采集

默认 AGENTBASE_AGENTOPS_CAPTURE_CONTENT=false,不会上传 Prompt、Response、Tool 参数 或 Retriever 文档正文。只有显式开启后才采集正文:

export AGENTBASE_AGENTOPS_CAPTURE_CONTENT=true

生产环境开启前应确认内容符合数据安全和脱敏要求。

NeMo Relay

已经使用 NVIDIA NeMo Relay 的应用不应再挂载 AgentOpsMiddleware。保留 NemoRelayMiddleware、NemoRelayCallbackHandler 和 Relay scope,将 Relay 的 OTLP/HTTP Trace endpoint 与鉴权 header 指向 AppBase AgentOps。

Session/User 关联需要同时满足:

  • plugins.toml 配置 promote_metadata_prefixes = ["langfuse."];
  • Relay scope metadata 传入 langfuse.session.id 和 langfuse.user.id。

本页提供可直接完成安装和接入的最小配置。完整的配置、验证、隐私边界和排障说明, 请以 AppBase 官方客户文档为准。

兼容范围

  • Python >=3.10
  • LangChain >=1.0,<2.0
  • OTLP/HTTP Trace

当前不提供 OTLP/gRPC、Metrics 或 OpenTelemetry Logs 接入。

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 11

Native requirements
10 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
langchain
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain<2.0,>=1.0runtime
opentelemetry-api
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-api<2.0,>=1.28runtime
opentelemetry-exporter-otlp-proto-http
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-exporter-otlp-proto-http<2.0,>=1.28runtime
opentelemetry-sdk
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-sdk<2.0,>=1.28runtime
packaging
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
packaging>=23runtime
langchain-openai
Environment
{
  "extras": "",
  "marker": "extra == \"examples\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain-openai<2.0,>=1.0; extra == "examples"runtime
langchain-openai
Environment
{
  "extras": "",
  "marker": "extra == \"nemo\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain-openai<2.0,>=1.0; extra == "nemo"runtime
nemo-relay
Environment
{
  "extras": "langchain",
  "marker": "extra == \"nemo\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
nemo-relay[langchain]<0.9,>=0.8.1; extra == "nemo"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8.0; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.24; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff>=0.9; extra == "dev"runtime

Distribution files

2 collected
agentbase_agentops_langchain-0.1.0-py3-none-any.whl

bdist_wheel · 20.25 KB · Python py3

Source file
agentbase_agentops_langchain-0.1.0.tar.gz

sdist · 26.59 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:31 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:78058048057faf7d81dfefe9b7ab3c8dc5638c9e6289513abe2bc54dbcebed67

Other collected versions

View all collected versions →