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

  • [AI 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 魔法将其显示给用户。

图片和视频搜索

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


  • gitlab
  • AI 博客 - 从零开始学AI
  • 公众号 - 从零开始学AI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(2024)docker-compose实战 (8)部署LAMP项目(最终版)

前言 在前一篇文章中, 我们已经搭建LAMP环境, 但php没有安装扩展, 这篇文章将安装PHP扩展, 实现正常的PHP项目部署我在git中查找到一个简易安装PHP扩展的方法(GitHub - mlocati/docker-php-extension-installer: Easily install PHP extensions in Docker containers).通过这个…

MySQL 忘记了密码怎么办?

如果 MySQL 普通账户忘记了密码,很容易解决,可以通过登录 root 账户来重置普通账户密码。然而,如果 root 账户的密码也忘记或丢失了,该怎么办呢? 这篇文章将教你如何重置 root 账户密码,亲测有效。 版本&…

【Python机器学习】模型评估与改进——二分类指标

目录 1、错误类型 2、不平衡数据集 3、混淆矩阵 与精度的关系。 准确率、召回率与f-分数 分类报告 4、考虑不确定性 5、准确率-召回率曲线 6、受试者工作特征(ROC)与AUC 二分类可能是实践中最常见的机器学习应用,也是概念最简单的应…

云原生之容器编排实践-OpenEuler23.09在线安装Kubernetes与KubeSphere

背景 前几篇文章中介绍了如何将 ruoyi-cloud 项目部署到 Kubernetes 集群中,包括网关服务、认证服务和系统服务并且对全部服务采用 YAML 文件的方式来进行部署,这虽然有助于理解 K8S 组织管理资源的风格与底层机制,但是对于团队中不太熟悉命…

代码随想录算法训练营第21天|LeetCode 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

1.LeetCode 669. 修剪二叉搜索树 题目链接:https://leetcode.cn/problems/trim-a-binary-search-tree/description/ 文章链接:https://programmercarl.com/0669.修剪二叉搜索树.html 视频链接:https://www.bilibili.com/video/BV17P41177ud?…

【网络】网络基础(一)

网络基础(一) 文章目录 一、计算机网络背景1.1网络发展1.2认识“协议” 二、网络协议初识2.1OSI七层模型2.2OSI五层模型 三、网络传输基本流程3.1局域网通信3.2网络传输流程不跨子网的网络传输跨子网的网络传输 3.3网络中的地址管理IP地址MAC地址 一、计…

Kotlin中的数据类型

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

算法训练 | 图论Part1 | 98.所有可达路径

目录 98.所有可达路径 深度搜索法 98.所有可达路径 题目链接&#xff1a;98. 所有可达路径 文章讲解&#xff1a;代码随想录 深度搜索法 代码一&#xff1a;邻接矩阵写法 #include <iostream> #include <vector> using namespace std; vector<vector<…

冒泡排序写法

正宗的冒泡排序写法&#xff1a; public class BubbleSort {public static void main(String[] args) {int[] a {4,6,5,24,3,7,1};//初始化一个最大角标变量int n a.length-1;//循环轮次for (int i0;i<n;i){//从后向前开始&#xff0c;相邻元素比较大小&#xff0c;小的元…

Batch Size 不同对evaluation performance的影响

目录 问题描述如果是bugbatch size的设置问题尝试使用GroupNorm解决batchsize不同带来的问题归一化的分类 参考文章 问题描述 深度学习网络训练时&#xff0c;使用较小的batch size训练网络后&#xff0c;如果换用较大的batch size进行evaluation&#xff0c;网络的预测能力会…

Python基础001

Python输出语句 print输出字符串 print("中国四大名著&#xff1a;","西游记|","三国演义|","红楼梦|","水浒传") print(6) print(1 1)Python输入语句 input函数 input() input("我的名字是&#xff1a;") p…

efficient evolution 抗体进化模型笔记

使用到的六个esm模型&#xff1a; python bin/recommend.py --model-names, default[ esm1b, esm1v1, esm1v2, esm1v3, esm1v4, esm1v5, ] 计算概率分布&#xff1a; logits model.predict_sequence_prob(seq): 通过模型对输入序列 seq 进行预测&#xff0c;…

2023年下半年软考网络规划设计师论文真题

论文一 论虚拟化网络架构的规划与建设 随着信息技术的发展,网络以及软件厂商的产品、企业网络的规划按照NaaS模型进行演进已经成为一种共识。在NaaS的理念下,企业的IT专业人员将能够从选项菜单中订购网络基础设施组件,根据业务需求进行设计,并在短时间内交付和运行整个网…

RK3568驱动指南|第十五篇 I2C-第182章 使用Linux中默认的模拟I2C驱动程序

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

线性代数笔记

行列式 求高阶行列式 可以划上三角 上三角 余子式 范德蒙行列式 拉普拉斯公式 行列式行列对换值不变 矩阵 矩阵的运算 同型矩阵加减 对应位置相加减 矩阵的乘法 左边第 i 行 一次 相乘求和 右边 第 j 列 eg 中间相等 两边规模 矩阵的幂运算 解题思路 找规律 数学归纳…

用C语言做一个web站,富文本写入与展示,用户登录,文本目录划分

目录 1. 基础准备必备工具&#xff1a; 2. 目录结构3. 用户登录&#xff08;使用简单的文件系统管理&#xff09;4. 富文本编辑器和展示5. 样式文件6. 配置 Web 服务器7. 运行和测试 构建一个简单的 Web 站点实现富文本写入和展示、用户登录以及文本目录划分需要结合多个技术&a…

CVE-2024-6387 分析

文章目录 1. 漏洞成因2. 漏洞利用前置知识2.1 相关 SSH 协议报文格式2.2 Glibc 内存分配相关规则 3. POC3.1 堆内存布局3.2 服务端解析数据时间测量3.3 条件竞争3.4 FSOP 4. 相关挑战 原文链接&#xff1a;个人博客 近几天&#xff0c;OpenSSH爆出了一个非常严重的安全漏洞&am…

重生奇迹mu精灵之心怎么搭配

玩家可以通过召唤来召唤多种精灵之心&#xff0c;每种精灵之心增加的属性也不同。精灵之心的作用是为了提升各种各样的属性。我们可以通过召唤获得精灵之心&#xff0c;前面的解锁费用较低&#xff0c;而后面的解锁需要大量的金币来解锁。 召唤精灵之心后&#xff0c;我们可以…

OpenResty Nginx:详细对比与部署指南

简介 Nginx 和 OpenResty 都是高性能的 Web 服务器和反向代理服务器&#xff0c;但它们有着不同的特性和应用场景。Nginx 是一个轻量级的、高性能的 HTTP 和反向代理服务器&#xff0c;而 OpenResty 是基于 Nginx 的集成软件平台&#xff0c;增强了 Nginx 的功能&#xff0c;特…