最近发现一个非常赞的AI项目,由前阿里副总裁、深度学习框架Caffe作者贾扬清开发,可以让你一键部署自己的对话搜索引擎,对标Perlexity。
如果不想自行部署,推荐直接访问官方演示项目进行快速体验。
技术实现
同之前介绍的搭建私有知识库的方法,无非是从原先的私有数据库切换到搜索引擎进行基于检索的增强生成(RAG),简单来说分成如下几步
- 用户输入查询
- 抓取用户输入关键字相关的搜索页面并解析网页文本
- 基于上述文本构建提示词,把提示词递交给大语言模型,把大语言模型生成的结果返回给用户
整个项目代码写的比较精炼简洁,借助于lepton的封装,极大的降低了学习和部署成本。个人觉得相较于之前项目在交互上的几个值得称赞的地方
- 将资料引用可视化,非常方便进行信息回溯。现在很多平台也支持,如ChatPDF等还支持对PDF文件的索引
- 提供基于搜索结果的推荐,方便进行二次检索
- 分享功能:目前仅在官网示例有,开源版暂无。分享历史对话功能有点类似UGC平台,让整个搜索对话可以变得可分享
- 缓存用户查询:下次用户进行相同提问时可以提升响应速度也能降低LLM使用成本
话不多说,直接上项目链接: https://github.com/leptonai/search_with_lepton
环境准备
以上软件不同平台都有安装教程,这里暂不赘述。
搜索引擎API准备
如前文所述,因Lepton Search需要借助搜索引擎获得初步候选结果,然后再基于搜索结果进行提炼,Lepton支持Bing和Google两种搜索引擎。
Bing
在这里申请,申请页面如下
Key在这里显示(后面会用到)
隐藏福利:
- 个人项目推荐F1计划,每个月前1000次免费,每秒最大并发度=3
- 对于Azure新注册用户微软会送$200,注册完也可以顺便注册一个OpenAI Azure,在国内也可以正常使用GPT3.5和GPT4 :)
由于谷歌自身的政策限制,为了避免自己频繁查询被Google封禁,出于稳定性的考虑一般不推荐自己搭建GoogleAPI,这里推荐几个第三方集成的API接入网站
- SearchApi的Google Search API
- Serper的Serper Google Search API
- Google的Programmable Search Engine
安装项目依赖
1 | cd web && npm install && npm run build |
启用服务
以下任选其一即可
Bing
1 | export BING_SEARCH_V7_SUBSCRIPTION_KEY=YOUR_BING_SUBSCRIPTION_KEY |
Google(SearchAPI)
1 | export SEARCHAPI_API_KEY=YOUR_SEARCHAPI_API_KEY |
Google(Serper)
1 | export SERPER_SEARCH_API_KEY=YOUR_SERPER_API_KEY |
Google(Programmable Search Engine)
1 | export GOOGLE_SEARCH_API_KEY=YOUR_GOOGLE_SEARCH_API_KEY |
大功告成!
常规测试
2024年春节假期
https://search.lepton.run/search?rid=Qs9mCllgcItuRl9DnM7n7
昨天(2024年2月7日)的新闻
https://search.lepton.run/search?rid=KUo01HBuMJAoczYNhEJnS
更多新功能留给大家探索,祝大家新春快乐!