AI 支持
目前阅读助理提供的 AI 支持包括:
- 语义搜索
- 机器翻译
- 文本转语音(TTS)
语义搜索
语义搜索即通过大语言模型和向量数据库构建的知识问答机器人,在应用中的名字是 书童
,有着伴读和秘书的意思。
通常来说,如果我们要查找书中的某些内容,我们通常会使用关键词匹配的方式。但这种方式相对低效,你还需要自己处理搜索结果并组织内容。
但是通过目前流行的知识库解决方案,你可以直接向书童提问,比如:微软发布的手机有什么特点?
如果你的文档中具有 语义相关 的内容,机器人会帮助你提取并组织信息,生成一份回答。

整个书童功能分为两个部分,模型部分负责文本向量化及文本生成,存储部分负责存储生成的向量信息。下面是分块介绍。
配置模型
应用内置了两个内核:Azure Open AI
和 Open AI
这是两种主流的AI服务,你需要进行一些简单的配置,填入必要的访问密钥即可。

相关信息填写完成后,应用会尝试获取已部署的模型列表,并提供选择。请分别选择对话模型和嵌入模型,推荐的组合是:gpt-3.5-turbo
和 text-embedding-ada-002
这样就完成了模型配置。
扩展模型
除了两种内置服务外,高级用户(会编程)还可以自己扩展服务组合,使用日新月异的开源模型进行搭配,然后打包导入到应用之中。
关于如何打包及示例代码,参见 扩展服务
配置存储
由于生成的是向量文本,所以最好的选择还是使用向量数据库来存储数据。
目前应用仅支持 Qdrant 数据库。
该数据库支持自部署和托管两种方式,对于初上手的用户,推荐使用官方托管平台 Qdrant Cloud。
注册后可以使用免费存储库,个人使用是足够的。
部署完成后,将终结点和API令牌填入应用配置中即可。
基础使用
当完成了配置之后,书童的使用是很简单的。
首先,在书童页面,第一次使用你需要导入一份文档,机器人将基于该文档进行回答。
文档支持以下格式:
- .txt
- .md
- .doc
- .docx
应用只会获取文档内的文字内容,不会解析图片内容。
在界面中,你需要在顶部问题框中输入问题,然后按回车即可查询。

机器翻译
翻译提供两种内置服务:Azure 翻译
和 百度翻译
,你需要在设置页面自行配置。
在阅读助理中没有提供丰富的翻译语言选项,你只能把文本翻译成当前的应用语言。
绝大多数情况下,阅读时的翻译需求就是 把不认识的语言文本翻译成我认识的
,而不是 我想看看这段文本翻译成另一种语言是什么样子
。所以阅读助理提供的翻译选项只为满足 能看懂
这一基本需求。
应用提供了划词翻译,这一功能适用于所有文本阅读场景(在线书籍,EPUB,PDF 和 RSS)。
选中文本后右键单击或者长按屏幕,即可弹出文本选择菜单,其中就有文本翻译选项,点击即可翻译。

全文翻译
全文翻译功能仅在 RSS 阅读器中提供,这个功能的适用场景其实是在阅读非母语新闻/文章时的快速翻译。
我们知道 RSS 的内容文本是 HTML,翻译 HTML 不可避免要带上一堆标签。这要求翻译服务在翻译的时候不能翻译标签内的内容,否则页面将无法正常显示。
在这个方面,Azure Translator(必应翻译)是做得比较出色的,对网页翻译进行了充分的支持。
反之,百度翻译在这一块就不尽如人意了,在其文档描述中也说了目前不支持网页翻译:
如果我需要翻译整个网页,尖括号内的标签无法原样输出,怎么办?
翻译API会将传入的所有字符串当做可翻译字符,目前暂时无法区分哪些部分需原样保留,因此 API 不适合直接处理 HTML 文件。您可将 HTML 文件进行译前处理,抽取出待翻译文本,传入 API 翻译后再回填。
所以目前 RSS 中的全文翻译仅支持 Azure Translator,如果你没有在设置中提供相应的配置,将无法使用全文翻译的功能。
老实说,Azure 翻译服务真的挺实惠的,还有每月百万字的免费额度,简直可以说是白嫖了。
关于朗读
Windows 本身提供文本转语音(TTS)的 API,可以免费且无限制地使用。缺点也很明显,就是机读味过重,在这种情况下听读简直是一种折磨。
所以阅读助理没有提供本地 TTS 的支持,语音朗读将调用 Azure 语音服务
Azure 语音朗读服务提供的 AI 语音效果很不错,我们在短视频中经常听到的 注意看!这个男人叫小帅! 就是 Azure 中文的 云希
声音。
它还支持如河南话、辽宁话等本地口音,在中文世界,Azure 语音服务是文本转语音的首选。
和翻译类似,阅读助理在所有文本阅读场景中都提供了划词朗读的功能,你可以利用这一功能学习一些单词的发音。
应用为 TTS 提供了一些设置项,你可以在阅读器顶部的设置中调整需要朗读的语言和语音。

全文朗读
全文朗读目前仅在在线阅读器中提供,且提供阅读完成自动切换下一章节的功能。
为了能够降低语音生成的等待时间,应用会将文本按照自然段分开,一次只生成两段内容的语音,一段用于播放,一段进行准备。前一段放完,后一段接上,在播放期间生成下一段语音内容。
这样做的好处显而易见,既照顾了用户体验,同时还减少了开支。如果你不想听了,可以随时停止,而不必担心后面的内容浪费(最多浪费一段语音)。