家人们,最近o1的热度这么高,大家有开始使用嘛!
作为OpenAI全新推出的推理模型,o1与GPT系列的主要区别在于,它是首个高度专注于推理的模型,用有更深入的思考能力。
昨天晚上,OpenAI 放出来了如何使用o1的提示词官方教程!大家快Mark起来,为高效使用o1做准备吧!
官方链接:https://platform.openai.com/docs/guides/reasoning/advice-on-prompting?reasoning-prompt-examples=research
提示词教程
不同于GPT的“逐步思考”提示词,o1更适合使用简单、直接的提示词。这是因为在处理提示词时,o1的内部机制与GPT存在差异。
总之,o1的提示词,简单才是王道!
- Keep prompts simple and dlirect: The models excel at understanding and responding to brlef. clear instructionswithout the need for extensive guidance.
- 保持提示词简洁明了: o1擅长理解、响应更简短清晰的指令,无需人工在提示词上的过多指导。
- Avoid chain-of-thought prompts: Since these models perform reasoning internally, prompting them to “think stepby step” or “explain your reasoning” is unnecessary.
- 避免链式思维提示: 由于o1在模型内部已执行过推理,因此在提示词中无需提示它们”一步步思考”或”解释推理过程”。
- Use delimiters for clarity: Use delimiters like triple quotation marks, XiML tags, or section titles to clearly indicatedistinct parts of the input, helping the model interpret different sections appropriately.
- 使用分隔符: 使用三重引号、XML标签或章节标题等分隔符, 提示词尽可能结构化,帮助模型正确解读、定位各部分内容。
- Limit additional context in retrieval-augmented generation (RAG): When providing additional context ordocuments, include only the most relevant information to prevent the model from overcomplicating its response
- 不需要提供过多额外的上下文: 在提供额外上下文或文档时,只提供最相关的信息,防止模型过度复杂化响应提示词内无关的信息。
代码生成的提示样例
o1相较于GPT有能够实现更复杂、完整的算法代码的能力,官方为了让大家能够更好得使用o1生成完成度更高的代码,提供了一些代码生成的API调用的模版样例:
特定功能:要求o1根据特定条件重构一个React组件
特定条件提示词:
- 生成React 组件的代码,使得非小说类书籍的文本的颜色为红色
- 在回复中只返回代码
- 不要包含任何额外的格式如 Markdown 代码块
- 格式化输入,使用四个空格的制表符,并且不允许任何一行代码超过80列
from openai import OpenAI
client = OpenAI()
prompt = """
Instructions:
- Given the React component below, change it so that nonfiction books have red
text.
- Return only the code in your reply
- Do not include any additional formatting, such as markdown code blocks
- For formatting, use four space tabs, and do not allow any lines of code to
exceed 80 columns
const books = [
{ title: 'Dune', category: 'fiction', id: 1 },
{ title: 'Frankenstein', category: 'fiction', id: 2 },
{ title: 'Moneyball', category: 'nonfiction', id: 3 },
];
export default function BookList() {
const listItems = books.map(book =>
<li>
{book.title}
</li>
);
return (
<ul>{listItems}</ul>
);
}
"""
response = client.chat.completions.create(
model="o1-mini",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": prompt
},
],
}
]
)
print(response.choices[0].message.content)
多步骤完成系统结构:创建一个文件系统结构
提示词:
- 构建一个Python代码接收用户的问题,并在数据库中查找这些问题对应的答案
- 如果存在接近的匹配,它将检索匹配的答案,如果没有,它会要求用户提供答案,并将问题/答案对存储在数据库中
- 请为你需要的目录结构制定一个计划,然后返回每个文件的完整内容。只在代码的开始和结束时提供你的推理,不要贯穿整个代码
from openai import OpenAI
client = OpenAI()
prompt = """
I want to build a Python app that takes user questions and looks them up in a
database where they are mapped to answers. If there is close match, it retrieves
the matched answer. If there isn't, it asks the user to provide an answer and
stores the question/answer pair in the database. Make a plan for the directory
structure you'll need, then return each file in full. Only supply your reasoning
at the beginning and end, not throughout the code.
"""
response = client.chat.completions.create(
model="o1-preview",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": prompt
},
],
}
]
)
print(response.choices[0].message.content)
o1 = AGI?
就在两天前,OpenAI科学家、o1核心贡献者Hyung Won Chung在麻省理工进行了公开演讲,演讲主题为“Don’t teach. Incentivize(不要教,要激励),演讲中的一些内容灰常有意思!奶茶带大家来一起看下~
这是不一样的东西
研究团队谈到,当他们认识到自己想做一个具备推理能力的模型,首先想到的就是人类记录其思维推演的过程,所以,他们在这样的动机下,开始设计、训练模型。
在早期o1模型上的实验验证,研究团队发现,在考验模型推理能力的最主要测试-数学中,o1已经开始显露大幅提升了效果!而且最令研究团队最激动人心的发现是–模型终于开始自我反思、质疑自己!研究团队认识到,这是不一样的东西!
在过去,AGI的概念似乎是抽象的、遥不可及的,但是当亲眼见证大语言模型AI能够在过去人类做的好的事情上做的更好,研究团队们开始相信AGI是总有一天会到来的!
教AI也是只能授人以渔
研究团队提出训练AI同样要“授人以鱼不如授人以渔”,要让AI知道鱼的美味,但是让他保持饥饿,只有这样AI才会主动去学习如何钓鱼。通过激励而非直接指导的方式,对人类来说可能需要更多时间,但对于深度学习系统,通过增加计算资源,可以在较短时间内完成同等训练。
机器不受人类时间限制的约束,因此在特定领域上是有可能超越人类专家的水平。这就像动漫《龙珠》中的”精神与时间之屋”,在里面训练一年的时间,外界仅过去一天,时间流速比率高达365倍。对于深度学习系统,通过高效计算和大量数据叠加,这个时间压缩比率可以更高!
在GPT的训练中,OpenAI的研究团队就已经开始采用了弱激励学习(Weak Incentive Learning)。与其直接向模型灌输某种技能,更有效的方法是通过提供弱激励,使模型在面对众多任务时能够自主地发展出解决问题的通用能力。
例如:训练模型预测下一个词,模型不仅学会了语言的结构,还学会了如何在缺乏明确指示的情况下推导出复杂的答案。
会持续出现涌现能力
随着模型规模的不断增加,研究团队观察到o1类推理模型以及其他大语言模型在处理问题时都开始逐渐展现一些“新能力”。
这些能力并不是事先设定的,而是在模型训练过程中通过自我学习逐渐显现的。
例如,即使在未经特别训练推理或数学技能的情况下,模型意外地展示出高级的推理和数学解题能力。随着模型规模的增长,这种涌现的能力会自然出现,特别是当模型面对多样化的任务时。
文章来源“夕小瑶科技说”,作者“付奶茶”
发评论,每天都得现金奖励!超多礼品等你来拿
登录 后,在评论区留言并审核通过后,即可获得现金奖励,奖励规则可见: 查看奖励规则