链载Ai

标题: 通过prompt让大语言模型更好地输出结构化的内容,是通往复杂应用的基石 [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: 通过prompt让大语言模型更好地输出结构化的内容,是通往复杂应用的基石

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在基于大型语言模型的应用开发中,AI生成的输出通常需要进行后处理才能投入实际使用。为此,结构化输出扮演着关键角色 - 它为大语言模型提供了标准化的数据接口,不仅确保了数据的一致性和可靠性,更是构建复杂系统的基石。通过结构化输出,大语言模型得以作为更大系统中的可信赖组件,实现无缝集成。

本文分享了一些常见的让大模型输出结构化内容的方法

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">只需要将下文所给的片段添加到你们自己的提示词中即可,在GPT和Claude下效果都很不错。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding-right: 0.2em;padding-left: 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">一些总结

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;background: rgb(28, 29, 33);color: rgb(192, 197, 206);letter-spacing: normal;text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;">•?不同模型对prompt格式的偏好不同
◦?GPT和Gemini更喜欢markdown
◦?Claude更喜欢XML
•⚡关于流式
◦⏱界面上需要快速响应的场景
◦❌XML,Json,等需要标签闭合的场景不太适合流式(强行也能写,就是麻烦了),可以考虑Jsonl、markdown、bulletlist、自定义格式等可以边输出边解析的格式
•?使用方法
◦?将下面的OUTPUTINSTRUCTIONS拼接到原始prompt中即可,建议放到输入之前
◦?️如果还是有边缘场景,再增加一个EXAMPLE约束,给三五个示例:输出示例,或者是输入-输出示例
▪?可以在prompt中拼接
▪?‍?‍?也可以通过role=user,role=assistant来组织
◦?使用Prefill技巧,比如"接下来输出markdown:","接下来输出json,{"
▪?可以在prompt中拼接
▪?‍?‍?也可以通过role=user,role=assistant来组织
◦⚠️如果还是不行,先通过prompt确保输出范围可控,再到代码中增加正则表达式兜底
◦?最后再不行就要考虑重试和界面报错
◦?工程上还能做的事情
▪?考虑使用更小的temperature
▪?使用logit_bias参数严格控制输出范围和概率

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding-right: 0.2em;padding-left: 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">一些开箱即用的片段OUTPUT INSTRUCTIONS


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);">自由 markdown

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(15, 76, 129);">OUTPUT INSTRUCTIONS

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);">限定分组的 markdown

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(15, 76, 129);">OUTPUT INSTRUCTIONS

markdown 项目符号列表

OUTPUT INSTRUCTIONS

markdown 有序列表

OUTPUT INSTRUCTIONS

markdown 表格

OUTPUT INSTRUCTIONS

YAML

OUTPUT INSTRUCTIONS

json

需配合具体业务场景,在Example给出详细字段说明和示例,或者给出jsonschema:
##JSON示例
{
"key1":"value1",
"key2":"value2",
"key3":{
"subKey1":"subValue1",
"subKey2":"subValue2"
}
}
OUTPUT INSTRUCTIONS

jsonl

OUTPUT INSTRUCTIONS

csv

OUTPUT INSTRUCTIONS

XML

OUTPUT INSTRUCTIONS

PlantUML

OUTPUT INSTRUCTIONS

mermaid

OUTPUT INSTRUCTIONS

跟随输入

OUTPUT INSTRUCTIONS

输出为特定语言

OUTPUT INSTRUCTIONS








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5