计算机英文教材太难啃?Higress 和通义千问帮你!

作者:张添翼(澄潭)

计算机相关英文教材的中译本质量堪忧,对于计算机专业的学生来说,应该深有体会。因为大部分教材的译者本人可能未必完全吃透书中技术内容,又或者是领域技术大拿,但并不擅长英文翻译。

本文将介绍基于 AI 大语言模型进行英文技术内容翻译,并基于又免费又好用的翻译软件进行内容呈现,帮助大家轻松学习计算机英文原版教材。

先介绍两个 Chrome 插件

  1. 沉浸式翻译:

https://immersivetranslate.com

  1. openai translator:

https://github.com/openai-translator/openai-translator

这两个工具支持对接 OpenAI ChatGPT 来进行内容翻译,其中沉浸式翻译还支持 PDF、EPUB,以及视频字幕的实时翻译。其翻译效果远超 Google 翻译,甚至人工翻译。其原因是推理模型本身基于内容的理解之后的翻译,而即使是英语专八水平,如果缺少特定领域知识(如:计算机、医学、物理学),也很难翻译出信达雅的水平。

虽然国内用户无法使用 OpenAI ChatGPT 的功能,但我们有自己的通义千问,结合 Higress [ 1] 的多模型协议转换能力(在这篇《通义千问 2.5 “客串” ChatGPT4,你分的清吗?》中有介绍),就可以用极低的 API 调用成本用上这两个插件了。

通义千问前不久刚进行了一轮大降价:《击穿全网底价,通义千问 GPT-4 级大模型直降 97%!1 块钱能买 200 万 tokens》 [ 2]

本文下面演示的效果就是基于 1 块钱 200 万 tokens 额度(相当于 5 本新华字典的文字量)的 qwen-long 模型。

在演示之前,先要感谢沉浸式翻译的作者 Owen 和 openai translator 的作者 Yetone 设计并开发出如此优秀的工具,帮助知识的传递跨域语言的边界,让跨语言学习变得更容易,用母语去沉浸式学习,👩再也不用担心我的学习了~

Higress × 通义千问效果演示

Part.1 沉浸式学习 Rust(使用沉浸式翻译)

这里选取了 Rust 官方的《The Rust Programming Language》 [ 3] 的 Understanding Ownership 一节的部分内容进行演示。因为是浏览器在线阅读,直接开启沉浸式翻译就可以看到双语显示:

通义千问翻译

图片

图片

人工翻译

我在 GitHub 上找到一个项目 star 数有 4.3k 的中文版:《Rust 程序设计语言》 [ 4] ,对比上面截取内容的翻译如下:

图片

图片

对比上面通义千问的翻译,阅读这个人工翻译内容,我的阅读速度明显下降了;推测人工翻译作者应该是在机器翻译的基础上,做了一些简单调整,所以有一些翻译并不是中文语境下的常见句式,例如:

英文原文: Think of being seated at a restaurant. When you enter, you state the number of people in your group, and the host finds an empty table that fits everyone and leads you there.

中文版翻译: 想象一下去餐馆就座吃饭。当进入时,你说明有几个人,餐馆员工会找到一个够大的空桌子并领你们过去。

而这一段通义千问的翻译是:

想象一下在餐厅就座的情景。进入时,你告诉服务员你们一行的人数,然后服务员会找到一张足以容纳所有人的空桌子并带你们过去。

