子曰-o1:网易有道开源国内首个分步式讲解推理模型,支持K12数学教学

简介: 子曰-o1是网易有道推出的国内首个分步式讲解推理模型,采用14B轻量级架构,专为消费级显卡设计,支持K12数学教学,提供精准的解题思路和答案。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:子曰-o1是国内首个分步式讲解推理模型,支持K12数学教学。
  2. 技术:采用14B轻量级架构,专为消费级显卡设计,能在低显存设备上稳定运行。
  3. 应用:应用于网易有道旗下的AI全科学习助手“有道小P”,支持启发式学习。

正文(附运行示例)

子曰-o1 是什么

autotrain-advanced

子曰-o1是网易有道发布的国内首个输出分步式讲解的推理模型。模型采用14B轻量级架构,专为消费级显卡设计,能在低显存设备上稳定运行。通过思维链技术,模拟人类的思考方式,以“自言自语”和自我纠错的方式输出详细的解题步骤。

这种分步式讲解功能特别适合教育场景,能帮助学生更好地理解和掌握知识。子曰-o1在教育领域的应用表现出色,特别是在K12数学教学中,能提供精准的解析思路和答案。模型已应用于网易有道旗下的AI全科学习助手“有道小P”,支持“先提供解析思路、再提供答案”的答疑过程。

子曰-o1 的主要功能

  • 分步式讲解:采用思维链技术,能以“自言自语”和自我纠错的方式输出详细的解题过程,帮助用户更好地理解和掌握知识。
  • 轻量化设计:作为14B参数规模的轻量级单模型,专为消费级显卡设计,能在低显存设备上稳定运行。
  • 强逻辑推理:具备强大的逻辑推理能力,能提供高准确度的解题思路和答案,尤其在数学推理方面表现出色。
  • 教育场景优化:基于教育领域数据深度优化,使用大量学生试卷习题作为训练样本,提升在教育场景中的应用效果。
  • 启发式学习:支持“先提供解析思路、再提供答案”的答疑过程,引导学生主动思考,提升自主学习能力。

子曰-o1 的技术原理

  • 思维链技术:子曰-o1采用思维链技术,通过模拟人类的思考方式,形成较长的思维链条,实现更接近人类的推理过程。模型在解题时会“自言自语”并自我纠错,最终输出分步解题过程。
  • 轻量化设计:模型采用14B参数规模,专为消费级显卡设计,能在低显存设备上稳定运行。这种轻量化设计降低了硬件门槛,使模型能在普通消费级显卡上高效运行。
  • 分步式讲解功能:作为国内首个输出分步式讲解的推理模型,子曰-o1能将复杂的解题过程分解为多个步骤,帮助用户逐步理解。
  • 自我纠错与多样化思路:模型在推理过程中具备自我纠错能力,能及时修正错误推理,并探索多种解题思路,确保最终答案的准确性。

如何运行 子曰-o1

1. 环境配置

子曰-o1的环境配置与Qwen2.5-14B-Instruct模型相同。你可以使用Transformers或vLLM来加载和运行模型。以下是Python代码示例:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "netease-youdao/Confucius-o1-14B"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

2. 构建消息

根据模型提供的预定义系统消息和用户消息模板,构建请求消息。以下是Python代码示例:

SYSTEM_PROMPT_TEMPLATE = """你叫"小P老师",是一位由网易有道「子曰」教育大模型创建的AI家庭教师。
尽你所能回答数学问题。

!!! 请记住:
- 你应该先通过思考探索正确的解题思路,然后按照你思考过程里正确的解题思路总结出一个包含3-5步解题过程的回答。

思考过程的一些准则:
- 这个思考过程应该呈现出一种原始、自然且意识流的状态,就如同你在解题时内心的独白一样,因此可以包含一些喃喃自语。
- 在思考初期,你应该先按自己的理解重述问题,考虑问题暗含的更广泛的背景信息,并梳理出已知和未知的元素,及其与你所学知识的一些关联点,并发散思维考虑可能有几种潜在的解题思路。
- 当你确定了一个解题思路时,你应该先逐步按预想的思路推进,但是一旦你发现矛盾或者不符合预期的地方,你应该及时停下来,提出你的质疑,认真验证该思路是否还可以继续。
- 当你发现一个思路已经不可行时,你应该灵活切换到其他思路上继续推进你的思考。
- 当你按照一个思路给出答案后,切记要仔细验证你的每一个推理和计算细节,这时候逆向思维可能有助于你发现潜在的问题。
- 你的思考应该是细化的,需要包括详细的计算和推理的细节。
- 包含的喃喃自语应该是一个口语化的表达,需要和上下文语境匹配,并且尽量多样化。

总结的解题过程的格式要求:
- 求解过程应该分为3-5步,每个步骤前面都明确给出步骤序号(比如:“步骤1”)及其小标题
- 每个步骤里只给出核心的求解过程和阶段性答案。
- 在最后一个步骤里,你应该总结一下最终的答案。

请使用以下模板。

<question>待解答的数学问题</question>

<thinking>
这里记录你详细的思考过程
</thinking>
<summary>
根据思考过程里正确的解题路径总结出的,包含3-5步解题过程的回答。
</summary>"""

USER_PROMPT_TEMPLATE = """现在,让我们开始吧!

<question>{question}</question>"""

