promptflow.tracing Modul#

class promptflow.tracing.ThreadPoolExecutorWithContext(max_workers=None, thread_name_prefix='', initializer=None, initargs=())#

Bases: ThreadPoolExecutor

promptflow.tracing.start_trace(*, resource_attributes: Optional[dict] = None, collection: Optional[str] = None, **kwargs)#

Promptflow-Instrumentierung.

Parameter:
  • resource_attributes (Optional[dict]) – Geben Sie die Ressourcenattribute für den aktuellen Prozess an.

  • collection (Optional[str]) – Geben Sie die Sammlung für das aktuelle Tracing an.

promptflow.tracing.trace(func: Optional[Callable] = None) Callable#

Ein Dekorator, um einer Funktion eine Spur hinzuzufügen.

Wenn eine Funktion von diesem Dekorator umschlossen wird, werden der Funktionsname, die Eingaben, die Ausgaben, die Startzeit, die Endzeit und Fehler (falls vorhanden) aufgezeichnet.

Es kann sowohl für synchrone als auch für asynchrone Funktionen verwendet werden. Für synchrone Funktionen gibt es eine synchrone Funktion zurück. Für asynchrone Funktionen gibt es eine asynchrone Funktion zurück.

Parameter:

func (Callable) – Die zu verfolgende Funktion.

Gibt zurück:

Die umschlossene Funktion mit aktivierter Spur.

Rückgabetyp:

Callable

Beispiele:

Verwendung synchroner Funktionen

@trace
def greetings(user_id):
    name = get_name(user_id)
    return f"Hello, {name}"

Verwendung asynchroner Funktionen

@trace
async def greetings_async(user_id):
    name = await get_name_async(user_id)
    return f"Hello, {name}"

Unterpakete#