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 Ejemplo de uso:
|
| 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
record_error
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
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 |