使用LLM应用程序进行追踪#

作者:  Open on GitHubOpen on GitHub

追踪是理解您的LLM应用程序行为的强大工具,提示流追踪功能支持对此类场景进行检测。

本笔记本将演示如何使用提示流来检测和理解您的LLM应用程序。

学习目标 - 完成本笔记本后,您将能够:

  • 追踪LLM应用程序并使用提示流进行可视化。

需求#

要运行此笔记本示例,请安装所需的依赖项。

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

请使用.env文件配置您的API密钥,我们提供了一个示例.env.example供参考。

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

load_dotenv()

创建你的LLM应用程序#

本笔记本示例将使用Azure OpenAI服务构建一个LLM应用程序。

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)

使用promptflow.tracing.start_trace开始跟踪,以利用提示流跟踪功能;这将打印一个指向跟踪UI的链接,您可以在其中可视化跟踪。

from promptflow.tracing import start_trace

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

再次运行LLM应用程序,您应该能够在跟踪UI中看到新的跟踪记录,并且可以点击查看更多详细信息。

trace-detail

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

下一步#

到目前为止,您已经成功地使用提示流跟踪了您的LLM应用程序。

你可以查看更多示例:

  • Trace LangChain: 追踪 LangChain 并利用提示流进行可视化。

  • Trace AutoGen: 追踪 AutoGen 并利用提示流进行可视化。

  • Trace your flow: 使用 promptflow @trace 结构化地追踪您的应用程序,并通过批量运行对其进行评估。