通义千问在翻译时,举例来说,做了这样的改进:

  1. 语句格式更完整(想象一下去餐馆就座吃饭->想象一下在餐厅就座的情景)

  2. 去掉了中文语境下冗余的介词“When”(当进入时)

  3. 补充了英文原文中省略的宾语(你告诉服务员

通义千问的翻译显然更容易阅读和理解。另外值得一题的是《The Rust Programming Language》一书还在跟随 Rust 语言自身的演进不断迭代。但中文版《Rust 程序设计语言》仍停留在 2021 年的版本。

Part.2 沉浸式学习编译原理(使用沉浸式翻译)

这里选取了 Bob Nystrom 编写的《Crafting Interpreters》 [ 5] 的 Garbage Collection 一节的部分内容进行演示。用的作者免费发布的开源 PDF,用沉浸式翻译工具打开 PDF 即可。

图片

效果炸裂!

Part.3 主动和英文世界交流(使用 openai translator)

“学而不思则罔”。在学习的过程中,我们难免会有疑问需要交流,对于这些英文技术内容,国内的讨论地方不多,我们可以去 Reddit 上和外国友人进行交流。例如这里就有对于 Crafting Interpreters [ 6] 的一些讨论。

如果你的英文能力不佳,可以考虑使用 openai translator 来翻译你的问题,然后发布到 Reddit 上:

图片

我这里手滑把“误”识别打成了“勿”识别,不过通义千问显然结合语境知道了我真正的意图,翻译成了“misidentification”。

Bravo!

对了,我们还可以来跟通义千问对话一下,看看他的回答:

这里使用了 Higress+NextChat,把 gpt-4 模型映射为通义千问的 qwen-max 模型,所以截图显示为 gpt-4,具体方式可以参考这里:https://github.com/alibaba/higress/issues/938

图片

手把手教你如何配置

Step.0 创建通义千问 API Key

  1. 使用支付宝注册 [ 7] 一个阿里云账号

  2. 进入灵积平台 [ 8] ,创建一个 API Key

Step.1 启动 Higress

Higress 支持用 Docker 启动:

# 创建一个工作目录
mkdir higress; cd higress
# 启动 higress,配置文件会写到工作目录下
docker run -d --rm --name higress-ai -v ${PWD}:/data \
        -p 8001:8001 -p 8080:8080 -e CONFIG_TEMPLATE=ai-proxy \
        -e DEFAULT_AI_SERVICE=qwen -e DASHSCOPE_API_KEY="这里填APIKey" \
        higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:1.4.0-rc.1

默认模型映射方式:

  • gpt-4 映射到 qwen-max

  • 其他都映射到 qwen-long

如有需求,你也可以在浏览器输入: http://localhost:8001 **登陆 Higress 控制台,在 qwen 这个路由的策略里找到 AI 代理插件,修改映射到其他模型:

图片

Step.2.1 配置沉浸式翻译

找到沉浸式翻译的设置页,在翻译服务处选择 OpenAI,点开设置。

沉浸式翻译比较消耗 token,这里我们用最便宜的 qwen-long 模型。因为除了 gpt-4 都被 Higress 映射到了 qwen-long,这里可以直接选 “gpt-3.5-turbo”。

然后再填入自定义接口地址:http://127.0.0.1:8080/api/openai/v1/chat/completions

图片

📢 注意: 这里不再需要填写 API Key,因为 Higress 代理后没有配置 API Key,当然你也可以设置一个自定义的 API Key,然后将 Higress 地址暴露到外部给其他人使用,并通过 API Key 来进行认证。

Higress 侧最简单的配置方式,就是为路由直接配置一个 Authorization Header 匹配,如下图配置后,API Key 就是 “my-custom-token”:

图片

Step.2.2 配置 openai translator

找到 openai translator 的设置页,服务提供商选择 OpenAI,进行如下类似的配置,不过这里我们把模型改为 gpt-4,即 Higress 映射后的 qwen-max。因为使用 openai translator 的场景一般不会输入太多 token,我们使用 qwen-max 会比 qwen-long 有更好的翻译效果:

图片

解锁 Higress AI 代理插件的更多玩法

更精确的翻译修订

Higress 支持使用 qwen-long 模型的文件上传对话能力,可以用如下命令上传一份自定义的词典用于翻译上下文:

curl --location --request POST 'https://dashscope.aliyuncs.com/compatible-mode/v1/files' \
  --header 'Authorization: Bearer 这里填APIKey' \
  --form 'file=@"./dict.txt"' \
  --form 'purpose="file-extract"'

# 返回内容:
{"id":"file-fe-xxxxxxx","object":"file","bytes":596687,"created_at":1716635947,"filename":"doc.md","purpose":"file-extract","status":"processed"}

将返回 json 的 id 字段配置到 Higress AI 代理插件的配置中:

provider:
  apiTokens:
  - "sk-0e6c387446ff45d0924111475a82462e"
  modelMapping:
    '*': "qwen-long"
    gpt-4: "qwen-max"
    gpt-4-turbo: "qwen-max"
    gpt-4o: "qwen-max"
  qwenFileIds:
  - "file-fe-xxxxxxx"
  type: "qwen"

后续用 qwen-long 翻译就可以用上这些上下文信息了。当然这个玩法不仅局限于翻译,还可以用在基于文档的 FAQ 机器人搭建等场景。

对接更多的大模型

Higress AI 代理插件目前支持的模型提供方列表如下:

  • 通义千问
  • OpenAI
  • Azure OpenAI
  • 月之暗面
  • 智谱AI
  • 百川智能
  • 零一万物
  • Ollama
  • DeepSeek
  • Groq
  • Anthropic Claude

相应的详细配置方式可以查看:https://github.com/alibaba/higress/tree/main/plugins/wasm-go/extensions/ai-proxy

也欢迎有兴趣的同学参与 Higress 开源建设,帮助 Higress 对接更多大模型,并不断探索新的玩法。有兴趣的同学可以点击此处到这个 issue 下认领任务:

https://github.com/alibaba/higress/issues/940

有任何使用问题,欢迎到社区提 issue,也可以进钉钉群交流(钉钉群号:30735012403):

相关链接:

[1] Higress

https://github.com/alibaba/higress

[2] 《击穿全网底价,通义千问 GPT-4 级大模型直降 97%!1 块钱能买 200 万 tokens》

https://wallstreetcn.com/articles/3715367

[3] 《The Rust Programming Language》

https://doc.rust-lang.org/book/

[4] 《Rust 程序设计语言》

https://github.com/KaiserY/trpl-zh-cn

[5] 《Crafting Interpreters》

https://craftinginterpreters.com/

[6] Crafting Interpreters

https://www.reddit.com/r/ProgrammingLanguages/comments/uiyhae/crafting_interpreters/

[7] 注册

https://account.aliyun.com/register/qr_register.htm

[8] 灵积平台

https://dashscope.console.aliyun.com/apiKey

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/681828.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言(结构体)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…

面向长文本处理的键值缓存压缩技术:智能压缩,无损性能,免微调

随着输入长度的增加,大型语言模型(LLMs)中的键值(KV)缓存需要存储更多的上下文信息以维持性能,这导致内存消耗和计算时间急剧上升。KV缓存的增长对内存和时间效率的挑战主要表现在两个方面:一是…

【Python数据预处理系列】精通Pandas:数据清洗中的字符串分割技巧(例子:如何将籍贯列中的横线替换为省份和市区)

本文将深入探讨Pandas库在数据清洗中的应用,特别是字符串分割技巧。 在数据分析的预处理步骤中,有效地处理和准备原始数据是至关重要的一步。我们将通过具体示例,展示如何使用Pandas中的 .str.split() 函数来对数据集中的字符串进行分割&…

关于文件上传失败问题的排查思路

问题场景: 最近公司的app有很多用户反馈上传文件失败了。业务路径就是简单的app前端调用后端文件上传接口,所以发生上传失败的可能因素可能是:1、文件大小/文件类型等是否有问题,公司用的是七牛的文件服务器,对文件上…

纷享销客BI智能分析平台常见问题QA

Q1在驾驶舱中查看图表时,图表间有什么动态交互吗? A:驾驶舱支持图表本身下钻,图表间联动,并且支持图表下钻的同时联动,可以基于驾驶舱的这个功能,实现图表间的动态交互。 Q2基于客户主题创建的统计图&…

PSO-LSSVM-Adaboost分类模型,粒子群算法优化基于最小二乘支持向量机结合Adaboost的数据分类-附代码

PSO-LSSVM-Adaboost是一种结合PSO-LSSVM和AdaBoost两种机器学习技术的方法,旨在提升模型的性能和鲁棒性。具体来说,AdaBoost是一种集成学习方法,通过组合多个弱分类器来形成一个强分类器,每个分类器针对不同的数据集和特征进行训练…

人脸识别——OpenCV

人脸识别 创建窗口创建按钮设置字体定义标签用于显示图片选择并显示图片检测图片中的人脸退出程序返回主界面 创建窗口 导入tkinter库,创建窗口,设置窗口标题和窗口大小。 import tkinter as tkwin tk.Tk() win.title("人脸识别") win.geom…

大模型时代的具身智能系列专题(十)

Sergey Levine团队 Sergey Levine目前是UC Berkeley电气工程与计算机科学系的副教授,同时是RAIL(Robotic AI&Learning LabBAIR)实验室主任。除了在Berkeley的教职,Levine也是Google Brain的研究员,他也参与了Google知名的机器人大模型PA…

VMD-PSO-LSTM单维时序预测模型(单输入单输出)-附代码

VMD-PSO-LSTM单维时序预测模型(单输入单输出) 1)首先对原始单维数据进行VMD分解,分解为K个模态分量和1个残差分量 2)将各个模态分量输入模型,建立模型进行预测 3)将各个预测结果相加得到最终…

