85742ab165
Deploy Documentation / deploy (push) Has been cancelled
CPU Test / Test (Utilities, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (LLM proxy, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Others, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Store, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Utilities, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Weave, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (AgentOps, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (LLM proxy, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Others, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Weave, latest, Python 3.13) (push) Has been cancelled
Dashboard / Chromatic (push) Has been cancelled
CPU Test / Lint - fast (push) Has been cancelled
CPU Test / Lint - next (push) Has been cancelled
CPU Test / Lint - slow (push) Has been cancelled
CPU Test / Lint - JavaScript (push) Has been cancelled
CPU Test / Build documentation (push) Has been cancelled
CPU Test / Test (AgentOps, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (LLM proxy, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Others, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Store, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Weave, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (AgentOps, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Store, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Utilities, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Weave, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (AgentOps, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (LLM proxy, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Others, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Store, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Utilities, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (JavaScript) (push) Has been cancelled
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
from typing import Any, Dict
|
|
|
|
from agentops import instrumentation
|
|
from agentops.integration.callbacks.langchain import LangchainCallbackHandler
|
|
|
|
original_on_chain_start = LangchainCallbackHandler.on_chain_start
|
|
langgraph_entry = None
|
|
|
|
__all__ = [
|
|
"instrument_agentops_langchain",
|
|
"uninstrument_agentops_langchain",
|
|
]
|
|
|
|
|
|
def on_chain_start(self: Any, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any) -> None:
|
|
if "name" in kwargs:
|
|
if serialized is None: # type: ignore
|
|
serialized = {}
|
|
serialized = serialized.copy()
|
|
serialized["name"] = kwargs["name"]
|
|
if "run_id" in kwargs:
|
|
if serialized is None: # type: ignore
|
|
serialized = {}
|
|
serialized = serialized.copy()
|
|
if "id" not in serialized:
|
|
serialized["id"] = kwargs["run_id"]
|
|
return original_on_chain_start(self, serialized, inputs, **kwargs)
|
|
|
|
|
|
def instrument_agentops_langchain():
|
|
"""Bypass AgentOp's native support for Langchain."""
|
|
global langgraph_entry
|
|
langgraph_entry = instrumentation.AGENTIC_LIBRARIES.pop("langgraph", None)
|
|
LangchainCallbackHandler.on_chain_start = on_chain_start
|
|
|
|
|
|
def uninstrument_agentops_langchain():
|
|
"""Restore AgentOp's native support for Langchain."""
|
|
global langgraph_entry
|
|
if langgraph_entry is not None:
|
|
instrumentation.AGENTIC_LIBRARIES["langgraph"] = langgraph_entry
|
|
langgraph_entry = None
|
|
LangchainCallbackHandler.on_chain_start = original_on_chain_start
|