SurfSense开源程序是NotebookLM / Perplexity / Glean的开源替代品,连接到外部来源,如搜索引擎

​一、软件介绍

文末提供程序和源码下载

     虽然 NotebookLM 和 Perplexity 等工具令人印象深刻,并且对于对任何主题/查询进行研究都非常有效,但 SurfSense 通过与你的个人知识库集成来提升这种能力。它是一个高度可定制的 AI 研究代理,连接到外部资源,例如搜索引擎(Tavily、LinkUp)、Slack、Linear、Notion、YouTube、GitHub 等。

二、主要特点

1. Latest 1. 最新

💡 Idea: 💡 想法:

Have your own highly customizable private NotebookLM and Perplexity integrated with external sources.
拥有您自己的高度可定制的私有 NotebookLM 和 Perplexity 与外部源集成。

📁 Multiple File Format Uploading Support
📁 支持多种文件格式上传

Save content from your own personal files (Documents, images and supports 27 file extensions) to your own personal knowledge base .
将您自己的个人文件(文档、图像和支持 27 个文件扩展名)中的内容保存到您自己的个人知识库中。

🔍 Powerful Search 🔍 强大的搜索功能

Quickly research or find anything in your saved content .
快速研究或查找您保存的内容中的任何内容。

💬 Chat with your Saved Content
💬 与您保存的内容聊天

Interact in Natural Language and get cited answers.
在 Natural Language 中互动并获得引用的答案。

📄 Cited Answers 📄 引用的答案

Get Cited answers just like Perplexity.
获取 Perfasciity 的 Cited 答案。

🔔 Privacy & Local LLM Support
🔔 隐私和本地LLM支持

Works Flawlessly with Ollama local LLMs.
与 Ollama local LLMs完美配合。

🏠 Self Hostable 🏠 自托管

Open source and easy to deploy locally.
开源且易于本地部署。

📊 Advanced RAG Techniques
📊 高级 RAG 技术
  • Supports 150+ LLM's 支持 150+ LLM个
  • Supports 6000+ Embedding Models.
    支持 6000+ 嵌入模型。
  • Supports all major Rerankers (Pinecode, Cohere, Flashrank etc)
    支持所有主要的 Reranker(Pinecode、Cohere、Flashrank 等)
  • Uses Hierarchical Indices (2 tiered RAG setup).
    使用 Hierarchical Indices (2 层 RAG 设置)。
  • Utilizes Hybrid Search (Semantic + Full Text Search combined with Reciprocal Rank Fusion).
    利用混合搜索(语义 + 全文搜索与倒数秩融合相结合)。
  • RAG as a Service API Backend.
    RAG 即服务 API 后端。
ℹ️ External Sources i️ 外部源
  • Search Engines (Tavily, LinkUp)
    搜索引擎 (Tavily, LinkUp)
  • Slack 松弛
  • Linear 线性
  • Notion 概念
  • Youtube Videos Youtube 视频
  • GitHub GitHub的

Cross Browser Extension
🔖 跨浏览器扩展

  • The SurfSense extension can be used to save any webpage you like.
    SurfSense 扩展程序可用于保存您喜欢的任何网页。
  • Its main usecase is to save any webpages protected beyond authentication.
    它的主要用例是保存任何在身份验证之外受保护的网页。

Tech Stack 技术栈

