POML 与 MLflow 集成

POML 与 MLflow 集成

导语

MLflow 是一个开源平台,用于管理机器学习生命周期(包括实验、可复现性与部署)。POML 与 MLflow 的集成可自动将 POML 调用记录为 MLflow traces,并将提示词(prompts)注册到 MLflow 的提示词注册表(prompt registry)。

安装与配置

安装

  • 安装带 MLflow 支持的 POML:
bash 复制代码
pip install poml[agent]
  • 或单独安装 MLflow 及其 GenAI 组件:
bash 复制代码
pip install mlflow mlflow-genai

配置(可选)

  • 使用本地文件存储为默认后端,或自行配置 Tracking Server:
bash 复制代码
# 启动本地 MLflow tracking server
mlflow server --host 0.0.0.0 --port 5000

# 使用远程 tracking server(示例)
export MLFLOW_TRACKING_URI="http://your-mlflow-server:5000"

基本用法

启用 POML 的 MLflow 追踪,并结合 OpenAI 的自动日志记录(autolog):

python 复制代码
import mlflow
import mlflow.openai
import poml
from openai import OpenAI

# Set up MLflow experiment
mlflow.set_experiment("poml_integration")
mlflow.set_tracking_uri("http://localhost:5000")

# Enable POML tracing with MLflow
poml.set_trace("mlflow", trace_dir="pomlruns")

# Enable OpenAI autologging for tracing OpenAI API calls as well
mlflow.openai.autolog()

# Use POML as usual
client = OpenAI()
messages = poml.poml(
    "explain_code.poml",
    context={"code_path": "sample.py"},
    format="openai_chat"
)
response = client.chat.completions.create(
    model="gpt-5",
    **messages
)

追踪内容(What Gets Traced)

启用 MLflow 集成后,POML 会自动记录以下信息:

POML Traces

  • Trace 名称:"poml"
  • Prompt 内容:POML 原始源文本
  • 上下文变量:传入 POML 调用的所有上下文变量
  • 样式表:任意样式配置
  • 结果:发送给 LLM 的处理后 Prompt 结构

提示词注册(Prompt Registration)

POML 的提示词会自动注册到 MLflow 的 Prompt Registry,包含:

  • 提示词名称:由 POML 文件名与顺序号自动推导(例如 0001.explain_code),详见 POML Trace 文档
  • 模板:完整的 POML 源内容
  • 版本:MLflow 自动进行版本跟踪
text 复制代码
0001.explain_code

参考文档:

示例 Trace 数据

json 复制代码
{
  "inputs": {
    "prompt": "<poml> <task>You are a senior Python developer. Please explain the code.</task> <code inline=\"false\"> <document src=\"{{ code_path }}\" parser=\"txt\" /> </code> <runtime temperature=\"0.7\" max-tokens=\"256\"/> </poml>",
    "context": { "code_path": "sample.py" },
    "stylesheet": null
  },
  "outputs": {
    "messages": [
      {
        "speaker": "human",
        "content": "# Task\n\nYou are a senior Python developer. Please explain the code.\n\n```\n\ndef greet(name):\n print(f\"Hello, {name}!\")\n..."
      }
    ]
  }
}

参考链接(See Also)

总结

通过与 MLflow 的集成,POML 调用可被自动追踪为 MLflow traces,并将提示词注册到 Prompt Registry,配合 MLflow 的版本与追踪能力,便于统一管理与审计提示词与调用过程。更多细节与高级用法可参考文档链接。

相关推荐
CoderJia程序员甲2 小时前
GitHub 热榜项目 - 日榜(2025-12-19)
ai·开源·llm·github
骚戴5 小时前
n1n:从替代LiteLLM Proxy自建网关到企业级统一架构的进阶之路
人工智能·python·大模型·llm·gateway·api
沛沛老爹11 小时前
Web开发者进阶AI Agent:LangChain提示词模板与输出解析器实战
人工智能·ai·langchain·llm·agent·提示词·web转型
骚戴11 小时前
LLM API Gateway:LLM API 架构、AI 聚合与成本优化全解(2025深度指南)
人工智能·python·大模型·llm·gateway·api
snoopy_2112 小时前
LLM中位置编码
llm
Robot侠20 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
智泊AI1 天前
为什么通用Agent很难实现企业化落地?
llm
大模型教程1 天前
14天速成LLM高手!大佬开源学习笔记,GitHub狂揽700星
程序员·llm·agent
AI大模型1 天前
大模型相关术语和框架总结|LLM、MCP、Prompt、RAG、vLLM、Token、数据蒸馏
程序员·llm·agent
AI大模型1 天前
OpenAI官方出品 : 从0到1构建AI Agent实战指南, 解锁智能自动化新范式
程序员·llm·agent