欢迎阅读 DPML 文档。DPML (Deepractice Prompt Markup Language) 是一种用于结构化 AI 提示工程的声明式标记语言。
DPML 提供了一种标准化的方式来描述 AI 行为,使用类似 XML 的直观语法来定义提示、上下文和指令。
| 特性 | 描述 |
|---|---|
| 声明式语法 | 使用直观的 XML 风格标记定义 AI 提示 |
| Schema 验证 | 支持自定义 Schema 验证文档结构 |
| 可扩展 | 创建自定义 Transformer 转换为任意目标格式 |
| 类型安全 | 完整的 TypeScript 支持与类型定义 |
| 内置元素 | <resource> 元素支持外部资源引用 (ARP/RXL 协议) |
import { createDPML, defineSchema, defineTransformer } from 'dpml';
const dpml = createDPML({ schema: defineSchema({ element: 'prompt' }), transformers: [] });
const result = await dpml.compile('<prompt role="assistant">你是一个有帮助的助手</prompt>');- 概念索引 - 核心概念导航
- 架构概览 - DPML 整体架构
- 语法 - Element、Attribute、Content
- Schema 系统 - 验证与约束
- 变换器 - 数据转换
- 内置元素 - resource 元素详解
- dpml 包 API - 主包公共 API
- @dpml/core API - 核心库内部 API
- 错误处理 - 错误类型与处理
- 规范管理 - 规范版本与编辑流程
- v1.0 协议规范 (英文) - 语法规范
- v1.0 协议规范 (中文) - 中文版规范
- 白皮书 (英文) - 设计白皮书
- 白皮书 (中文) - 中文版白皮书
dpml/
├── packages/
│ ├── dpml/ # 主包 - 公共 API
│ └── core/ # 核心库 - 解析、验证、转换
├── bdd/ # BDD 测试
│ ├── features/ # Gherkin 特性文件
│ └── steps/ # 步骤定义
└── specs/ # 语言规范
└── v1.0/ # v1.0 协议规范
创建 DPML 实例。
const dpml = createDPML({
schema: Schema,
transformers: Transformer[]
});方法:
compile<T>(content: string): Promise<T>- 解析、验证并转换 DPML 内容parse(content: string): DPMLDocument- 解析 DPML 内容为文档对象validate(content: string): ValidationResult- 根据 Schema 验证内容
定义用于验证 DPML 文档的 Schema。
定义用于转换处理结果的 Transformer。
<prompt>
<resource src="arp:text:file://./config.md"/>
<resource src="deepractice.ai/sean/knowledge@1.0"/>
</prompt>| 协议 | 格式 | 示例 |
|---|---|---|
arp |
以 arp: 开头 |
arp:text:file://./config.md |
rxl |
域名/路径模式 | deepractice.ai/path/name.type@1.0 |
unknown |
其他格式 | 无效或空的 src |
DPML 是 Deepractice AI 基础设施的一部分:
维护者: Deepractice.ai