BackEnd 后端

  • FastAPI: Modern, fast web framework for building APIs with Python
    FastAPI:用于使用 Python 构建 API 的现代、快速的 Web 框架

  • PostgreSQL with pgvector: Database with vector search capabilities for similarity searches
    带有 pgvector 的 PostgreSQL:具有用于相似性搜索的向量搜索功能的数据库

  • SQLAlchemy: SQL toolkit and ORM (Object-Relational Mapping) for database interactions
    SQLAlchemy:用于数据库交互的 SQL 工具包和 ORM(对象关系映射)

  • Alembic: A database migrations tool for SQLAlchemy.
    Alembic:用于 SQLAlchemy 的数据库迁移工具。

  • FastAPI Users: Authentication and user management with JWT and OAuth support
    FastAPI 用户:使用 JWT 和 OAuth 支持进行身份验证和用户管理

  • LangGraph: Framework for developing AI-agents.
    LangGraph:开发 AI 代理的框架。

  • LangChain: Framework for developing AI-powered applications.
    LangChain:用于开发 AI 驱动的应用程序的框架。

  • LLM Integration: Integration with LLM models through LiteLLM
    LLM集成:通过 LiteLLM 与LLM模型集成

  • Rerankers: Advanced result ranking for improved search relevance
    Rerankers:用于提高搜索相关性的高级结果排名

  • Hybrid Search: Combines vector similarity and full-text search for optimal results using Reciprocal Rank Fusion (RRF)
    混合搜索:使用倒数秩融合 (RRF) 将向量相似性和全文搜索相结合,以获得最佳结果

  • Vector Embeddings: Document and text embeddings for semantic search
    向量嵌入:用于语义搜索的文档和文本嵌入

  • pgvector: PostgreSQL extension for efficient vector similarity operations
    pgvector:用于高效向量相似性作的 PostgreSQL 扩展

  • Chonkie: Advanced document chunking and embedding library
    Chonkie:高级文档分块和嵌入库

  • Uses AutoEmbeddings for flexible embedding model selection
    用于 AutoEmbeddings 灵活的嵌入模型选择

  • LateChunker for optimized document chunking based on embedding model's max sequence length
    LateChunker 用于基于嵌入模型的最大序列长度优化文档分块


FrontEnd 前端

  • Next.js 15.2.3: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
    Next.js 15.2.3:React 框架,具有 App Router、服务器组件、自动代码拆分和优化渲染。

  • React 19.0.0: JavaScript library for building user interfaces.
    React 19.0.0:用于构建用户界面的 JavaScript 库。

  • TypeScript: Static type-checking for JavaScript, enhancing code quality and developer experience.
    TypeScript:JavaScript 的静态类型检查,可增强代码质量和开发人员体验。

  • Vercel AI SDK Kit UI Stream Protocol: To create scalable chat UI.
    Vercel AI SDK 套件 UI 流协议:创建可扩展的聊天 UI。

  • Tailwind CSS 4.x: Utility-first CSS framework for building custom UI designs.
    Tailwind CSS 4.x:用于构建自定义 UI 设计的实用优先 CSS 框架。

  • Shadcn: Headless components library.
    Shadcn:Headless 组件库。

  • Lucide React: Icon set implemented as React components.
    Lucide React:作为 React 组件实现的图标集。

  • Framer Motion: Animation library for React.
    Framer Motion:React 的动画库。

  • Sonner: Toast notification library.
    Sonner:Toast 通知库。

  • Geist: Font family from Vercel.
    Geist:来自 Vercel 的字体系列。

  • React Hook Form: Form state management and validation.
    React Hook Form:表单状态管理和验证。

  • Zod: TypeScript-first schema validation with static type inference.
    Zod:使用静态类型推理进行 TypeScript 优先模式验证。

  • @hookform/resolvers: Resolvers for using validation libraries with React Hook Form.
    @hookform/resolvers: 用于将验证库与 React Hook Form 一起使用的解析器。

  • @tanstack/react-table: Headless UI for building powerful tables & datagrids.
    @tanstack/react-table:用于构建强大表格和数据网格的无头用户界面。

Extension 外延

Manifest v3 on Plasmo
Plasmo 上的 Manifest v3

三、软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:GitHub - MODSetter/SurfSense: Open Source Alternative to NotebookLM / Perplexity / Glean, connected to external sources such as search engines (Tavily, Linkup), Slack, Linear, Notion, YouTube, GitHub and more.

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

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

相关文章

