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

作者:  头像在 GitHub 上打开

追踪是理解 LLM 应用程序行为的强大工具,Prompt flow 的追踪功能支持此类场景的检测。

本笔记本将演示如何使用 Prompt flow 检测和理解 LLM 应用程序。

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

  • 追踪 LLM 应用程序并使用 Prompt flow 进行可视化。

要求#

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

%%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 开始追踪以利用 Prompt flow 追踪功能;这将打印一个指向追踪 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)

后续步骤#

至此,您已成功使用 Prompt flow 追踪您的 LLM 应用程序。

您可以查看更多示例

  • 追踪 LangChain:追踪 LangChain 并利用 Prompt flow 进行可视化。

  • 追踪 AutoGen:追踪 AutoGen 并利用 Prompt flow 进行可视化。

  • 追踪您的流:使用 promptflow @trace 以结构化方式追踪您的应用程序,并使用批处理运行对其进行评估。