ExecuteToolScope Classe

Fornisce l'ambito di traccia OpenTelemetry per le operazioni di esecuzione degli strumenti di intelligenza artificiale.

Costruttore

ExecuteToolScope()

Parametri

Nome Descrizione
request
Necessario
details
Necessario
agent_details
Necessario
user_details
Valore predefinito: None
span_details
Valore predefinito: None

Metodi

__init__

Inizializzare l'ambito di esecuzione dello strumento.

__new__
dispose

Eliminare l'ambito e finalizzare la raccolta dei dati di telemetria.

get_context

Ottenere il contesto OpenTelemetry per l'intervallo di questo ambito.

Questo metodo restituisce un oggetto Context contenente l'intervallo di questo ambito, che può essere usato per propagare il contesto di traccia alle operazioni figlio o ai servizi downstream.

inject_context_to_headers

Inserire il contesto di traccia dell'intervallo nelle intestazioni HTTP W3C.

Restituisce un dizionario di intestazioni contenenti traceparent e facoltativamente tracestate che possono essere inoltrate ai servizi downstream o archiviati per una propagazione del contesto successiva.

Sintassi di esempio:


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

Registrare più coppie chiave/valore dell'attributo per il rilevamento dei dati di telemetria.

Questo metodo consente di impostare più attributi personalizzati sull'intervallo contemporaneamente.

record_cancellation

Annullamento dell'attività di record.

record_error

Registrare un errore nell'intervallo.

record_response

Registrare il risultato della chiamata dello strumento per il rilevamento dei dati di telemetria.

In base alla specifica ITEM, il risultato dovrebbe essere un oggetto . Se viene specificata una stringa, viene registrata as-is (fallback di stringhe JSON). Se viene specificato un elemento dict, viene serializzato in JSON.

set_end_time

Impostare un'ora di fine personalizzata per l'ambito.

Se impostato, dispose() passerà questo valore a span.end() invece di usare l'ora corrente. Ciò è utile quando l'ora di fine effettiva dell'operazione è nota prima dell'eliminazione dell'ambito.

set_tag_maybe

Impostare un tag sull'intervallo se il valore non è Nessuno.

start

Crea e avvia un nuovo ambito per la traccia di esecuzione degli strumenti.

__init__

Inizializzare l'ambito di esecuzione dello strumento.

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

Parametri

Nome Descrizione
request
Necessario

Dettagli della richiesta per l'esecuzione dello strumento

details
Necessario

Dettagli della chiamata allo strumento

agent_details
Necessario

Dettagli dell'agente che effettua la chiamata

user_details

Dettagli facoltativi dell'utente umano

Valore predefinito: None
span_details

Configurazione dell'intervallo facoltativo (contesto padre, intervallo, tipo)

Valore predefinito: None

__new__

__new__(**kwargs)

dispose

Eliminare l'ambito e finalizzare la raccolta dei dati di telemetria.

dispose() -> None

Valori restituiti

Tipo Descrizione

get_context

Ottenere il contesto OpenTelemetry per l'intervallo di questo ambito.

Questo metodo restituisce un oggetto Context contenente l'intervallo di questo ambito, che può essere usato per propagare il contesto di traccia alle operazioni figlio o ai servizi downstream.

get_context() -> Context | None

Valori restituiti

Tipo Descrizione

Contesto contenente l'intervallo di questo ambito oppure Nessuno se la telemetria è disabilitata o non esiste alcun intervallo.

inject_context_to_headers

Inserire il contesto di traccia dell'intervallo nelle intestazioni HTTP W3C.

Restituisce un dizionario di intestazioni contenenti traceparent e facoltativamente tracestate che possono essere inoltrate ai servizi downstream o archiviati per una propagazione del contesto successiva.

Sintassi di esempio:


   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]

Valori restituiti

Tipo Descrizione

Dizionario contenente intestazioni di contesto di traccia W3C. Restituisce un dizionario vuoto se i dati di telemetria sono disabilitati o non esistono intervalli.

record_attributes

Registrare più coppie chiave/valore dell'attributo per il rilevamento dei dati di telemetria.

Questo metodo consente di impostare più attributi personalizzati sull'intervallo contemporaneamente.

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

Parametri

Nome Descrizione
attributes
Necessario

Dizionario o elenco di tuple contenenti coppie chiave-valore dell'attributo. Le chiavi none o vuote verranno ignorate.

Valori restituiti

Tipo Descrizione

record_cancellation

Annullamento dell'attività di record.

record_cancellation() -> None

Valori restituiti

Tipo Descrizione

record_error

Registrare un errore nell'intervallo.

record_error(exception: Exception) -> None

Parametri

Nome Descrizione
exception
Necessario

Eccezione che si è verificata

Valori restituiti

Tipo Descrizione

record_response

Registrare il risultato della chiamata dello strumento per il rilevamento dei dati di telemetria.

In base alla specifica ITEM, il risultato dovrebbe essere un oggetto . Se viene specificata una stringa, viene registrata as-is (fallback di stringhe JSON). Se viene specificato un elemento dict, viene serializzato in JSON.

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

Parametri

Nome Descrizione
result
Necessario

Risultato della chiamata dello strumento come stringa strutturata o JSON

Valori restituiti

Tipo Descrizione

set_end_time

Impostare un'ora di fine personalizzata per l'ambito.

Se impostato, dispose() passerà questo valore a span.end() invece di usare l'ora corrente. Ciò è utile quando l'ora di fine effettiva dell'operazione è nota prima dell'eliminazione dell'ambito.

set_end_time(end_time: datetime) -> None

Parametri

Nome Descrizione
end_time
Necessario

Ora di fine come oggetto datetime.

Valori restituiti

Tipo Descrizione

set_tag_maybe

Impostare un tag sull'intervallo se il valore non è Nessuno.

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

Parametri

Nome Descrizione
name
Necessario
str

Nome del tag

value
Necessario
Any

Valore da impostare (verrà ignorato se None)

Valori restituiti

Tipo Descrizione

start

Crea e avvia un nuovo ambito per la traccia di esecuzione degli strumenti.

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

Parametri

Nome Descrizione
request
Necessario

Dettagli della richiesta per l'esecuzione dello strumento

details
Necessario

Dettagli della chiamata allo strumento

agent_details
Necessario

Dettagli dell'agente che effettua la chiamata

user_details

Dettagli facoltativi dell'utente umano

Valore predefinito: None
span_details

Configurazione dell'intervallo facoltativo (contesto padre, intervallo, tipo)

Valore predefinito: None

Valori restituiti

Tipo Descrizione

Nuova istanza di ExecuteToolScope