Hello,大家好,好久不见!继OpenAI推出GPT-4o和类似“HER”的应用之后,Google在最近的I/O大会上也展示了他们的”多件套“应用AI搜索引擎。虽然Google的AI搜索引擎尚未正式推出,但今天,让我们先睹为快,一起来探索下开源的AI搜索引擎项目-Farfalle,它是一个国外非常火的PerplexityAI搜索引擎的平替产品,再比较下AI搜索引擎与我们熟悉的传统搜索引擎之间的区别。
项目概述
Farfalle项目是一个由AI搜索引擎驱动的框架,其主要由Tavily Search AI API作为主搜索引擎,再结合本地或云端LLMs作为内容分析总结回馈优化等。Farfalle可以在本地部署也可以云端部署。
支持开源模型和闭源模型
- 支持本地运行的LLMs(如:基于Ollama的llama3、gemma、mistral)
- 支持第三方平台的模型(如:Groq的llama3、OpenAI的chat-gpt4o)
技术栈
- Frontend: Next.js
- Backend: FastAPI
- Search API: Tavily
- Logging: Logfire
- Rate Limiting: Redis
- Components: shadcn/u
Tavily Search AI API介绍
这是一款专为大型语言模型(LLMs)和Retrieval-Augmented Generation(RAG)检索增强生产技术优化的搜索引擎,致力于提供高效率、迅捷且持续稳定的搜索结果。与Serp或谷歌等其他搜索API相比,Tavily 更专注于为AI开发者和自动化AI agents提供搜索优化服务。其主要负责处理所有搜索、抓取、筛选和从网络资源中提取最相关资讯的繁琐工作。
项目准备
前置条件:
以windows系统为例(Linux差不多也这样一个安装流程)
- 已安装Docker;
- 已安装git clone;
- 已安装IDE环境(VS Code即可);
- 已安装Ollama,并启动该服务
ollama serve
; - 提前准备Tavily Search AI API KEY,注册登录Tavily,首页即可看到API key(目前能免费请求1000次)。
开始安装
- 在GitHub上获取该项目拉取地址,项目地址在文尾
2. 在Windows的Powershell中输入git clone https://github.com/rashadphz/farfalle.git 拉取该项目。
注意:由于我是演示,才把拉取的镜像文件放在C盘目录下,你可以指定其他拉取目录。
3. 进入farfalle目录下新建.env文件(就是新建一个*.txt文件,一个文件名为空的.env格式文件)
4. 在.env文件内添加环境变量命令,填写完成后保存。后面的十六位进制的key就是刚才在Tavily上获取的:
TAVILY_API_KEY=tvly-M6p0io7FdSbRy3Ma3iMSwB4M********
5. 在farfalle目录下找到docker-compose.dev.yaml文件,用VScode打开该文件修改环境变量,
TAVILY_API_KEY=
填写为刚才的API Key
OPENAI_API_KEY=
可删除(由于这次演示我们用的Ollama本地模型,不用OpenAI的模型);
GROQ_API_KEY=
可删除(同理)
6. 回到farfalle目录鼠标右键打开终端Power shell;
7. 在Powershell内输入命令
docker-compose -f docker-compose.dev.yaml up -d
8. 开始拉取该项目相关的docker镜像文件、环境文件以及支持该项目的依赖库。
💥注意:
- 有些环境和依赖库在外网,网络不好的小伙伴可能需要优化网络(魔法);
- 拉去完成后3000端口无法启动该项目,docker容器报错如下:
- (HTTP code 500) server error - Ports are not available: exposing port TCP 0.0.0.0:3000 -> 0.0.0.0:0: listen tcp 0.0.0.0:3000: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
- 可能是Windows NAT 驱动的问题,解决办法如下:
- 用管理员权限启动cmd终端输入:
- 第一步:输入命令
net stop winnat
#停止windows NAT 驱动程序 - 第二步:输入命令
net start winnat
#开启windows NAT 驱动程序
9. 拉取完毕后在浏览器输入 127.1.1.1:3000 打开该项目前端页面
实际使用
写在最后
当前,主流的传统搜索引擎依赖于关键字搜索、索引数据库和相关性排序等核心特性。然而,这些方法有时无法精确捕捉到用户的真实需求,导致搜索结果不尽如人意。特别是在国内市场,搜索引擎的商业化倾向明显,广告内容泛滥,极大地影响了用户的搜索体验,让用户感到困扰和不便。
与之形成鲜明对比的是,现代AI搜索引擎通过先进的算法和深度学习技术,能够更准确地理解用户的查询意图,并直接匹配到最相关的信息。这种智能化的搜索方式不仅有效避免了广告的干扰,还能提供更为精准和个性化的搜索结果,极大地提升了用户的搜索满意度和效率。
传送门:
Farfalle项目地址:https://github.com/rashadphz/farfalle
TavilyAI地址:https://app.tavily.com/