21|Wasm 编程基础(下)
邢云阳

你好,我是邢云阳。
前面的课程都以理论为主,可能你会觉得比较枯燥,实际上我本人也不喜欢看长篇大论的理论。但没办法,有些基础的点还是要讲清楚,要不后续的编码也没法展开,毕竟 Wasm 编程和常规编程还是有点区别的。
今天这节课,我就用一个简单的小例子,带你体验从编码到编译部署的全过程,最后我们再来测试一下这个小例子的效果。话不多说,先从环境准备开始。
环境准备
Golang 需要是 1.18 版本以上,具体如何安装就不再赘述了。
TinyGo 是一个 Go 语言编译器,它专注于生成小型、高效的 Go 程序,特别是为嵌入式系统和 WebAssembly 环境设计。在这里,官方固定要求必须是 0.28.1 版本。可以点击链接从 Github 上下载 0.28.1 版本对应的可执行文件,放在 PATH 环境变量对应的目录下,并赋予可执行权限。
编写插件
接下来,我会以一个 HTTP 外部调用的例子,让你看一下 Wasm 开发的全貌。为了给你演示插件的编写过程和效果,我想了一个和 AI 结合的非常简单的功能,那就是 JSON Mode 功能。JSON Mode 技术已经出现了半年多了,你应该对此不陌生了,这项技术是为了让大模型输出稳定的结构化的内容,而发明的。
其原理也非常简单,属于 Prompt 工程的范畴。就是直接告诉大模型“请参考我的 JSON 定义输出 JSON 对象,示例:{“ouput”: “hello”}”。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. Wasm编程和常规编程的区别,需要讲清楚基础知识,以便后续的编码展开。 2. 通过一个简单的小例子,带领读者体验从编码到编译部署的全过程。 3. 环境准备包括Golang和TinyGo的版本要求,以及相应的安装和配置步骤。 4. 介绍了JSON Mode功能,结合AI实现简单的功能,通过调用大模型API的方式来进行。 5. 初始化工程目录,包括新建工程目录、Go工程初始化和下载依赖包的步骤。 6. 插件配置和部署,包括Docker镜像打包和Higress插件的部署过程。 7. 演示了服务配置、插件代码编译、打包、部署的全过程,以及测试过程。 8. 代码流程简单,体会对于HTTP请求和返回阶段拦截的思想。 9. 使用了Resume的使用细节,尤其是在写代码的过程中要小心。 10. 在 HTTP 原始返回头上添加一个 mode:json 返回头的实现方法的讨论。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 重塑云原生应用开发实战》,新⼈⾸单¥59
《AI 重塑云原生应用开发实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论