我们在百度搜索,会出现如下回答方式,如何实现的呢?让我们看看一个完全免费、私有且本地运行的搜索聚合器FreeAskInternet的实现原理吧。
一.功能介绍
FreeAskInternet 是一个完全免费、私有且本地运行的搜索聚合器,并使用 LLM 生成答案,无需 GPU。用户可以提出问题,系统会使用searxng进行多引擎搜索,并将搜索结果合并到ChatGPT3.5 LLM中,并根据搜索结果生成答案。所有进程都在本地运行,不需要 GPU 或 OpenAI 或 Google API 密钥。
-
🈚️ 完全免费(不需要任何API密钥)
-
💻 完全本地化(无需GPU,任何计算机都可以运行)
-
🔐完全私有(所有东西都在本地运行)
-
👻 无需 LLM 硬件即可运行(无需 GPU!)
-
🤩 使用免费的 ChatGPT3.5 API(无需 API 密钥!感谢 OpenAI)
-
🚀 使用 Docker Compose 快速轻松地部署
-
🌐 Web 和移动设备友好的界面,允许从任何设备轻松访问(Thx ChatGPT-Next-Web)
二.安装使用
1.安装方法
git clone https://github.com/nashsu/FreeAskInternet.git
cd ./FreeAskInternet
docker-compose up -d
2.项目更新
cd ./FreeAskInternet
git pull
docker compose rm backend
docker image rm nashsu/free_ask_internet
docker-compose up -d
3.使用方法
在 http://localhost:3000 上打开 Web 界面。直接问问题即可。
三.原理解析
1.核心原理
- 系统在ChatGPT-Next-Web(本地运行)中获取用户输入的问题,并调用searxng(本地运行)在多个搜索引擎上进行搜索。
-
抓取搜索结果链接内容并传递给ChatGPT3.5(使用OpenAI ChatGPT3.5,通过本地运行的FreeGPT35),让ChatGPT3.5根据此内容作为参考回答用户问题。
-
将答案流式传输至 ChatGPT-Next-Web 聊天 UI。
2.镜像介绍
依赖关系:
UI -> chatgpt-next-web ->backend -> searxng