复刻OpenAI O1大模型

embedded/2024/11/8 23:45:11/

🏡作者主页:点击! 

🤖编程探索专栏:点击!

⏰️创作时间:2024年11月8日15点40分

点击开启你的论文编程之旅icon-default.png?t=O83Ahttps://www.aspiringcode.com/content?id=17266599315514&uid=40b33030de4d4898ae7ba01d8de9dbe4

概述

COT 思维链

COT(Chain of Thought)思维链是一种在大型语言模型中增强推理能力的重要技术。COT的基本理念是模拟人类解决问题时的思维过程,即通过一系列的中间推理步骤来达到最终答案。以下是COT思维链对大型语言模型推理的帮助的详细阐述:

分解复杂问题:大型语言模型在处理复杂问题时,可能会直接给出答案而忽略中间的推理过程。COT思维链通过将问题分解为一系列更简单的子问题,帮助模型逐步推理,从而更好地理解和解决复杂问题。
提供解释性:COT使得模型在给出答案的同时,也能展示出如何通过一系列逻辑步骤得到这个答案。这种解释性不仅有助于验证模型答案的正确性,还能增强用户对模型决策过程的信任。
增强推理能力:通过训练模型生成思维链,模型学习到了如何进行逻辑推理和规划。这种方法使模型能够在面对新的、未见过的任务时,利用学到的推理能力来解决。
提高泛化能力:COT思维链训练让模型在面对多样化的任务时能够更好地泛化。即使是在训练数据中没有直接出现的问题,模型也能够通过推理步骤来解决。
引导模型注意力:在生成思维链的过程中,模型需要关注问题的关键部分,这有助于模型集中注意力在问题的解决上,而不是无关紧要的细节。
错误检测与纠正:在推理过程中,模型可能会在某个步骤出错。COT允许模型在后续的推理步骤中发现并纠正这些错误,从而提高整体推理的准确性。
学习人类思维模式:通过模仿人类的思维链,模型能够更好地理解人类的思考方式,这在人机交互和协作中尤为重要。
具体到技术实现上,COT通常通过以下步骤对大语言模型进行增强:

示例引导(Example-Guided):在训练时,提供包含中间推理步骤的示例,引导模型学习如何构建思维链。
强化学习(Reinforcement Learning):使用强化学习技术来优化思维链的生成过程,通过奖励正确的推理步骤来改进模型。
迭代式Bootstrap:通过迭代过程,模型首先生成一个初步的思维链,然后不断改进这个链,直到得出正确的答案。

页面设计-streamlit

本代码采用了streamlit进行前后端的页面展示。
Streamlit 是一个开源的Python库,旨在简化数据科学家和机器学习工程师的数据应用开发过程。通过Streamlit,用户可以快速构建和部署用于数据可视化和机器学习模型展示的Web应用程序,而无需具备前端开发经验。

以下是Streamlit的一些主要特点和优势:

主要特点:
易用性:Streamlit的设计哲学是“最少代码,最大效果”。用户只需几行Python代码,就能创建一个交互式的Web应用。
交互性:Streamlit支持创建具有滑动条、下拉菜单、文本输入等交互元素的应用程序,使得用户可以实时与数据进行交互。
实时重载:当用户的代码发生变化时,Streamlit能够自动重新运行脚本,实时更新Web应用,无需手动刷新页面。
丰富的数据展示:Streamlit支持多种数据可视化工具,如Matplotlib、Altair、Plotly等,以及视频、音频和地图等多种媒体格式。
集成机器学习模型:Streamlit能够轻松集成机器学习模型,允许用户通过Web界面进行模型预测和结果展示。

核心逻辑

qwen2.5调用示例

from openai import OpenAI
os.environ['DASHSCOPE_API_KEY']=''
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务的base_url
)

核心提示词

