惊雷又来了,用含义类型化提示MTP:更高效地提示LLM结构化输出,支持图片视频
在人工智能技术快速发展的今天,大语言模型(LLM)已经展现出惊人的能力。然而,让这些模型生成规范的结构化输出仍然是一个难以攻克的技术难题。不论是在开发自动化工具、构建特定领域的解决方案,还是在进行开发工具集成时,都迫切需要LLM能够产生格式严格、内容可靠的输出。今天的这篇文章内容很简单,但用途却非常广泛,MTP(Meaning Typed Prompting)是一种新的提示词技术,它的主要目的是让
在人工智能技术快速发展的今天,大语言模型(LLM)已经展现出惊人的能力。然而,让这些模型生成规范的结构化输出仍然是一个难以攻克的技术难题。不论是在开发自动化工具、构建特定领域的解决方案,还是在进行开发工具集成时,都迫切需要LLM能够产生格式严格、内容可靠的输出。
今天的这篇文章内容很简单,但用途却非常广泛,MTP(Meaning Typed Prompting)是一种新的提示词技术,它的主要目的是让AI生成更规范、更可靠的结构化输出,关键它还支持多模态输出!!!

MTP就像是一个"模板语言",告诉这个助手:"我要的答案必须是这个格式,每个部分都有特定的含义和规则。"使用MTP的好处是:输出格式统一,数据更容易处理,错误更少,AI更容易理解你的要求。使用MTP也很简单,第一步:定义你要什么;第二步,说明含义;第三步,要求输出格式。
01
结构化输出困境
当前业界普遍采用的解决方案主要依赖于零样本或少样本提示技术。开发人员需要提供JSON模板或Schema来定义期望的输出格式,然后通过后处理步骤来提取和验证生成的数据。这种方法存在多个严重的问题:

1. 过度依赖JSON Schema导致模型推理能力受限
2. 详细的Schema定义会大量增加token消耗
3. 难以保证语法的正确性,经常产生无效输出
4. 需要投入大量人力编写和维护提示模板
5. 系统适应性差,难以快速响应需求变化
6. 输出质量不稳定,需要频繁进行修正和验证
02
MTP技术原理深度解析
核心思想突破
含义类型化提示(Meaning Typed Prompting, MTP)技术的提出,标志着结构化输出生成领域的一次重要突破。它的核心思想可以概括为三个方面:
1. 类型系统的创新: 扩展传统的内置类型和自定义类型系统,引入自然语言表达的类型定义方式。这种创新让类型定义不再是冰冷的符号,而是具有丰富语义的描述。
2. 表示方式的改进: 摒弃繁琐的JSON Schema,转而采用更直观的Python类表示方式来请求结构化输出。这一改变大大降低了系统复杂度,提升了开发效率。
3. 语义信息的融入: 将语义信息直接嵌入到提示中,减少对外部抽象的依赖。这种方式让模型能够更好地理解任务要求,产生更精准的输出。
03
技术架构详解
MTP的提示分为两个部分,System Message 和 User Message

MTP的技术架构包含以下几个关键组件:
1. Python类表示系统
传统的JSON Schema方式:
{
"properties":{
"first_name":{"title": "First Name", "type": "string"},
"last_name":{"title": "Last Name", "type": "string"},
"yob":{"title": "Year of Birth", "type": "integer"},
"likes":{
"items":{"type": "string"},
"title": "Interests",
"type": "array"
}
},
"required":["first_name", "last_name", "yob", "likes"],
"title": "Person",
"type": "object"
}
MTP的Python类表示方式:
Person (Class) -> Person(
first_name: str,
last_name: str,
yob: int,
likes: list[str]
)
这种表示方式带来的优势包括:
- 代码量显著减少,提高了可读性
- 减少特殊字符使用,降低token消耗
- 更符合Python开发者的习惯
- 便于维护和修改
- 支持IDE的代码补全和类型检查
2. 表达性类型定义系统
MTP允许开发者使用自然语言来增强类型定义的语义表达:
Person (Class) -> Person(
first_name: str - "Given name of the person",
last_name: str - "Family name of the person",
yob: int - "Year of Birth (e.g., 1990)",
likes: list[str] - "List of favorite activities and interests",
location: Semantic[str, "City, Country format"] - "Current residence location",
status: Semantic[str, "Active | Inactive | Pending"] - "Account status"
)
这种定义方式的优势:
1. 提供了清晰的语义上下文
2. 减少了理解歧义
3. 支持复杂的类型约束
4. 便于文档生成
5. 提高了代码的自解释性
3. 提示组件系统
MTP提示包含以下核心组件:
1. 目标声明:
@llm.enhance("Extract structured information from user profile")
2. 信息上下文:
Information(
examples=[
Person(first_name="John", last_name="Doe", ...),
Person(first_name="Jane", last_name="Smith", ...)
],
context="Consider cultural variations in name formats"
)
3. 输出类型定义:
Output[Person] _# 指定返回类型为Person对象_
4. 输入参数:
def extract_profile(
text: str - "Raw profile text",
language: str - "Profile language"
) -> Person:
pass
04
Semantix框架实现细节
语义类型系统实现

Semantix框架实现了一个强大的语义类型系统:
class Semantic(Generic[T, S]):
def __init__(self, base_type: T, semantic: S):
self.base_type = base_type
self.semantic = semantic
def validate(self, value: Any) -> bool:
# 实现类型验证逻辑
pass
Semantix是一个Python库,可自动生成意义类型的提示。Semantix允许开发人员通过添加名为enhance的装饰器来将简单函数增强为增强功能。语义类型提示允许开发人员添加富有表现力的类型定义。上图Semantix将Types、Variables、Functions和Main Function合并为一个增强函数,该函数在运行时生成MTP。下图有详细的运行示例。
05
实验评估详细分析


1. 多标签分类任务
性能分析:
- Semantix在准确率上领先其他框架
- Token使用效率处于较好水平
- 具有极高的可靠性
2. 命名实体识别任务
性能分析:
- Semantix在Token效率上有明显优势
- 准确率与其他框架相当
- 整体性能表现均衡
3. 合成数据生成任务
性能分析:
- Semantix保持了极高的可靠性
- 数据多样性表现良好
- Token使用量最优
06
实际应用案例
**安装很简单,一条命令就搞定了:
**

**示例一:**还是用那道你已经很熟悉的题目,草莓strawberry这个单词里有几个"r"?

**示例二:**再找一张小票,能分析这张小票,也能分析一下Video:

**示例三:**食品分析案例利用多模态LLM通过CoT来识别拉面中的营养数据,包括卡路里、蛋白质、碳水化合物、脂肪、纤维和钠水平。



我运行的结果:
FoodAnalysis(nutrition_info=NutritionInformation(calories=650, protein=30, carbohydrates=75, fats=25, fiber=5, sodium=1500), ingredients=[‘wheat noodles’, ‘chicken or pork’, ‘soft-boiled eggs’, ‘shiitake mushrooms’, ‘broth’, ‘nori seaweed’, ‘leafy greens’], health_rating=‘Moderately Healthy - high protein and balanced nutrients but high in sodium’)
模型不一致,图片清晰度不一致,导致图片识别存在误差。
MTP技术的出现为LLM结构化输出生成提供了一个新的解决方案。通过将语义信息直接嵌入到类型定义中,它既保持了系统的简单性,又实现了更好的性能表现。对于正在开发AI应用的朋友们来说,MTP提供了一个强大而灵活的工具,有助于提高开发效率和输出质量,我用模型网页界面和代码分别向您展示了MTP技术的结果。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
更多推荐


所有评论(0)