MCU 的最佳存储方案 CS 创世 SD NAND

MCU 的最佳存储方案 CS 创世 SD NAND 【SD NAND】大家都知道 MCU 是一种 “麻雀” 虽小,却 “五脏俱全” 的主控。 大家都知道 MCU 是一种 “麻雀” 虽小,却 “五脏俱全” 的主控。它的应用领域非常广泛,小到手机手表,大到航空航…

【堡垒机小知识】堡垒机审计日志的定义以及作用概述

随着数字化进程的加速,企业对于IT信息系统的依赖程度不断加深,而保障IT系统的网络安全至关重要,因此不少企业纷纷购买了堡垒机。今天我们就来简单概述一下堡垒机审计日志的定义以及作用。 堡垒机审计日志定义 堡垒机审计日志是记录堡垒机上所…

xml 取值错误 #{} boolean 一直为 false

取值时 #{param.msgStatus} 一直是false&#xff0c;java代码里面显示true。 <select id"findPageOaReading" resultType"com.focusin.data.office.func.dto.ProcessMessageInfoDTO">select i.*, t.template_name procdefNamefrom process_message_…

VBA excel 表格将多行拆分成多个表格或 文件 或者合并 多个表格

excel 表格 拆分 合并 拆分工作表按行拆分为工作表工作表按行拆分为工作薄 合并操作步骤 拆分 为了将Excel中的数万行数据拆分成多个个每个固定行数的独立工作表&#xff0c;并且保留每个工作表的表头&#xff0c;你可以使用以下VBA脚本。这个脚本会复制表头到每个新的工作表&…

