Wikitionary Copilot 是什么?
用 FastGPT 实现了一个简单的对话机器人,回答时会在线调用 https://ja.wiktionary.org/w/api.php 搜索对应的单词,然后根据返回的结果生成回答。
为什么标题的后半段是:「论辞典应用支持 MCP 的必要性与技术可行性」
MCP 全称「Model Context Protocol」,中文互联网一般叫「模型上下文协议」,简单理解就是给 LLM 调用的工具。具体可参考 What is the Model Context Protocol (MCP)? - Model Context Protocol 。
具体效果可以去试试上面对话机器人,由于通过提示词强制要求参考 Wikitionary,所以(可能)会少说点废话,找不到就会直接回答没有。
虽然我做过一些优化,但很多时候还是会出错,为了抛砖引玉,搞了个最简单的在线原型给大家玩玩。
想讨论的必要性:辞典作为最典型的知识库,可以有效解决 LLM 的幻觉、说废话、回答质量无保障等等问题。(这条应该没什么好讨论的)
想讨论的技术可行性:
- 目前缺乏对辞典用户关于这方面真实需求的讨论。上面的对话机器人并不是 LLM + 辞典的唯一使用场景。具体可参考 AI & 辞典的正确结合方式:搜文解字,一个辞典增强生成框架(DAG)
- 目前论坛主流的辞典软件想支持 LLM 外部调用的话,都得用 GitHub - liuyug/flask-mdict: Flask Mdict Server. Query word online with MDICT dictionary 这样的框架提供 MCP Sever,但目前没有看到有相关工具。
其实就是想撺掇大家帮我踩坑2333 - 直接把辞典转成 txt,整个丢到知识库里效果并不好,因为这种做法其实是跳过了构建知识库最最重要的一步「向量化」——由于辞典的数据结构是类似键值对(词条-解释),和常规知识库的数据结构(标题-内容)并不一样,直接硬套通用的解决方案效果很差。还是要结合具体的场景,发明专门的分块和索引算法。
源码
如果你有兴趣自己优化(比如切换数据源到其他辞典网站),可以使用下面的 JSON 文件在 FastGPT 中快速复现上面的对话机器人,然后把其中调用 https://ja.wiktionary.org/w/api.php 的地方改成你想要的网站即可。
https://fastgpt.io/ 注:这是国际版的官网,虽然可以通过微信和支付宝付款,但官方强调和国内版数据不互通。
Wikitionary Copilot.zip (4.2 KB)