基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)

目录 引言一、OpenTelemetry是一套可观测性标准协议二、分布式追踪(‌Trace‌)是OpenTelemetry的核心功能之一三、OpenTelemetry的架构原理四、OpenTelemetry的分布式追踪(‌Trace‌)实践1、准备PHP环境2、下载SDK3、编写实例代码…

探索智能体的记忆:类型、策略和应用

AI Agent 中的记忆:类型、策略和应用 记忆实现是使智能体能够保持上下文、从过去的交互中学习并做出明智决策的关键组成部分。与人类记忆非常相似,智能体记忆允许 AI 系统随时间存储、检索和利用信息,从而为用户创造更连贯和个性化的体验。 …

leetcode 2395. Find Subarrays With Equal Sum

题目描述 代码&#xff1a; class Solution { public:bool findSubarrays(vector<int>& nums) {int len nums.size();if(len <2)return false;unordered_set<int> table;int sum 0;for(int i 1;i < len;i){sum nums[i-1]nums[i];if(table.contains(…

Kubernetes(k8s)学习笔记(七)--KubeSphere 最小化安装

前情提要 可视化操作面板对于开发、运维绝对是提升工作效率的一大利器&#xff0c;因此很有必要搭建一套可视化操作来管理Kubernetes。 可视化面板有多种&#xff1a; 1.Kubernetes官方提供的默认面板&#xff1a;dashboard&#xff0c;用处不大&#xff0c;放弃&#xff1b…

MCP连接Agent:AI时代的TCP/IP

介绍 2023年&#xff0c;生成式AI爆发。2024年&#xff0c;智能体&#xff08;Agent&#xff09;接棒成为AI新焦点。2025年&#xff0c;智能体似乎已经要开始爆发了。目前的智能体更像一个“单机App”&#xff1a;彼此不了解、无法通信&#xff0c;更不能协作。类似互联网早期…

交换机工作原理(MAC地址表、VLAN)

目录 一、交换机的基本工作原理 数据帧的转发 MAC地址表的作用 交换机的转发方式 二、VLAN&#xff08;虚拟局域网&#xff09; VLAN的定义 VLAN的作用 VLAN的实现方式 VLAN的帧标记 VLAN的通信 三、交换机与VLAN的结合 四、交换机与VLAN的实际应用场景 交换机是局…

eFish-SBC-RK3576工控板外部RTC测试操作指南

备注&#xff1a; 1&#xff09;测试时一定要接电池&#xff0c;否则外部RTC断电后无法工作导致测试失败&#xff1b; 2&#xff09;如果连接了网络&#xff0c;系统会自动同步NTP时钟&#xff0c;所以需要关闭自动同步时钟。 关闭自动同步NTP时钟方法&#xff1a; 先查看是…

淘宝按图搜索商品(拍立淘)Java 爬虫实战指南

在电商领域&#xff0c;按图搜索商品功能为用户提供了更直观、便捷的购物体验。淘宝的拍立淘功能更是凭借其强大的图像识别技术&#xff0c;成为许多开发者和商家关注的焦点。本文将详细介绍如何利用 Java 爬虫技术实现淘宝按图搜索商品功能&#xff0c;包括注册账号、上传图片…

【Redis】List类型

文章目录 List的特点介绍lpush&#xff0c;lpushx&#xff0c;rpush&#xff0c;rpushx命令lrange命令lpop和rpoplindex命令linsert命令llen命令lrem 命令ltrim命令lset命令阻塞版本的命令blpop和brpop 命令小结list的内部编码List的应用场景 List的特点介绍 列表相当于一个数…

QT:qt5调用打开exe程序并获取调用按钮控件实例2025.5.7

为实现在 VS2015 的 Qt 开发环境下打开外部 exe&#xff0c;列出其界面按钮控件的序号与文本名&#xff0c;然后点击包含特定文本的按钮控件。以下是更新后的代码&#xff1a; #include <QCoreApplication> #include <QProcess> #include <QDebug> #include…