练习实践-linux启动耗时分析

练习实践-启动耗时整体概览&#xff0c;具体服务的启动细节 参考来源&#xff1a; B站up主林哥讲运维&#xff1a;一分钟学会&#xff1a;可视化查看系统启动时的性能 如何使用Linux命令查看系统的启动进程&#xff08;linux查看启动进程&#xff09; 解决ubuntu开机变慢&…

BitMart 宣布将销毁 264万枚 BMX,为何平台币掀起销毁热潮?

根据 BitMart 2024年4月18日发布的官方公告&#xff0c;BitMart 将于 5 个工作日内销毁 2,637,063 枚 BMX&#xff0c;价值约 94.9 万美元。根据 BitMart 白皮书中关于「回购机制」的规定&#xff0c;BitMart 2024 年第一季度平台手续费收入的 20% 将用于 BMX 的月度回购和销毁…

碳化硅MOSFET短路保护方法

碳化硅MOSFET短路保护方法 1.概述2.IGBT和碳化硅MOSFET器件特性3.短路保护方法比较4.总结 1.概述 碳化硅 (SiC) MOSFET 已成为硅 (Si) IGBT 的潜在替代产品&#xff0c;适用于光伏逆变器、车载和非车载电池充电器、牵引逆变器等各种应用。与 Si IGBT 相比&#xff0c;SiC MOSFE…

C语言基础:字符串函数使用和剖析(2)

strcmp&#xff08;字符串比较,比较两个字符串是否相等&#xff09; int strcmp ( const char * str1, const char * str2 ); int main() {const char* p1 "abcdef";const char* p2 "sqwer";if ("abcdef" "sqwer")//千万不能这么比…

nginx中配置ssl证书(宝塔面板)

首先申请一个SSL证书&#xff0c;这里我申请的joyssl的免费证书。提交订单申请后&#xff0c;按照页面提示在域名解析中将CNAME和记录值配置好。 比如我用的阿里云&#xff0c; 这是好后&#xff0c;需要等几分钟&#xff0c;然后域名检验成功。 然后点击joyssl的左侧菜单的“证…

grep、sed、awk

grep&#xff1a;文本过滤工具 sed: 文本编辑工具 awk: 格式化文本 grep -n 显示行号 -i 忽略大小写 -v 取反 -o 只保留关键消息 # 找出文件的空行 grep ^$ test.txt -n # 找出文件非空行内容 grep ^$ test.txt -n -v # 找出文件非空行内容&#xff0c;并且排除注释&#xff…

大创报名步骤

目录 一、注册 二、创建项目 三、报名 一、注册 进入注册/登录 点击 点击 填写个人信息 二、创建项目 找到解压的文件 随便选一个 项目简介在你选择的文件中截取一段 询问自己寝室的人 被邀请者需要在微信公众号上搜索 “全国大学生创业服务网” 选择我的消息中同意 三、报名…