SurfSense - 开放式人工智能研究助手,个人知识平台与全球信息资源实现无缝连接
SurfSense是什么
SurfSense 是开源的 AI 研究工具,类似于 NotebookLM 和 Perplexity,具备更强的扩展性。工具能与多种外部数据源(如搜索引擎、Slack、Notion、YouTube、GitHub 等)集成,支持用户上传多种格式的文件,将内容整合到个人知识库中。SurfSense 提供强大的搜索功能和自然语言交互能力,用户能快速查找和引用保存的内容。

SurfSense的主要功能
- 强大搜索:结合语义和全文搜索,快速查找知识库中的内容。
- 多格式支持:支持上传多种文件(如文档、图片等)。
- 自然语言交互:用自然语言提问,获取引用答案。
- 外部数据源集成:连接搜索引擎、Slack、Notion、YouTube 等。
- 隐私与本地部署:支持本地 LLM,确保数据隐私,可自托管。
- 浏览器扩展:保存网页内容,尤其是需要登录的页面。
- 文档管理:方便管理上传的文件,支持多文档交互。
SurfSense的技术原理
- RAG:基于向量嵌入和全文检索技术,快速从知识库中检索与用户查询最相关的文档片段。将检索到的片段作为上下文输入到 LLM 中,生成自然语言回答。结合语义搜索(基于向量嵌入)和全文搜索(基于关键词匹配),用 Reciprocal Rank Fusion(RRF)优化搜索结果的相关性。
- 向量嵌入与索引:基于 pgvector(PostgreSQL 的向量扩展)进行高效的向量相似性操作。文档内容被嵌入到向量空间中,便于快速检索语义相关的片段。
- 分层索引:基于分层索引结构(2 层 RAG 架构),提高检索效率和准确性。第一层索引用在快速筛选相关文档,第二层索引用在进一步细化检索结果。
- 后端技术栈:用 FastAPI 构建现代化的 API 框架,支持高性能的 Web 服务。数据库用 PostgreSQL,结合 pgvector 提供向量搜索能力。基于 LangChain 和 LiteLLM 进行 LLM 集成,支持多种语言模型。
- 前端技术栈:用 Next.js 和 React 构建用户界面,提供流畅的交互体验。基于 Tailwind CSS 和 Framer Motion 提供定制化的 UI 设计和动画效果。
- 浏览器扩展:用 Plasmo 构建浏览器扩展,支持跨浏览器功能,用户能方便地保存网页内容。
SurfSense的项目地址
- 项目官网:https://www.surfsense.net/
- GitHub仓库:https://github.com/MODSetter/SurfSense
SurfSense的应用场景
- 个人知识管理:整理笔记、文档等,快速检索知识库内容。
- 学术研究:辅助文献检索、资料整理,生成研究报告。
- 企业知识共享:上传内部资料,促进团队协作与知识流通。
- 内容创作:收集创作灵感,整理参考资料,辅助写作。
- 信息收集:保存网页内容,整合外部信息,提升信息整理效率。
发表评论