基于Azure ML Studio的Azure Prompt Flow聊天交互日志记录方法咨询
使用Azure原生工具记录Azure Prompt Flow的用户输入
你可以通过以下几种Azure原生方案实现用户输入的记录,无需对接外部日志应用:
1. 启用Prompt Flow内置详细日志
在Azure Machine Learning Studio配置Prompt Flow部署时,可开启记录输入和输出的日志选项:
- 进入Prompt Flow部署配置页的日志设置模块
- 勾选"记录输入与输出",相关数据会自动同步到Azure Monitor的Log Analytics工作区
- 可通过Log Analytics查询语句检索用户输入,示例:
PromptFlowDeploymentLogs | where OperationName == "UserInputProcessed" | project TimeGenerated, InputContent, SessionId
2. 集成Azure Application Insights
在Prompt Flow流程中添加自定义代码节点,将用户输入直接上报至Application Insights:
- 在用户输入进入流程的环节后插入Python代码节点
- 使用Azure Application Insights SDK捕获输入内容,代码示例:
from opencensus.ext.azure.log_exporter import AzureLogHandler import logging logger = logging.getLogger("user_input_tracker") logger.addHandler(AzureLogHandler(connection_string="你的App Insights连接字符串")) logger.info("用户输入记录", extra={"custom_dimensions": {"user_input": 输入内容变量}}) - 后续可在Application Insights的日志面板中筛选、分析用户输入数据
3. 持久化到Azure Blob Storage
若需长期存储用户输入,可在Prompt Flow中添加代码节点将数据写入Azure Blob存储:
- 创建Azure Blob存储容器并获取账户连接字符串
- 编写Python代码完成输入内容的上传,示例:
from azure.storage.blob import BlobServiceClient from datetime import datetime blob_service = BlobServiceClient.from_connection_string("你的存储连接字符串") container = blob_service.get_container_client("user-input-archive") blob_name = f"input_{datetime.utcnow().strftime('%Y%m%d_%H%M%S')}.txt" container.upload_blob(name=blob_name, data=用户输入内容)
以上方案均基于Azure原生工具实现,无需依赖外部日志应用,可根据存储周期、分析需求选择适配的方式。
内容的提问来源于stack exchange,提问作者Malix
相关产品推荐
相关产品推荐

