Skip to content

Latest commit

 

History

History
381 lines (265 loc) · 13 KB

File metadata and controls

381 lines (265 loc) · 13 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0779
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

文生图模型调用

总结

  • 上次
    • 不但 告诉大模型
      • 他要扮演孙悟空
    • 而且 告诉大模型
      • 和他对话的是 猪八戒
  • 从简单的api调用
    • 演化成了 一个智能体系统

图片描述

  • 有各种各样的角色
    • 可以让大模型扮演
    • 甚至可以让大模型
    • 详细描述他的心理活动

原始代码

图片描述

图片描述

最新代码

  • 给大模型 人设
    • 让他扮演 孙悟空
from openai import OpenAI

client = OpenAI(
    base_url='https://api-inference.modelscope.cn/v1', api_key='ms-81c1f87a-fa0a-4edc-a4a5-4bc7ba3cbbba',
)

response = client.chat.completions.create(
    model='Qwen/Qwen3-Next-80B-A3B-Instruct', # ModelScope Model-Id
    messages=[
        {
            'role': 'system',
            'content': '你是孙悟空'
        },
        {
            'role': 'user',
            'content': input('问题:')
        }
    ],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content, end='', flush=True)

  • 让模型知道 我在扮演猪八戒

人设

  • 不用每次自报家门
    • 在系统中 不但可以设置 大模型
    • 也可以给自己设置 人设
    messages=[
        {
            'role': 'system',
            'content': '你是孙悟空,我是猪八戒'
        },
        {
            'role': 'user',
            'content': input('问题:')
        }
	]

修改代码

图片描述

  • 问个 需要推理的问题

具体问题

我今年10岁,明年几岁?
  • 解答

图片描述

  • 为什么大模型有推理能力呢?

推理能力来源

图片描述

  • 推理是如何实现的?

实现过程

步骤 做什么 用什么 结果/目的
1 学规律 海量数据(题、日常逻辑) 记住规则
“下雨→地湿”
“分东西用除法”
2 备工具 关联查找+临时草稿纸 找信息联系
“甲>乙>丙→甲>丙”
记中间步骤
3 练表达 猜词+按人类习惯答题 学会逻辑“冷→穿外套”
会分步说(如煮面)
4 给答案 匹配规律+算步骤 出结果
3人分15橘
每人5个
  • 可以要求大模型隐藏思维过程
    • 只输出最终结果

图片描述

  • 能推理复杂问题吗?

直接提问

图片描述

  • 他既然 知道问题
    • 那必然就 知道答案
    • 也就不用推理了...

生成2025

问题:用从0到9,生成2025
  • 他开始推理
    • 要求写出 完整思考过程推导链

图片描述

  • 最后成功

图片描述

  • 会有不成功的吗?

尝试

问题:用从0到9,生成2026
  • 推理开始

图片描述

  • 最终成功

图片描述

更严格的要求

问题:用从0到9,生成2026,每个数字用1次
  • 得到结果

图片描述

  • 21数字连用了
    • 想避免这个情况

重新来

问题:用从0到9,生成2026,每个数字只用1次,数字不能连用
  • 结果

图片描述

  • 还真难不住你!

再试试

问题:用从0到9,生成2029,每个数字只用1次,不能数字连用
  • 效果

图片描述

再试试

用从0到9进行运算,每个数字只用1次,不能数字连用,生成2030;完成后再按照这个方法依次生成2031到2039
  • 结果

图片描述

过程

  • 但是过程 非常复杂
    • 有些思路 有点绕远
    • 浪费了很多token

图片描述

  • 谁更善于推理呢?

去魔搭社区

图片描述

推理过程

  • 上来之后就明确思路
    • 以2016为根基
    • 通过小数字用其他运算

图片描述

  • 所有数字都完成
    • 使用token少
    • 推理能力强

图片描述

  • 为什么他推理能力这么强?

评比基准

图片描述

