Rückverfolgung mit LLM-Anwendung#

Autor(en):  AvatarAuf GitHub öffnen

Die Rückverfolgung ist ein leistungsstarkes Werkzeug zum Verstehen des Verhaltens Ihrer LLM-Anwendung. Die Rückverfolgungsfunktion von Prompt Flow unterstützt die Instrumentierung für solche Szenarien.

Dieses Notebook demonstriert, wie Prompt Flow zur Instrumentierung und zum Verständnis Ihrer LLM-Anwendung verwendet wird.

Lernziel - Nach Abschluss dieses Notebooks können Sie

  • LLM-Anwendungen verfolgen und mit Prompt Flow visualisieren.

Anforderungen#

Um dieses Notebook-Beispiel auszuführen, installieren Sie bitte die erforderlichen Abhängigkeiten.

%%capture --no-stderr
%pip install -r ./requirements.txt

Bitte konfigurieren Sie Ihren API-Schlüssel mit einer .env-Datei. Wir haben eine Beispiel- .env.example zur Referenz bereitgestellt.

# load api key and endpoint from .env to environ
from dotenv import load_dotenv

load_dotenv()

Erstellen Sie Ihre LLM-Anwendung#

Dieses Notebook-Beispiel erstellt eine LLM-Anwendung mit dem Azure OpenAI-Dienst.

from openai import AzureOpenAI

# in this notebook example, we will use model "gpt-35-turbo-16k"
deployment_name = "gpt-35-turbo-16k"

client = AzureOpenAI(
    azure_deployment=deployment_name,
    api_version="2024-02-01",
)
# prepare one classic question for LLM
conversation = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "What is the meaning of life?"},
]
response = client.chat.completions.create(
    messages=conversation,
    model=deployment_name,
)
print(response.choices[0].message.content)

Starten Sie die Rückverfolgung mit promptflow.tracing.start_trace, um die Rückverfolgungsfunktion von Prompt Flow zu nutzen. Dadurch wird ein Link zur Rückverfolgungs-UI gedruckt, wo Sie die Rückverfolgung visualisieren können.

from promptflow.tracing import start_trace

# start a trace session, and print a url for user to check trace
start_trace(collection="trace-llm")

Führen Sie die LLM-Anwendung erneut aus. Sie sollten sehen, wie die neue Rückverfolgung in der Rückverfolgungs-UI protokolliert wird, und sie ist anklickbar, um weitere Details anzuzeigen.

trace-detail

response = client.chat.completions.create(
    messages=conversation,
    model=deployment_name,
)
print(response.choices[0].message.content)

Nächste Schritte#

Bis jetzt haben Sie Ihre LLM-Anwendung erfolgreich mit Prompt Flow verfolgt.

Sie können sich weitere Beispiele ansehen

  • LangChain verfolgen: Verfolgen Sie LangChain und visualisieren Sie es mithilfe von Prompt Flow.

  • AutoGen verfolgen: Verfolgen Sie AutoGen und visualisieren Sie es mithilfe von Prompt Flow.

  • Verfolgen Sie Ihren Flow: Verwenden Sie Promptflow @trace, um Ihre App strukturell zu verfolgen und die Auswertung mit einem Batch-Lauf durchzuführen.