ExecuteToolScope Clase

Proporciona el ámbito de seguimiento de OpenTelemetry para las operaciones de ejecución de herramientas de IA.

Constructor

ExecuteToolScope()

Parámetros

Nombre Description
request
Requerido
details
Requerido
agent_details
Requerido
user_details
Valor predeterminado: None
span_details
Valor predeterminado: None

Métodos

__init__

Inicialice el ámbito de ejecución de la herramienta.

__new__
dispose

Elimine el ámbito y finalice la recopilación de datos de telemetría.

get_context

Obtenga el contexto de OpenTelemetry para el intervalo de este ámbito.

Este método devuelve un objeto Context que contiene el intervalo de este ámbito, que se puede usar para propagar el contexto de seguimiento a operaciones secundarias o servicios de bajada.

inject_context_to_headers

Inserte el contexto de seguimiento de este intervalo en encabezados HTTP W3C.

Devuelve un diccionario de encabezados que contienen traceparent y, opcionalmente, tracestate que se pueden reenviar a servicios de bajada o almacenarse para la propagación de contexto posterior.

Ejemplo de uso:


   scope = OpenTelemetryScope(...)
   headers = scope.inject_context_to_headers()
   # Add headers to outgoing HTTP request
   requests.get("https://downstream-service/api", headers=headers)
record_attributes

Registre varios pares clave-valor de atributo para el seguimiento de telemetría.

Este método permite establecer varios atributos personalizados en el intervalo a la vez.

record_cancellation

Registrar cancelación de tareas.

record_error

Registre un error en el intervalo.

record_response

Registre el resultado de la llamada a la herramienta para el seguimiento de telemetría.

Según las especificaciones de OTEL, se espera que el resultado sea un objeto . Si se proporciona una cadena, se registra as-is (reserva de cadenas JSON). Si se proporciona un dict, se serializa en JSON.

set_end_time

Establezca una hora de finalización personalizada para el ámbito.

Cuando se establece, dispose() pasará este valor a span.end() en lugar de usar la hora actual del reloj. Esto resulta útil cuando se conoce la hora de finalización real de la operación antes de eliminar el ámbito.

set_tag_maybe

Establezca una etiqueta en el intervalo si el valor no es Ninguno.

start

Crea e inicia un nuevo ámbito para el seguimiento de la ejecución de herramientas.

__init__

Inicialice el ámbito de ejecución de la herramienta.

__init__(request: Request, details: ToolCallDetails, agent_details: AgentDetails, user_details: UserDetails | None = None, span_details: SpanDetails | None = None)

Parámetros

Nombre Description
request
Requerido

Detalles de la solicitud para la ejecución de la herramienta

details
Requerido

Detalles de la llamada a la herramienta

agent_details
Requerido

Detalles del agente que realiza la llamada

user_details

Detalles opcionales del usuario humano

Valor predeterminado: None
span_details

Configuración de intervalo opcional (contexto primario, tiempo, tipo)

Valor predeterminado: None

__new__

__new__(**kwargs)

dispose

Elimine el ámbito y finalice la recopilación de datos de telemetría.

dispose() -> None

Devoluciones

Tipo Description

get_context

Obtenga el contexto de OpenTelemetry para el intervalo de este ámbito.

Este método devuelve un objeto Context que contiene el intervalo de este ámbito, que se puede usar para propagar el contexto de seguimiento a operaciones secundarias o servicios de bajada.

get_context() -> Context | None

Devoluciones

Tipo Description

Un contexto que contiene el intervalo de este ámbito o Ninguno si la telemetría está deshabilitada o no existe ningún intervalo.

inject_context_to_headers

Inserte el contexto de seguimiento de este intervalo en encabezados HTTP W3C.

Devuelve un diccionario de encabezados que contienen traceparent y, opcionalmente, tracestate que se pueden reenviar a servicios de bajada o almacenarse para la propagación de contexto posterior.

Ejemplo de uso:


   scope = OpenTelemetryScope(...)
   headers = scope.inject_context_to_headers()
   # Add headers to outgoing HTTP request
   requests.get("https://downstream-service/api", headers=headers)
inject_context_to_headers() -> dict[str, str]

Devoluciones

Tipo Description

Diccionario que contiene encabezados de contexto de seguimiento W3C. Devuelve un diccionario vacío si la telemetría está deshabilitada o no existe ningún intervalo.

record_attributes

Registre varios pares clave-valor de atributo para el seguimiento de telemetría.

Este método permite establecer varios atributos personalizados en el intervalo a la vez.

record_attributes(attributes: dict[str, Any] | list[tuple[str, Any]]) -> None

Parámetros

Nombre Description
attributes
Requerido

Diccionario o lista de tuplas que contienen pares clave-valor de atributo. Las claves que son None o empty se omitirán.

Devoluciones

Tipo Description

record_cancellation

Registrar cancelación de tareas.

record_cancellation() -> None

Devoluciones

Tipo Description

record_error

Registre un error en el intervalo.

record_error(exception: Exception) -> None

Parámetros

Nombre Description
exception
Requerido

Excepción que se produjo

Devoluciones

Tipo Description

record_response

Registre el resultado de la llamada a la herramienta para el seguimiento de telemetría.

Según las especificaciones de OTEL, se espera que el resultado sea un objeto . Si se proporciona una cadena, se registra as-is (reserva de cadenas JSON). Si se proporciona un dict, se serializa en JSON.

record_response(result: dict[str, object] | str) -> None

Parámetros

Nombre Description
result
Requerido

Resultado de la llamada a la herramienta como una cadena JSON o dict estructurada

Devoluciones

Tipo Description

set_end_time

Establezca una hora de finalización personalizada para el ámbito.

Cuando se establece, dispose() pasará este valor a span.end() en lugar de usar la hora actual del reloj. Esto resulta útil cuando se conoce la hora de finalización real de la operación antes de eliminar el ámbito.

set_end_time(end_time: datetime) -> None

Parámetros

Nombre Description
end_time
Requerido

Hora de finalización como un objeto datetime.

Devoluciones

Tipo Description

set_tag_maybe

Establezca una etiqueta en el intervalo si el valor no es Ninguno.

set_tag_maybe(name: str, value: Any) -> None

Parámetros

Nombre Description
name
Requerido
str

Nombre de la etiqueta

value
Requerido
Any

Valor que se va a establecer (se omitirá si Ninguno)

Devoluciones

Tipo Description

start

Crea e inicia un nuevo ámbito para el seguimiento de la ejecución de herramientas.

static start(request: Request, details: ToolCallDetails, agent_details: AgentDetails, user_details: UserDetails | None = None, span_details: SpanDetails | None = None) -> ExecuteToolScope

Parámetros

Nombre Description
request
Requerido

Detalles de la solicitud para la ejecución de la herramienta

details
Requerido

Detalles de la llamada a la herramienta

agent_details
Requerido

Detalles del agente que realiza la llamada

user_details

Detalles opcionales del usuario humano

Valor predeterminado: None
span_details

Configuración de intervalo opcional (contexto primario, tiempo, tipo)

Valor predeterminado: None

Devoluciones

Tipo Description

Nueva instancia executeToolScope