2 Star 1 Fork 1

zac / search_with_ai

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Search with AI

English 中文

更新时间: 2024/05/11

基于AI大语言模型的对话式搜索引擎的一个基本实现,基于Node.js&Vue3。适合小白入门AI开发参考:),文档后有交流群二维码。 Live Demo

仓库地址:GitHub仓库Gitee仓库

功能说明

  • 内置主流的LLM接口支持,如OpenAI、Google、通译千问、百度文心一言、Lepton。
  • 内置搜索引擎支持,如Bing、Sogou、Google、SearXNG(免费开源)。
  • 简洁的搜索对话Web界面。
  • Web界面支持暗色模式。
  • Web界面支持移动端。
  • 支持搜索引擎切换、AI模型切换。
  • 支持本地大模型(基于Ollama)。
  • 支持多语言(i18n)。
  • 支持根据结果上下文继续问答。
  • 支持缓存结果、强制重新生成结果。

使用 Docker 一键安装部署

文档后面有微信群二维码,有疑问也可以加入群交流。

安装Docker.

  • 克隆仓库
git clone https://github.com/yokingma/search_with_ai.git
cd search_with_ai

如果你想一键快速体验,这里不需要修改任何配置,直接运行下面的docker compose即可。

...
# openai KEY, docker compose 默认带了FreeGPT35,如果你没有自己的Key, 这里保持默认
OPENAI_KEY=freegpt35
# openai proxy
OPENAI_PROXY_URL=http://freegpt35:3040/v1
...
# 如果需要在docker中访问本地部署的Ollama, 你可能不用改变这个变量。
OLLAMA_HOST=http://host.docker.internal:11434

# docker compose 默认带了SearXNG免费聚合搜索, 默认不需要修改
SEARXNG_HOSTNAME=http://searxng:8080
  • 运行docker-compose. (不需要任何KYE)

默认包含了 SearXNG 和 FreeGPT3.5,只需要运行:

前提是确保你的网络环境能访问Google&OpenAI

docker compose up -d
  • 或者你也可以选择手动构建和运行(可选的
docker build -t my_image .
docker run -d -p 3000:3000 --name my_app my_image

浏览器访问 http://localhost:3000

  • 更新
  1. 运行 git pull (注意保存你的.env设置)

  2. 删除所有旧的容器和镜像

  3. 执行 docker compose down

  4. 执行 docker compose up -d

大模型支持

基于在线大模型的API(需要Key)

  • OpenAI ChatGPT
  • Google Gemini
  • Lepton LLama2、Mixtral8*7B
  • 阿里云通译千问
  • 百度文心一言
  • 零一万物
  • 月之暗面(Kimi)
  • 腾讯混元

本地大模型支持(无需Key)

支持Ollama运行的本地大模型。运行的时候只需要启动ollama即可。

搜索引擎配置

内置了搜索引擎服务:Bing、Sogou、Google、SearXNG。

SearXNG (免费开源,不需要KEY)

安装 SearXNG ,推荐用Docker部署 searxng-docker

SearXNG 是一款免费的互联网元搜索引擎,它集合了来自多个搜索服务和数据库的结果。该服务不会追踪或构建其用户档案,为寻求在线匿名性的用户提供保护。此外,SearXNG 还可通过 Tor 网络来实现在线匿名访问。

安装 SearXNG 时,默认情况下唯一处于激活状态的输出格式是 HTML 格式。若要使用 API,您需要启用 json 格式。可以通过在 settings.yml 文件中添加以下行来实现:

search:
    formats:
        - html
        - json

并且需要设置limiter为false:

server:
   limiter: false # default is true

也可以设置SEARXNG_HOSTNAME (编辑.env文件):

# SEARXNG_HOSTNAME=<host>

Bing搜索

如果要使用必应搜索,需要注册并订阅Bing搜索服务,获取必应订阅密钥(key)。

Bing搜索接口是收费的,但是每月有1000次免费调用额度。

Google搜索

如果要使用谷歌搜索引擎, 需要注册谷歌搜索API服务,每天有100次免费搜索额度。

Sogou搜索

内置的Sogou搜索并非直接调用API实现(似乎没有开放的API),只是通过网页搜索获取搜索结果。

内置的Sogou搜索优点是免费的,但是会触发人机验证,遇到不返回参考资料的情况可以手动打开sogou.com随便搜索关键词,根据提示手动验证一下解除。

普通安装部署

需要:

Node.js >= 18

国内用户推荐使用阿里云通译千问大模型,在阿里云模型服务灵积注册可以获取密钥(key),通译千问部分API使用是免费的(qwen-max、qwen-max-1201、qwen-max-longcontext),除了longcontext模型其他限制是60次请求/分钟。

  • 服务端
yarn install && yarn run build
  • 前端页面
cd web && yarn install && yarn run build
  • 配置
// .env
// Bing key
BING_SEARCH_KEY=your-key
// Google search key
GOOGLE_SEARCH_KEY=
GOOGLE_SEARCH_ID=
// aliyun key
ALIYUN_KEY=your-key
// baidu key
BAIDU_KEY=your-key
BAIDU_SECRET=your-secret
// google gemini key & base url
GOOGLE_KEY=
// Google api base url
GOOGLE_PROXY_URL=
// tencent KEY:ID, SECRET:KEY
TENCENT_KEY=
TENCENT_SECRET=
// Yi Key
YI_KEY=
// openai ChatGPT key
OPENAI_KEY=your-key
// openai base url
OPENAI_PROXY_URL=https://api.openai.com/v1
  • 启动 在项目根目录中执行:
yarn run start 
  • 更新 在项目根目录执行
git pull
yarn install
cd web && yarn install && yarn run build

启动成功后可以在浏览器打开http://localhost:3000 即可使用。

MIT License Copyright (c) 2024 zac_ma Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

基于AI大语言模型(LLM)的对话式快速搜索,一个简单实现,基于Node.js&Vue3。 Building a quick conversation-based search with AI, a simple implementation with Node.js & Vue3. 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
TypeScript
1
https://gitee.com/zac_ma/search_with_ai.git
git@gitee.com:zac_ma/search_with_ai.git
zac_ma
search_with_ai
search_with_ai
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891