计算机英文教材太难啃?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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构的归并排序(c语言版)

一.归并排序的基本概念 1.基本概念 归并排序是一种高效的排序算法,它采用了分治的思想。它的基本过程如下: 将待排序的数组分割成两个子数组,直到子数组只有一个元素为止。然后将这些子数组两两归并,得到有序的子数组。不断重复第二步,直到最终得到有序的整个数组。 2.核心…

LabVIEW2017破解安装教程

LabVIEW2017破解安装教程: 1、新版LabVIEW2017分为32位和64位两个平台,多种语言版本(需要LabVIEW2017中文版的朋友请选择WinChn版本),大家选择自行选择符合系统的版本下载并解压 2、本次安装以Win 7 64位系统为例,运行“2017LV-64…

龙蜥社区 5 月度运营大事件回顾

各位龙蜥社区的朋友们,你们好! 龙蜥社区 5 月运营月报如期而至!本次从特别图送、龙蜥生态、龙蜥活动、龙蜥 SIG 月度动态、精彩内容推荐等几方面总结、回顾了 5 月发生的重要事件。

设计模式之过滤器模式FilterPattern(十)

一、过滤器模式 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模…

【长亭雷池WAF——“动态防护”功能深度体验】

前言: 在当今的网络安全环境中,Web应用防火墙(WAF)扮演着至关重要的角色。它们不仅能够防御常见的Web攻击,如SQL注入、跨站脚本攻击(XSS)等,还能够应对日益复杂的网络威胁。 长亭…

如何通过 6 种简单方法将照片从华为转移到 PC?

华为作为全球领先的智能手机供应商之一,最近推出了其自主研发的操作系统——HarmonyOS 2.0,旨在为智能手机、平板电脑和智能手表等设备提供更流畅的用户体验。随着Mate 40/P40等系列手机计划升级到HarmonyOS 2.0,用户可能需要将手机中的文件备…

CAM350如何快速删除Gerber文件上的东西?

文章目录 CAM350如何快速删除Gerber文件上的东西?CAM350如何快速保存已经修改的Gerber文件? CAM350如何快速删除Gerber文件上的东西? CAM如何导入Gerber文件见此篇 今天遇上了一个删除Gerber文件上部分字母的任务,CAM350只能一点点删除线的操作把我手指头差点按…

订单排队与链动模式塑造社交电商新格局

在数字化浪潮中,社交电商凭借其独特的魅力与潜力,正逐渐崭露头角。本文将解读一种融合了订单排队与链动模式的创新商业模式。这一模式旨在通过提高消费者复购率,优化销售流程,从而推动销售增长,塑造社交电商新生态。 …

Mybatis03-ResultMap及分页

1、属性名和字段名不一致问题 1.问题 数据库中的字段 新建一个项目Mybatis-04,拷贝之前,测试实体类字段不一致的情况 public class User {private int id;private String name;private String password; }select * from mybatis.user where id #{id} …

2024年宜昌中级工程师职称如何申报呢?

今年宜昌中级职称如何报名?怎么申报?申报时间是什么时候呢?报名条件是什么呢? 一、2024年宜昌中级职称申报条件:1.社保条件:在宜昌本地注册登记6个月以上民营企业,专业技术岗位从事工程技术工作…

苍穹外卖笔记-02-借助小乌龟创建gitee仓库,apifox代替YApi,Swagger

TOC 1 借助小乌龟创建gitee苍穹外卖仓库 这里建议看视频bilibili比特鹏哥视频 使用软件 git TortoiseGit https://git-scm.com/downloads https://tortoisegit.org/ 使用代码托管平台gitee,git的使用和gitee的账号创建需要查询其他资料 在一个从未克隆仓库的…

3389远程桌面,如何进行3389远程桌面的连接操作

随着信息技术的快速发展,远程桌面连接技术逐渐成为企业、教育以及个人用户进行远程办公、技术支持以及协作交流的重要工具。其中,3389远程桌面因其稳定性和易用性而备受青睐。本文将从专业角度出发,为您详细介绍如何进行3389远程桌面的连接操…

大模型产品的选择:独特优势与个人倾向

层出不穷的大模型产品,你怎么选? 随着近日腾讯元宝APP的正式上线,国内大模型产品又添一员。关于接连出现的“全能“大模型AIGC产品,你都用过哪些呢?不妨来分享一下你的使用体验吧!在这些大模型产品中&…

【React篇 】React项目中常用的工具库

我们可以从项目初始化、开发、构建、检查及发布的顺序总结react项目开发常用的工具库。 首先是初始化。 初始化工程项目一般用官方维护的 create-react-app,这个工具使用起来简单便捷,但 create-react-app 的配置隐藏比较深,修改配置时搭配…

LC 26删除有序数组中的重复项

去重题,双指针,,因为题干说原地删除,且nums其余元素不重要。一个cur记录当前不重复的数应该插在第几位了,for循环里的i相当于是第二个指针(右指针),遍历数组来找不重复的元素 class …

数据结构:模拟队列

数据结构&#xff1a;模拟队列 题目描述参考代码 题目描述 输入样例 10 push 6 empty query pop empty push 3 push 4 pop query push 6输出样例 NO 6 YES 4参考代码 #include <iostream>using namespace std;const int N 100010;int q[N], hh, tt;int m, x; string …

C++STL---list知识汇总

前言 学习完list&#xff0c;我们会对STL中的迭代器有进一步的认识。list底层有很多经典的东西&#xff0c;尤其是他的迭代器。而list的结构是一个带头双向循环链表。 list没有reserve和resize&#xff0c;因为它底层不是连续的空间&#xff0c;它是用时随时申请&#xff0c;…

windows 系统中部署 windows_exporter

从 github 中下载安装包到本地路径&#xff1a; Releases prometheus-community/windows_exporter (github.com) 后台运行方式windows_exporter&#xff0c;进入命令提示符执行以下命令&#xff1a; > powershell -Command "Start-Process D:\windows_exporter\wind…

快排与归并的算法(非递归版)

一.快排 1.递归法(方法多样) 1>hoare版 注&#xff1a;该方法小编已经在上篇博客中介绍过了&#xff0c;就不在这里过多赘述了&#xff0c;如果有兴趣的小伙伴可以看看小编的上篇博客哦 2>挖坑法 1&#xff09;方法介绍&#xff1a;定义最左边的数据为key&#xff0…

GLM-4本地部署的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…