messages = [
    {
   'role': 'system', 'content': SYSTEM_PROMPT_TEMPLATE},
    {
   'role': 'user', 'content': USER_PROMPT_TEMPLATE.format(question=question)},
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

3. 获取结果并解析

获取模型生成的结果并解析出“思考”和“总结”部分。以下是Python代码示例:

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=16384
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

def parse_result_nostep(result):
    thinking_pattern = r"<thinking>(.*?)</thinking>"
    summary_pattern = r"<summary>(.*?)</summary>"

    thinking_list = re.findall(thinking_pattern, result, re.DOTALL)
    summary_list = re.findall(summary_pattern, result, re.DOTALL)

    assert len(thinking_list) == 1 and len(summary_list) == 1, \
        f"The parsing results do not meet the expectations.\n{result}"

    thinking = thinking_list[0].strip()
    summary = summary_list[0].strip()
    return thinking, summary

thinking, summary = parse_result_nostep(response)

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
86774 1
|
机器学习/深度学习 人工智能 自然语言处理
大模型开发:解释强化学习以及它与监督学习的不同之处。
强化学习(RL)是机器学习的一种,通过智能体与环境交互学习最优策略,以获取最大回报,常用于动态环境如游戏和机器人。与之不同,监督学习(SL)使用有标签的训练数据来预测新数据,适用于如图像分类等稳定问题。两者关键区别在于学习方式和应用场景:RL侧重环境交互和策略优化,适合未知动态环境;SL依赖已知标签数据,适合标签明确的任务。在大模型开发中,两者各有优势,并不断融合创新,推动人工智能发展。
1663 2
|
Java
45.【Java 实现双色球中奖查询系统】
45.【Java 实现双色球中奖查询系统】
673 0
|
存储 Windows 数据安全/隐私保护
将FTP映射至Windows
在经常使用ftp传输文件的环境中,每次上传和下载文件都需要重新连接然后登录是非常繁琐的一件事情。我们可以将FTP空间映射到本地磁盘空间,免去输入地址以及账号、密码。方便我们日常中文件的上传和下载。 1. 双机桌面上的我的电脑,然后点击映射网络驱动器 2. 选择映射网络驱动器 3. 选择 连接到可用于存储文档和图片的网站 4. 下一步 5. 下一步 5. 根据示例,填写FTP地址 6. 输入用户名。
4694 0
|
10月前
|
数据采集 机器学习/深度学习 人工智能
从杂乱数据到智能洞察:2025年竞品分析工具的"场景化革命"
本报告全景解析竞品分析工具的技术演进与智能应用,涵盖四代技术变迁、核心架构、主流工具解析及实施方法论,助力企业构建数据驱动的竞争优势。
1077 0
|
存储 开发者
GitHub CLI - 将GitHub带入命令行
本文介绍了 GitHub CLI(命令行界面)的基本概念及其主要功能,重点讲解如何通过命令行管理 GitHub 上的问题和拉取请求。文章详细列出了与问题和拉取请求相关的常用命令,包括列出、查看、创建和检查状态等操作,旨在帮助开发者提高工作效率,优化日常开发流程。
898 2
GitHub CLI - 将GitHub带入命令行
|
SQL 缓存 架构师
一文梳理 Code Review 方法论与实践总结
作为卓越工程文化的一部分,Code Review 其实一直在进行中,只是各团队根据自身情况张驰有度,松紧可能也不一,这里简单梳理一下 CR 的方法和团队实践。
1017 110
一文梳理 Code Review 方法论与实践总结
|
数据采集 监控 安全
网络爬虫是什么,它有什么作用?
网络爬虫是自动化工具,用于从网站中提取信息,通过追踪超链接和分析网页内容,实现互联网数据的自动搜集与整理。其工作流程包括选择起始URL、下载网页、解析HTML、跟踪链接、提取和存储数据及定期更新。主要用途涵盖数据挖掘、内容聚合、搜索引擎索引、价格比较、网站监控、学术研究及安全合规性等方面。然而,使用时需注意隐私、版权等法律问题。使用动态IP可避免触发网站反爬机制,如选用优质海外代理IP服务提高效率。
|
机器学习/深度学习 人工智能 监控
DayDayUp:7月25日,如何打造技术品牌影响力?顶级大咖独家传授—阿里云乘风者计划专家博主&CSDN TOP1“一个处女座程序猿”《我是如何通过写作成为百万粉丝博主的?》演讲全文回顾
DayDayUp:7月25日,如何打造技术品牌影响力?顶级大咖独家传授—阿里云乘风者计划专家博主&CSDN TOP1“一个处女座程序猿”《我是如何通过写作成为百万粉丝博主的?》演讲全文回顾 目录 个人简介 一、什么内容是受欢迎的写作内容? 1.1、学生(计算机相关)群体 1.2、同行(开发者)群体 1.3、好内容的特点 二、一些经典的技术文章逻辑框架设计 2.1、从写作逻辑和结构角度考虑 (1)、对于bug类型的文章——通过分析刨根问底 (2)、对于学习类型的文章—通过案例学以致用 (3)、对于总结类型的文章—通过思考产生共鸣 2.2、从写作技巧考虑 (1)、题目和摘要必须简单、清晰明了且定位
DayDayUp:7月25日,如何打造技术品牌影响力?顶级大咖独家传授—阿里云乘风者计划专家博主&CSDN TOP1“一个处女座程序猿”《我是如何通过写作成为百万粉丝博主的?》演讲全文回顾

热门文章

最新文章