您是一名具有高级推理能力的专家AI助手。您的任务是提供详细、逐步的解释您的思考过程。对于每个步骤:提供一个清晰、简洁的标题,描述当前的推理阶段。
在内容部分详细阐述您的思考过程。
决定是继续推理还是提供最终答案。
响应格式: 使用JSON,关键字包括:‘title’(标题),‘content’(内容),‘next_action’(值:'continue’继续或’final_answer’最终答案)关键指示:使用至少5个不同的推理步骤。
承认作为AI的局限性,明确说明您能做什么和不能做什么。
积极探索和评估替代答案或方法。
批判性地评估自己的推理;识别潜在的缺陷或偏见。
在重新审视时,采用根本不同的方法或视角。
使用至少3种不同的方法来推导或验证您的答案。
在推理中融入相关的领域知识和最佳实践。
在适用的情况下,为每个步骤和最终结论量化确定性水平。
考虑您的推理可能存在的边缘情况或例外。
提供明确的理由来排除替代假设。

注:完整代码在附件中,使用代码步骤如下:
1.注册阿里百炼平台账号,申请api_key
2.在代码指定位置填写api_key
3.安装所需要的依赖环境(python环境在3.8以上即可)

pip install -r requirements.txt

因为是使用的不是本地大模型,因此不需要GPU和pytorch也可运行
4.运行指令 

streamlit run app_qwen2_5.py

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

   


http://www.ppmy.cn/embedded/136020.html

相关文章

可视化神经网络训练tensorflow.org

通过图像和动画的形式,解释深度学习是如何一步步简化复杂的事物的。 能够设置数据分布类型和测试集比例,批量大小、隐藏层、神经元个数,点击运行后就能直观的看到神经网络的训练过程演示,简直是深度学习初学者的福音。 TensorFl…

非计算机背景但是想从事医学AI研究,需要掌握的编程语言|个人观点·24-11-08

小罗碎碎念 目前,我们从事医学AI研究的,接触的最多的两种编程语言应该就是R和Python了。那么初学者很容易提出一个疑问,**我想从事医学AI相关的研究的话,应该学哪些编程语言呢?**在文章的开头,我可以先给出…

音视频入门基础:H.264专题(17)——FFmpeg源码中,获取H.264视频的profile的实现

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

聊一聊Elasticsearch的基本原理与形成机制

1、搜索引擎的基本原理 通常搜索引擎包括:数据采集、文本分析、索引存储、搜索等模块,它们之间的协作流程如下图: 数据采集模块负责采集需要搜索的数据源。 文本分析模块是将结构化数据中的长文本切分成有实际意义的词,这样用户…

泷羽sec学习打卡-shodan扫描5

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于shodan的那些事儿-5 一、shodan5如何利用shodan去搜索一个网段的?网段各个参数是什么意思…

C++20 STL CookBook2 更强大的编译时 + 安全比较 + spaceship比较符

目录 使用编译时vector和字符串相关的上下文变量 安全的比较整数 <> :) 使用编译时vector和字符串相关的上下文变量 在大部分C语言程序中&#xff0c;我见过不少人是这样使用常量字符串的&#xff1a; #define STR "Hello, C" 然后可能传递进入一些函数做…

ORACLE _11G_R2_ASM 常用命令

--------查看磁盘组&#xff0c;(空间情况) select name,state,free_mb,total_mb,usable_file_mb from v$asm_diskgroup; --------查看磁盘情况 select GROUP_NUMBER,free_mb,total_mb,disk_number,MOUNT_STATUS,mode_status, HEADER_STATUS,name,PATH from v$asm_disk order …

window10解决 docker is starting 问题

win10 需要开启 Hyper-V。 在程序和功能中开启服务Server (不开启的话&#xff0c;安装完会报错) 安装toolbox 最新版 Toolbox 下载地址&#xff1a; 访问 https://www.docker.com/get-started&#xff0c;注册一个账号&#xff0c;然后登录。 点击 Get started with Docke…