[AI Perplexica] 深入解析,AI 架构揭秘

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析DNS,个人版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 了解 Perplexica 的核心架构,探索其用户界面、代理链、大型语言模型、嵌入模型等关键组件的运作方式,揭秘 AI 如何高效处理复杂查询任务。

上一篇文章,我们对 Perplexica 做了个基本介绍,包括特点,以及如何安装。

今天,我们来深入看下 Perplexica 的架构。

Perplexica 的架构

Perplexica 的架构由以下关键组件组成:

  1. 用户界面: 一个基于网页的界面,允许用户与 Perplexica 互动以搜索图像、视频等内容。
  2. 代理/链: 这些组件预测 Perplexica 的下一步动作,理解用户查询,并决定是否需要进行网络搜索。
  3. SearXNG: 一个用于网络搜索的元数据搜索引擎。
  4. 大型语言模型 (LLMs): 代理和链利用大型语言模型来执行任务,如理解内容、撰写回应和引用来源。例子包括 Claude、GPT 等。
  5. 嵌入模型: 为了提高搜索结果的准确性,嵌入模型使用相似性搜索算法(如余弦相似性和点积距离)对结果进行重新排序。

Perplexica 如何工作?

我们将通过一个用户询问 “空调是如何工作的?” 的示例来理解 Perplexica 的工作原理。我们将分步骤解释这个过程,以便更容易理解。步骤如下:

  1. 通过 WS 将消息发送到后台服务器,在那里它调用链。链将取决于您的焦点模式。在本例中,我们假设使用 “webSearch” 焦点模式。
    • 消息通过 web socket 发送
  2. 链现在被调用;首先,将消息传递到另一条链,在那里它首先预测(使用聊天记录和问题)是否需要来源和网络搜索。如果需要,它将生成一个查询(根据聊天记录)进行网络搜索,我们将在稍后讨论。如果不需要,链将在此结束,然后启动答案生成链,也称为响应生成器。
    • 这部分,也可以称为 query rewrite 或者 pre-llm
  3. 第一条链返回的查询被传递到 SearXNG 以搜索网络信息。
    • 传统搜索,这里使用 SearXNG
  4. 检索信息后,它基于关键词搜索。然后我们将信息和查询转换为嵌入,并进行相似性搜索,以找到最相关的来源来回答查询。
    • 传统搜索引擎返回信息较多,用 embedding model 进行相似性搜索
  5. 完成所有这些操作后,来源被传递给响应生成器。此链获取所有聊天记录、查询和来源,并生成一个响应,该响应会被流式传输到 UI。
    • 这里应该是调用 LLM ,传聊天记录,查询,来源,一起给 LLM ,然后 LLM 生成答案,流式传给 UI

答案如何引用?

LLMs 被提示这样做。我们提示它们很好地自行引用答案,并使用一些 UI 魔法将其显示给用户。

图片和视频搜索

图片和视频搜索以类似的方式进行。首先生成查询,然后我们在网上搜索与查询匹配的图片和视频。然后将这些结果返回给用户。


相关文章
|
1天前
|
负载均衡 监控 安全
微服务架构中的API网关模式解析
【7月更文挑战第4天】在微服务架构中,API网关不仅是一个技术组件,它是连接客户端与微服务之间的桥梁,负责请求的路由、负载均衡、认证、限流等关键功能。本文将深入探讨API网关的设计原则、实现方式及其在微服务架构中的作用和挑战,帮助读者理解如何构建高效、可靠的API网关。
|
4天前
|
消息中间件 Java API
解析Java微服务架构:从零构建高性能系统
解析Java微服务架构:从零构建高性能系统
|
2天前
|
负载均衡 Java 微服务
Java中的可扩展微服务架构设计案例解析
Java中的可扩展微服务架构设计案例解析
|
2天前
|
负载均衡 Java 微服务
Java中的可扩展微服务架构设计案例解析
Java中的可扩展微服务架构设计案例解析
|
14天前
|
机器学习/深度学习 缓存 算法
netty源码解解析(4.0)-25 ByteBuf内存池:PoolArena-PoolChunk
netty源码解解析(4.0)-25 ByteBuf内存池:PoolArena-PoolChunk
|
16天前
|
XML Java 数据格式
深度解析 Spring 源码:从 BeanDefinition 源码探索 Bean 的本质
深度解析 Spring 源码:从 BeanDefinition 源码探索 Bean 的本质
24 3
|
1天前
|
存储 安全 Java
深度长文解析SpringWebFlux响应式框架15个核心组件源码
以上是Spring WebFlux 框架核心组件的全部介绍了,希望可以帮助你全面深入的理解 WebFlux的原理,关注【威哥爱编程】,主页里可查看V哥每天更新的原创技术内容,让我们一起成长。
|
2天前
|
关系型数据库 分布式数据库 数据库
PolarDB-X源码解析:揭秘分布式事务处理
【7月更文挑战第3天】**PolarDB-X源码解析:揭秘分布式事务处理** PolarDB-X,应对大规模分布式事务挑战,基于2PC协议确保ACID特性。通过预提交和提交阶段保证原子性与一致性,使用一致性快照隔离和乐观锁减少冲突,结合故障恢复机制确保高可用。源码中的事务管理逻辑展现了优化的分布式事务处理流程,为开发者提供了洞察分布式数据库核心技术的窗口。随着开源社区的发展,更多创新实践将促进数据库技术进步。
11 3
|
8天前
|
Java 数据库连接 Spring
Spring 整合 MyBatis 底层源码解析
Spring 整合 MyBatis 底层源码解析
|
7天前
|
NoSQL Java Redis
【源码解析】自动配置的这些细节都不知道,别说你会 springboot
【源码解析】自动配置的这些细节都不知道,别说你会 springboot

推荐镜像

更多