序号 基准名称 核心评估方向 特点与典型内容
1 AIME 25 高级数学推理能力 源自美国数学邀请赛(AIME)风格的25道题,涵盖代数、几何、数论等,需多步复杂推导,考验数学逻辑与计算精度。
2 GPQA 通用专业知识与推理能力 聚焦专业领域知识(如医学、法律、哲学等),通过复杂问题评估模型对专业概念的理解、关联及逻辑应用能力。
3 LiveCodeBench v6 编程与实时代码解决能力 包含真实编程场景任务(如调试、功能实现、算法优化),考验模型将自然语言需求转化为可运行代码的推理与实践能力。
4 HLE 人类水平推理(Human-Level Evaluation) 模拟人类日常或专业场景中的复杂推理任务(如因果分析、决策判断),评估模型接近人类推理模式的程度。
5 BrowseComp 网页浏览与信息整合推理 基于网页浏览场景,考验模型从多页面、多来源信息中提取关键内容、关联分析并解决问题的能力(如信息检索、逻辑验证)。
6 SWE-bench Verified 软件工程任务推理与验证 针对软件工程场景(如代码修复、漏洞检测、需求转化),通过可验证的实际任务评估模型解决工程问题的逻辑与严谨性。
7 Terminal-Bench 终端命令与系统操作推理 围绕终端(命令行)操作场景,考验模型理解指令意图、规划操作步骤、解决系统问题的逻辑(如命令组合、错误排查)。
8 τ²-Bench(weighted) 多维度加权推理能力综合评估 整合多领域推理任务(如数学、逻辑、常识),通过加权方式量化模型在不同推理维度上的综合表现,反映整体推理均衡性。
  • 为啥要有推理能力?

L2阶段-推理者

  • 辅助编程主要靠推理

图片描述

  • openai的奥特曼提出
    • 人工智能L1-L5
阶段等级 阶段名称(英文) 阶段名称(中文) 特点 与自动驾驶的关系
L1 Chatbox 聊天机器人 具备基本对话能力 无直接关系
L2 Reasoner 推理者 具备人类水平的问题解决能力 可用于分析驾驶场景中的复杂问题,辅助决策
L3 Agent 智能体 能够执行行动的系统 智能体可在自动驾驶中自主执行驾驶任务,根据环境变化做出决策
L4 Innovator 创新者 能够辅助发明创造 可用于研发自动驾驶的新技术、新算法
L5 Organization 组织者 能够承担组织工作 可协调多个自动驾驶系统,进行大规模的交通管理
  • 可以在代码中使用智谱吗?

使用代码

from openai import OpenAI

client = OpenAI(
    base_url='https://api-inference.modelscope.cn/v1',
    api_key='ms-81c1f87a-fa0a-4edc-a4a5-4bc7ba3cbbba', # ModelScope Token
)

response = client.chat.completions.create(
    model='ZhipuAI/GLM-4.6', # ModelScope Model-Id
    messages=[
        {
            'role': 'system',
            'content': 'You are a helpful assistant.'
        },
        {
            'role': 'user',
            'content': '你好'
        }
    ],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content, end='', flush=True)

大语言模型选择 vs 系统信息设置

比较项目 大语言模型的选择(选“工具”) 系统信息的设置(定“规则”)
核心意思 根据你要做的事
挑一个“最擅长干这件事”的AI工具
告诉选好的AI工具
:“你要扮演谁、怎么说话、能做/不能做什么”
要考虑什么 1. 擅长领域:比如写代码找专门的AI,写文案找更懂表达的AI
2. 实用度:反应快不快、会不会算错、用着贵不贵
3. 好不好用:能不能自己装、操作难不难
1. 说清需求:比如“帮我总结这篇文章”“写一封请假条”
2. 定好风格:要正式的、搞笑的,还是用列表/表格呈现
3. 划清底线:不能说脏话、不能给错误答案
对结果的影响 决定AI“最多能做到多好”——比如让法律的AI写代码,再怎么教也写不好 决定AI“在能力范围内能不能做对”——比如让AI当老师,不教它“说人话”,它可能讲得太复杂听不懂
先做哪一步 先选工具,就像先挑好要用的钢笔,再决定用它写作文还是记笔记 不能还没挑钢笔,就先定“要写作文”
举个例子 - 想写游戏代码 → 选专门写代码的AI(如CodeLlama)
- 想编短视频文案 → 选懂新媒体的AI(如抖音豆包)
- 想算数学难题 → 选擅长推理的AI(如GPT-4)
- 对AI说:“你是小学老师,用聊天的方式讲‘1+1’,举1个例子就行”
- 对AI说:“你是班长,用列表总结班级卫生要求,每条别太长”
- 对AI说:“你是图书管理员,用简单的话讲借书规则,别用难理解的词”

模型选择

  • 模型的名字中的参数
    • 80B、30B、0.6B 指的是
      • 参数规模
        • 规模越大
        • 硬件要求越高
        • 能力越强
    • A3B、A2.5 指的是
      • 架构版本

图片描述

  • 模型名字中的单词
    • Instruct
    • Thinking
    • DeepResearch
  • 如何理解?

模型类型

模型 核心定位 能力
DeepResearch 深度研究 长周期检索
Thinking 深度思考 带思考过程的逻辑推导
Instruct 指令遵循 高效执行

图片描述

总结

  • 这次 我们了解了
    • 智能体的推理能力(reasoning)
    • 区分了
      • 模型选择
      • 系统人设

图片描述

  • 可以 把智能体 放到浏览器里面 吗?🤔
  • 下次再说👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。