使用 LLM 应用程序进行追踪#
追踪是理解 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 中看到新的追踪日志,并且可以点击查看更多详细信息。
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 以结构化方式追踪您的应用程序,并使用批处理运行对其进行评估。