LLocalSearch 是一个完全本地运行的搜索聚合器,使用LLM Agents。用户可以提出一个问题,系统将使用LLMs 的链条来查找答案。用户可以看到代理的进度和最终答案。无需 OpenAI 或 Google API 密钥。
与传统依赖于云API(如OpenAI或Google API)的搜索服务不同,LLocalSearch 的所有操作都在本地完成,这意味着所有的数据处理和搜索逻辑都在用户的机器上执行,不需要通过互联网传输数据到外部服务器。
功能特点包括:
-
完全本地运行:LLocalSearch 不需要连接到OpenAI或Google等外部API,所有搜索活动都在本地完成,保证了高度的隐私和安全。
-
LLM代理使用:采用一系列大语言模型代理来查找和处理用户的问题,这种方法可以有效地利用当前的自然语言处理技术,提供准确的搜索结果。
-
支持跟进问题:不仅可以回答用户的初始查询,还支持对搜索结果提出后续问题,增强了交互性和搜索深度。
-
进度日志:用户可以看到代理搜索过程的进度日志,这提高了搜索过程的透明度,让用户了解背后发生的事情。
-
低端硬件兼容:虽然推荐使用GPU,但LLocalSearch设计允许在不具备高性能硬件的情况下运行,使得更多用户能够使用。
-
快速部署:通过Docker Compose,LLocalSearch提供了快速且简便的部署方式,用户可以轻松地在自己的环境中启动和运行。
-
Web界面访问:提供了一个Web界面,使得用户可以从任何设备轻松访问搜索服务,界面设计支持浅色和深色模式,考虑了用户体验。
-
移动友好设计:界面设计考虑了移动设备的使用场景,确保在小屏幕上也能提供良好的用户体验。
工作原理:
- 大型语言模型(LLM)代理:LLocalSearch 使用一系列的大型语言模型(LLM)作为代理,这些模型能够理解和处理自然语言。用户输入一个查询后,这些LLM代理被用来解析查询内容,并尝试找到最相关的答案。每个代理可能专注于不同类型的查询或数据源,共同工作以产生综合的搜索结果。
- 聊天层:系统内部有一个“聊天层”,记录用户的查询和系统的响应。这个层面不仅为用户提供了一个与系统交互的界面,还允许系统保留查询历史,这可能有助于理解上下文或处理后续的查询。
- 链的调用与自我评价循环:LLocalSearch 的设计允许不同的处理链根据需要被调用。这些链可以独立运行,自动完成其特定的任务,而无需用户的直接干预。通过使用自我评价循环,每个链可以在没有外部输入的情况下持续改进其处理结果。
- 扩展性:LLocalSearch 被设计为易于扩展。开发者可以轻松地向系统中添加新的链,以处理新的查询类型或改进现有的处理逻辑。这种扩展性通过制定一种配置格式实现,其中定义了链的运行条件和输入/输出格式。
应用场景
- 隐私敏感环境:对于那些对隐私有严格要求的用户或组织,LLocalSearch 提供了一种不将数据暴露给外部服务提供商的解决方案。
- 本地数据搜索:在某些情况下,用户可能需要在本地数据集中进行搜索,这种情况下,LLocalSearch 可以作为一个强大的工具,无需将查询或数据上传到云。