本文详细介绍了一款名为 PandaWiki 的开源个人知识库工具,它结合传统文档管理与 AI 检索增强生成技术。文章演示了如何在 Linux 系统上通过 Docker 一键部署 PandaWiki,配置各类模型,以及从飞书等平台导入文档创建个人 AI 知识库。该工具支持离线文件上传、AI 生成摘要、文档分类管理等功能,并提供多种问答机器人接入方式,是个人知识管理和 AI 学习的理想解决方案。
当前 RAG 技术已非常成熟,市面上的各种 AI 知识库产品也很丰富。在 AI 时代的浪潮下,如果还用传统的笔记软件来管理个人知识,就显得有些落后。
选到一款称心如意的知识库工具并非易事。首先是数据隐私上的考虑,虽然现在很多在线 AI 平台都支持知识库上传,但私密的知识可能不想上传到云端。另外,大厂提供的私有化部署方案费用动辄几万,让人望而却步。因此,从开源工具入手是个不错的选择。对于个人知识库管理工具,希望使用一款'小而美'的产品,像 RAGFlow、Dify 这样的企业级产品显然不太适合个人部署。
大部分知识库产品似乎只注重于 AI 检索的体验,而忽略了知识本身的管理。很多情况下,上传上去的文档只能够在 RAG 检索中发挥作用,想回去翻一翻原文就有点困难。直到刷到了 PandaWiki 的网站,感觉这正是期望的那种个人知识库的效果:整体保留了传统文档知识库的风格,可以直接点击某篇文章阅读文档原文;同时支持对文档中的知识发起问答,回答效果不错。且这是一款开源的产品。
PandaWiki 的文档站也是用自己来搭建的,写的非常详细。官方提供的部署方式非常简单,只需要拥有一台 Linux 机器(没有服务器的话直接在自己的电脑上开个虚拟机就行),就可以用一个命令一键完成部署:
bash -c "$(curl -fsSLk https://release.baizhi.cloud/panda-wiki/manager.sh)"
脚本里面就是自动帮我们启动 Docker 镜像,它还能自动帮我们识别本地是否有 Docker 环境,如果没有会引导我们安装。Docker 安装完成后,开始拉取 PandaWiki 的镜像。稍等了几分钟,直接就安装完成了,它直接给出了一个内网可访问的地址以及外网可访问的地址,然后给生成了一个管理员登录的账号密码。
复制网址到本地浏览器打开并完成登录。登录成功后,首先系统提示我们配置模型。这里需要配置三个模型:
- 嵌入模型(Embedding Model):通过对文本的语义理解,将文字信息映射到向量空间中,使语义相似的文本在向量空间中的距离更近。
- 重排模型(Reranker Model):基于文本与问题的语义相关性、信息完整性、准确性等深层特征,重新调整候选文本的顺序,过滤噪音信息。
- 文本模型(生成模型,如 LLM):基于检索到的相关信息和用户问题,生成最终的回答。
默认的嵌入模型和重排模型已经配置好了,默认提供了一些免费额度。嵌入模型和重排模型在整个 RAG 检索的过程中 Token 消耗量是非常小的,所以用默认的免费额度就可以用很久。然后需要自己配置一个对话模型,可以看到它支持很多模型提供商,也可以自定义配置,所有兼容 OPEN AI 格式的 LLM API 都是可用的。
模型配置完成后,提示创建一个知识库。在 PandaWiki 中,'知识库'就是一组文档的集合,PandaWiki 将会根据知识库中的文档,为不同的知识库分别创建 Wiki 网站。
创建成功后,得到了一个空白的知识库网站。下面就可以添加文档了,不需要每个文档再手动粘贴一遍,几乎支持了目前市面上所有主流的笔记软件的直接导入,还支持通过网页 URL 和 RSS 进行导入。
选择通过飞书文档导入,根据文档指引创建飞书机器人、配置机器人权限等,然后直接拉取在飞书文档上创建的所有文档。导入成功后,后台多了一大批'未发布'的文档。在 PandaWiki 中,所有新创建或新导入的文档必须经过发布才会在 Wiki 网站中可见,才会被 AI 学习到。文档在被修改以后会被标记为'更新未发布',此时需要重新发布,才会在 Wiki 网站中更新内容,否则只是后台的草稿状态。
可以对这些文档直接使用 AI 生成摘要,也可以创建一些文件夹来将文档进行分类整理。发布这些文档后,刷新网站,就直接得到了一个整理好的知识库。
在后台的设置部分,可以做很多更细致的设置,比如首页的提示语、首页的文章卡片,背景图片,以及自定义 AI 提示词等等。效果很不错,很适合做个人博客,或者一些产品等文档站。尝试做一个提问,模型非常快速准确地给出了答案。
另外,PandaWiki 还支持上传和管理离线文件,支持很多种格式。选择离线文档导入后,会自动提取其中的内容,然后也可以直接对这些离线文档中的内容进行提问。
最后,在后台设置中还支持非常快捷的搭建问答机器人的配置,包括网页挂件、飞书机器人、微信公众号等等,每一个都给出了非常详细的操作指引,对小白用户非常友好。其他更强大的功能,要靠大家自己去探索啦!
项目的 GitHub 地址是:https://github.com/chaitin/PandaWiki