基于Jenkins的DevOps工程实践之Jenkins共享库

文章目录 前言Jenkins共享库结构1、共享库演示2、知识点补充3、实践使用共享库格式化输出日志4、groovy基础语法4.1、 什么是 Groovy&#xff1f;4.2、groovy特点4.3、运行方法4.4、标识符4.5、基本数据类型4.5.1、string类型4.5.2、list类型 4.6、函数使用4.7、正则表达式 5、…

【Qt4】Qt4中实现PDF预览

方案一&#xff1a; 在Qt4中预览PDF文件&#xff0c;你可以使用多种方法&#xff0c;但最常见和简单的方法之一是使用第三方库。Qt本身并没有内置直接支持PDF预览的功能&#xff0c;但你可以通过集成如Poppler、MuPDF等库来实现这一功能。下面我将展示如何使用Poppler库在Qt4中…

php artisan resetPass 执行密码重置失败的原因?php artisan resetPass是什么 如何使用?-优雅草卓伊凡

php artisan resetPass 执行密码重置失败的原因&#xff1f;php artisan resetPass是什么 如何使用&#xff1f;-优雅草卓伊凡 可能的原因 命令不存在&#xff1a;如果你没有正确定义这个命令&#xff0c;Laravel 会报错而不是提示”重置密码失败”用户不存在&#xff1a;’a…

ai说什么是注解,并以angular ts为例

在编程中&#xff0c;注解&#xff08;Annotation&#xff09; 是一种特殊的语法结构&#xff0c;用于为代码添加元数据&#xff08;metadata&#xff09;&#xff0c;从而在不修改代码逻辑的情况下&#xff0c;提供额外的信息或指示编译器、框架、工具如何处理这些代码。注解通…

【MySQL】-- 联合查询

文章目录 1. 简介1.1 为什么要使用联合查询1.2 多表联合查询时MySQL内部是如何进行计算的 2. 内连接2.1 语法2.2 示例 3. 外连接3.1 语法3.2 示例 4. 自连接4.1 应用场景4.2 示例4.3 表连接练习 5. 子查询5.1 语法5.2 单行子查询5.3 多行子查询5.4 多列子查询5.5 在from 子句中…

【多线程】六、基于阻塞队列的生产者消费者模型

文章目录 Ⅰ. 生产者消费者模型的概念Ⅱ. 生产者消费者模型的优点Ⅲ. 基于阻塞队列的生产者消费者模型MakefileBlock_queue.hpptask.hpptest.cpp Ⅳ. 如何理解提高了效率❓❓❓ Ⅰ. 生产者消费者模型的概念 ​ 生产者消费者模型是一种常见的并发模式&#xff0c;用于解决生产者…

【Vue】全局事件总线 TodoList 事件总线

目录 一、 实现所有组件看到x事件 二、 实现$on $off 以及 $emit 总结不易~ 本章节对我有很大的收获&#xff0c; 希望对你也是&#xff01;&#xff01;&#xff01; 本节素材已上传至Gitee&#xff1a;yihaohhh/我爱Vue - Gitee.com 全局事件总线图&#xff1a; 本节素材…

Python编程virtualenv库的简介和使用方法

Python编程virtualenv库的简介和使用方法 virtualenv和conda的区别是什么

MySQL的行级锁锁的到底是什么?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL的行级锁锁的到底是什么?】面试题。希望对大家有帮助&#xff1b; MySQL的行级锁锁的到底是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL的行级锁是数据库管理系统&#xff08;DBMS&#xff09;的一…

【C++游戏引擎开发】第33篇:物理引擎(Bullet)—射线检测

一、射线检测核心理论体系 1.1 射线检测的数学基础 1.1.1 参数化射线方程 射线在三维空间中的数学表达采用参数方程: r ( t ) = o + t d ^ ( t ∈ [