手动创建 Openai-O1

type
status
date
slug
summary
tags
category
icon
password

一、Openai-o1

2024年9月12日,天空一声惊响,草莓(openai-o1前身)闪亮登场。鸽了半年,万众期待的🍓终于上线。OpenAI o1 能进行推理复杂人物,并解决比以前的科学、编码和数学模型更难的问题。那么怎么才能使用OpenAI o1 呢?有两种方式
  • 订阅chatGPT plus网页版,能选择使用 OpenAI-o1 30条/周,OpenAI-o1 mini 50条/周
  • OpenAi-o1 开发者账户,每月api 请求量 1000$(7400¥) 以上能调用 1000次/分钟
 
这两种方式,对国内用户都不怎么友好,自从 OpenAi 封禁大陆网络之后情况更加严峻。
在国内大模型厂商还没跟进 o1 全新的版本出相关模型之前,我们怎么体验 o1 的强大呢?
在这里,将用 dify 平台和 Qwen2.1 70B 手搓一个 o1。
 

二、OpenAI-o1 原理

(1)思维链

  • 要徒手实现一个 OpenAI-o1 ,首先得理解他原理,根据已经释放出来的数据和测试,OpenAI-o1 很有可能是由至少3个基础模型,经过 COT(思维链)方式。
  • COT(思维链)是 prompt engineeing (提示词工程)一个技能,用于减少大模型的幻觉产生。自从提出来之后,经历了许多的变种。
 
首先来看图
notion image
  • (IO)最左边的就是我们最经常与大模型交互的形式,直接对话⇒输出
  • (COT) 这就是,零样本COT,通过添加一句魔法词, let’s think step by step(让我们逐步思考)
  • (COT-SC)自洽性COT,通过生成多个推理链路,选择出现频率最高的答案,以提高一致性和准确性
  • (TOT)思维树,将问题分为多个小问题,并且解决问题过程为树状,每个节点代表一个中间状态或者思考步骤,然后可以探索作中可能的解决路径,并抉择最佳的一个
 
总的来说,思维链,就是给时间大模型,引导大模型进行思考
 

(2)OpenAI-o1 思维链路实现方式

notion image
  • 由图得知,OpenAi-o1 的思维链(COT)的实现逻辑如下
    • 获取用户输入,进行思考,解答(步骤1)
    • 将步骤1,所有内容作为,步骤2输入
    • 将步骤2,所有内容作为,步骤3输入
    • 最后汇总分析,将分析结果输出,其他所有过程内容隐藏
 

三、Dify 构建OpenAI-o1

  • 使用dify 构建OpenAi-o1 工作流,我这里选用基础模型是,GPT-4o,当然也可以选择免费版本(Qwen2-70B、Llama3.1 405B)也有不错的效果。
  • 实现的指令集和 工作流 DLS 会放在文章末尾
 
  • 整体实现链路如下
notion image
 
  • 具体逻辑如下
notion image
  • 对用户的问题进行分解,然后将每个小问题进行解答,最后把问题+小问题答案汇总分析解答。
 

四、测试效果

 
  • 经典小数问题
notion image
 
  • 草莓(strawberry)文本问题
notion image
 
  • 鸡兔同笼问题
notion image
 
  • 由此可见,思维链(COT)结合模型基座,回答质量提升不少

五、附录

1,Dify OpenAI-o1 工作流,直接导入即可

 

2,体验入口

 

3,指令集

(1)问题步骤拆分
 
(2)步骤分析推理
 
 
(3)问题+上下文答案+最后解惑
4⃣️工作流创作rag机器人2024/7/18——Aigc
Loading...
目录