秘塔AI搜索是由秘塔科技于2024年初推出的一款新型搜索引擎,被业界誉为“中国版的Perplexity”。秘塔科技成立于2018年4月,其核心团队包括CEO闵可锐、技术专家唐悦和首席运营官王益为等。秘塔AI搜索以其高效简洁的特点受到关注,其搜索结果直接提供答案,而不是像传统搜索引擎那样提供多个网页链接。这种搜索方式更加高效,因为它减少了用户在多个网页间寻找信息的时间。
秘塔AI搜索的特点包括提供简洁、深入和研究三种不同详细程度的回答选项,并支持“全网”和“学术”两种搜索模式。搜索结果旁边附有大纲,下方则列出相关事件、组织和人物,并标明信息来源。这种设计旨在提供清晰、有条理的信息,帮助用户快速获取所需知识。
秘塔AI搜索的增长速度非常快,它的成功部分归功于其提供的独特搜索体验。然而,作为一个新兴的搜索引擎,秘塔AI搜索也面临着商业化的挑战。如何在不牺牲用户体验的前提下实现盈利,是秘塔科技需要解决的问题。目前,秘塔AI搜索还没有广告,但未来可能会考虑添加广告或其他商业化策略。
总的来说,秘塔AI搜索是一个创新的搜索引擎,它通过提供直接、有条理的答案来改善用户的搜索体验。尽管它可能不是解决所有问题的最终方案,但其独特的搜索方式可能会影响未来几年的搜索趋势
部署本地搜索引擎
项目概述
开源秘塔搜索项目是一个主要基于TypeScript的Web项目,其核心功能包括:
内置主流的大语言模型(LLM)接口支持
包括OpenAI、Google、通译千问、百度文心一言、Lepton、DeepSeek等。
集成多种搜索引擎
支持Bing、Sogou、Google、以及免费开源的SearXNG等。
简洁的搜索对话Web界面
具备暗色模式和移动设备友好支持。
支持搜索引擎与AI模型的切换
用户可以自由选择和切换所使用的搜索引擎和AI模型。
多语言支持(i18n)
提供多语言界面,方便不同地区的用户使用。
结果缓存与上下文问答
支持结果缓存和基于上下文的继续问答,提高用户体验。
项目地址
项目的GitHub地址为:
https://github.com/yokingma/search_with_ai
大概就是这样的界面 秘塔的源码里面也有部署的详细介绍
部署指南
接下来,我们将详细介绍如何一键安装和部署这个开源项目。
使用 Docker 快速安装部署
首先,克隆项目源代码:
git clone https://github.com/yokingma/search_with_ai.git
cd search_with_ai
进入项目目录后,需要进行一些配置:
OpenAI Key
项目默认带有免费Key:freegpt35,如果你没有自己的Key,可以保持默认。
OPENAI_KEY=freegpt35
OpenAI 代理地址
项目默认代理地址为:
OPENAI_PROXY_URL=http://freegpt35:3040/v1
Ollama本地部署
如果需要在docker中访问本地部署的Ollama,不用改变变量。
OLLAMA_HOST=http://host.docker.internal:11434
SearXNG 搜索引擎配置
项目默认包含了SearXNG免费聚合搜索引擎,默认配置
SEARXNG_HOSTNAME=http://searxng:8080
完成配置后,可以通过Docker命令启动项目:
docker compose up -d
等待项目启动完成后,便可以通过浏览器访问项目的Web界面,进行搜索体验了。
部署本地api
但是我想用接口的方式调用而并不是想仅仅部署一个本地的搜索引擎 于是去官网找到了一个开源的api部署
Git地址
metaso-free-api: 🚀 秘塔AI搜索逆向API白嫖测试【特长:超强检索超长输出】,支持高速流式输出、超强联网搜索(全网or学术以及简洁、深入、研究三种模式),零配置部署,多路token支持 https://gitee.com/llm-red-team/metaso-free-api
其实这个在本地部署很简单
效果示例
三种搜索模式(简洁、深入、研究)
Dify工作流妙用
接入准备
从 秘塔AI搜索 获取uid
和sid
并使用-
拼接:
进入秘塔AI搜索,登录账号(建议登录账号,否则可能遭遇奇怪的限制),然后F12打开开发者工具,从Application > Cookies中找到uid
和sid
的值。
将uid和sid拼接:uid-sid
,如 65e91a6b2bac5b600dd8526a-5e7acc465b114236a8d9de26c9f41846
。
这将作为Authorization的Bearer Token值:Authorization: Bearer uid-sid
多账号接入
注意:目前怀疑秘塔对IP地址的总搜索次数有限制,建议加入IP轮换
你可以通过提供多个账号的uid-sid并使用,
拼接提供:
Authorization: Bearer uid-sid1,uid-sid2,uid-sid3
每次请求服务会从中挑选一个。
Docker部署
请准备一台具有公网IP的服务器并将8000端口开放。
拉取镜像并启动服务
docker run -it -d --init --name metaso-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/metaso-free-api:latest
查看服务实时日志
docker logs -f metaso-free-api
重启服务
docker restart metaso-free-api
停止服务
docker stop metaso-free-api
Docker-compose部署
version: '3' services:metaso-free-api:container_name: metaso-free-apiimage: vinlic/metaso-free-api:latestrestart: alwaysports:- "8000:8000"environment:- TZ=Asia/Shanghai
Render部署
注意:部分部署区域可能无法连接metaso,如容器日志出现请求超时或无法连接,请切换其他区域部署! 注意:免费账户的容器实例将在一段时间不活动时自动停止运行,这会导致下次请求时遇到50秒或更长的延迟,建议查看Render容器保活
-
fork本项目到你的github账号下。
-
访问 Render 并登录你的github账号。
-
构建你的 Web Service(New+ -> Build and deploy from a Git repository -> Connect你fork的项目 -> 选择部署区域 -> 选择实例类型为Free -> Create Web Service)。
-
等待构建完成后,复制分配的域名并拼接URL访问即可。
Vercel部署
注意:Vercel免费账户的请求响应超时时间为10秒,但接口响应通常较久,可能会遇到Vercel返回的504超时错误!
请先确保安装了Node.js环境。
npm i -g vercel --registry http://registry.npmmirror.com vercel login git clone https://github.com/LLM-Red-Team/metaso-free-api cd metaso-free-api vercel --prod
原生部署
请准备一台具有公网IP的服务器并将8000端口开放。
请先安装好Node.js环境并且配置好环境变量,确认node命令可用。
安装依赖
npm i
安装PM2进行进程守护
npm i -g pm2
编译构建,看到dist目录就是构建完成
npm run build
启动服务
pm2 start dist/index.js --name "metaso-free-api"
查看服务实时日志
pm2 logs metaso-free-api
重启服务
pm2 reload metaso-free-api
停止服务
pm2 stop metaso-free-api
推荐使用客户端
使用以下二次开发客户端接入free-api系列项目更快更简单,支持文档/图像上传!
由 Clivia 二次开发的LobeChat GitHub - Yanyutin753/lobe-chat: 🤯 Lobe Chat - an open-source, modern-design LLMs/AI chat framework. Supports Multi AI Providers( OpenAI / Claude 3 / Gemini / Perplexity / Bedrock / Azure / Mistral / Ollama ), Multi-Modals (Vision/TTS) and plugin system. One-click FREE deployment of your private ChatGPT chat application.
由 时光@ 二次开发的ChatGPT Web https://github.com/SuYxh/chatgpt-web-sea
接口列表
目前支持与openai兼容的 /v1/chat/completions
接口,可自行使用与openai或其他兼容的客户端接入接口,或者使用 dify 等线上服务接入使用。
对话补全
对话补全接口,与openai的 chat-completions-api 兼容。
POST /v1/chat/completions
header 需要设置 Authorization 头部:
Authorization: Bearer [token]
请求数据:
{// 全网model名称支持 -> 简洁:concise / 深入:detail / 研究:research// 学术model名称支持 -> 学术-简洁:concise-scholar / 学术-深入:detail-scholar / 学术-研究:research-scholar// model乱填的话,可以通过tempature参数来控制(但不支持学术):简洁:< 0.4 / 深入:>= 0.4 && < 0.7 / 研究:>= 0.7// model乱填的话,还可以通过消息内容包含指令来控制:↓↓↓// 简洁 -> 简洁搜索小米su7 / 深入 -> 深入搜索小米su7 / 研究 -> 研究搜索小米su7// 学术-简洁 -> 学术简洁搜索:小米su7 / 学术-深入 -> 学术深入搜索小米su7 / 学术研究 -> 学术研究搜索小米su7// 优先级:model > 消息内容指令 > tempature"model": "concise","messages": [{"role": "user","content": "秘塔AI"}],// 如果使用SSE流请设置为true,默认false"stream": false }
响应数据:
{"id": "8466827997659213824","model": "concise","object": "chat.completion","choices": [{"index": 0,"message": {"role": "assistant","content": "秘塔AI搜索是上海秘塔网络科技有限公司在2024年初推出的一款新产品,被誉为中国版Perplexity。它利用自研的大模型MetaLLM,能够直接对用户的提问进行理解和回答,提供结构化、准确、直接的搜索结果,并明确列出来源参考,无需科学上网,解决了语言理解上的误差[[1]]。秘塔AI搜索通过其强大的语义理解能力和全网搜索功能,为用户提供了一个高效、无广告、信息丰富的搜索体验[[2]]。此外,秘塔AI搜索的特点包括没有广告,直达结果;结构化信息展示;以及信息来源追溯,为每条搜索结果提供了来源链接,用户可以轻松溯源验证信息的出处和可靠性[[4]]。秘塔科技成立于2018年4月,是一家新锐科技公司,致力于运用AI技术赋能专业场景,进行技术研发与产品落地[[3]]。\n"},"finish_reason": "stop"}],"usage": {"prompt_tokens": 1,"completion_tokens": 1,"total_tokens": 2},"created": 1712859314 }
token存活检测
检测token是否存活,如果存活live未true,否则为false,请不要频繁(小于10分钟)调用此接口。
POST /token/check
请求数据:
{"token": "65e91a6b2bac5b600dd8526a-5e7acc465b114236a8d9de26c9f41846" }
响应数据:
{"live": true }
注意事项
Nginx反代优化
如果您正在使用Nginx反向代理metaso-free-api,请添加以下配置项优化流的输出效果,优化体验感。
# 关闭代理缓冲。当设置为off时,Nginx会立即将客户端请求发送到后端服务器,并立即将从后端服务器接收到的响应发送回客户端。 proxy_buffering off; # 启用分块传输编码。分块传输编码允许服务器为动态生成的内容分块发送数据,而不需要预先知道内容的大小。 chunked_transfer_encoding on; # 开启TCP_NOPUSH,这告诉Nginx在数据包发送到客户端之前,尽可能地发送数据。这通常在sendfile使用时配合使用,可以提高网络效率。 tcp_nopush on; # 开启TCP_NODELAY,这告诉Nginx不延迟发送数据,立即发送小数据包。在某些情况下,这可以减少网络的延迟。 tcp_nodelay on; # 设置保持连接的超时时间,这里设置为120秒。如果在这段时间内,客户端和服务器之间没有进一步的通信,连接将被关闭。 keepalive_timeout 120;
Token统计
由于推理侧不在metaso-free-api,因此token不可统计,将以固定数字返回。