惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AWS News Blog
AWS News Blog
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
S
Secure Thoughts
L
LINUX DO - 最新话题
S
Securelist
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
Recent Announcements
Recent Announcements
S
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cyberwarzone
Cyberwarzone
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
V
Vulnerabilities – Threatpost
T
Tor Project blog
GbyAI
GbyAI
B
Blog
博客园 - 司徒正美
博客园 - 叶小钗
Recorded Future
Recorded Future
F
Fortinet All Blogs
Spread Privacy
Spread Privacy
IT之家
IT之家
Forbes - Security
Forbes - Security
L
Lohrmann on Cybersecurity
有赞技术团队
有赞技术团队
博客园 - 聂微东
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
The Blog of Author Tim Ferriss
N
News and Events Feed by Topic
O
OpenAI News
Apple Machine Learning Research
Apple Machine Learning Research
Help Net Security
Help Net Security
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
TaoSecurity Blog
TaoSecurity Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事
Snap! 中的豆包大模型
种瓜 · 2024-12-16 · via 夜行人

文章目录

前言

我们之前尝试过将 GPT-4o 带入 Snap!.

Snap! 用户用它做了很多有意思的项目, 比如 @张老师 带学生做的这个项目

由于国内无法正常使用 OpenAI, 人们希望往 Snap! 里接入国内大模型.

于是我尝试接入字节跳动的 豆包 大模型.

Snap! GPT-4o 库主要提供了以下两块积木:

这两个积木提供的功能分别是:

  • 对话(支持图像理解)
  • 文生图(从文字生成图像)

为了替代 GPT-4o 库的功能, 我们需要用到以下两种豆包大模型(字节跳动在模型广场提供了非常多的的大模型):

开始使用

提醒: 推荐张老师录制的这个教学视频

为了在 Snap! 里使用豆包大模型, 需要进行以下以下工作:

对话模型需要的设置:

文生图模型需要的设置:

开始编程

开通大模型服务, 获取密钥之后, 就可以在 Snap! 中编程了.

以上例子, 展示了如何进行多轮对话(关闭临时对话的开关, 对话历史存储在 doubao_messages 全局变量里)

你可以从这个例子开始:

示例项目 (点击运行)

进阶

豆包库的所有功能都是在 Snap! 里实现的, 相比于之前的 GPT-4o 库(使用了 OpenAI SDK 制作的 primitive), 用户拥有更多的控制权, 使得以下这些事情可以发生:

  1. 用户可以在积木层面理解网络通信的所有细节, 深入到网络请求的细节构造里
  2. 调整 API 的任何参数
  3. 未来豆包大模型平台有了新功能, 用户可以在 Snap! 里添加自定义积木, 来使用这些未来的新功能
  4. 用户可以修改豆包库, 使其支持其他的 AI 平台

FAQ

速率限制?

注意大模型服务通常会有请求速率限制(尤其是文生图服务), 如果访问的人数比较多(比如在课堂使用), 可能需要付费扩充 QPS(Queries Per Second,查询每秒)上限, 免费版本默认是 1 秒请求 1 次:

如何渲染 markdown 文本?

大模型喜欢回复 markdown 文本, 我们可以在 Snap! 中渲染它: 动态显示 markdown 文档

示例项目 (点击运行)

如何解决在浏览器中使用豆包 API 遇到的 CORS 问题?

需要代理服务器. 目前我跟 ChatGPT 一起为豆包大模型写了个简单的代理服务器.

代理服务属于 I/O 密集型应用, 以异步的方式编写效率会更高, 能够有效提高吞吐量.

豆包大模型文生图相关的 Python SDK 文档很糟糕, 暂时使用同步的 API (支持 4x10 的并发).

对话相关的 API 目前是异步的, 性能很高, 支持大规模并发.

有哪些需要改进的地方?

改进图像理解相关部分

目前对话积木的图像理解功能, 传输的是 base64 编码的图像, 图像没有经过压缩, 有 2MB 多, 如果开启多轮视觉对话(临时对话设为的时候), 可能会比较慢.

有两个改进方向:

  1. 将图片上传到云服务, 然后发 url 给大模型
  2. 在 Snap! 里压缩完图像再以 base64 格式传给大模型

如何使用这个 AI 大模型库?

这个 AI 大模型库使用起来很简单, 但人们可能以非常糟糕的方式使用它.

关于如何在教育中使用 AI , 迄今为止, 我最认可的观点是 Scratch/《终生幼儿园》 作者的这篇文章 Generative AI and Creative Learning: Concerns, Opportunities, and Choices(生成式人工智能与创造性学习:忧虑、机遇和选择). 这也是我将 AI 大模型接入个人计算环境(如当前的Snap!)的主要动机.

如今的人工智能技术往往以限制学习者的主动性、专注于“封闭式”问题,并以低估人际关系和社区的方式进行应用

我相信这些新的人工智能技术(与早期的人工智能技术相比)在支持年轻人进行基于项目、兴趣驱动的创造性学习体验方面具有更大的潜力,从而支持他们作为有创造力、好奇心强、合作性强的学习者的发展。我们可能正处于重大教育变革的时刻:新的生成式人工智能技术所引起的混乱使更多人意识到我们在教育和学习方法上需要根本性的变革。但只有人们在设计和使用这些新工具的方式上做出明确、有意识的选择,新的人工智能技术才会对这些变革做出贡献。

在很大程度上,AI 导师被设计用来控制教育过程:设定目标、传递信息、提出问题、评估表现。这也是过去几个世纪大多数教室的运作方式。但当今世界要求一种不同的方法:为学生提供机会设定自己的目标,建立自己的兴趣,表达自己的想法,制定自己的策略,并对自己的学习有一种控制感和所有权。这种学习者主体性对学生的发展非常重要,帮助他们培养主动性、动力、自信和创造力,这些都是他们在未来在社区中做出有意义的贡献所需的。

AI 导师和教练被宣传为“个人化”,因为它们提供个性化的指导。但在我看来,真正个人化的学习方法应该给学习者更多的选择和控制权

通过 Scratch,年轻人可以根据自己的兴趣创建动画、游戏和其他互动项目,并与在线社区中的其他人分享。通过这种基于项目的、兴趣驱动的方法,学生仍然可以学习重要的编程技能和计算机科学概念,但他们是在更具激励和意义的背景下学习,因此能够与这些想法建立更深层次的联系。

学校通常更喜欢封闭式问题,因为这样更容易管理和评估。学校最终会重视他们最容易评估的东西,而不是想出评估最有价值的东西的方法

选择更多地涉及教育和政治,而不是技术.

《终生幼儿园》 和 《Mindstorms》 可能依然是最好的向导.

参考