一文带你搞清楚AI领域的高频术语!RAG、Agent、知识库、向量数据库、知识图谱、Prompt...都是在讲啥?

news2024/11/27 11:36:00

随着AI人工智能技术的不断发展,一些领域有关的概念和缩写总是出现在各种文章里,像是Prompt Engineering、Agent 智能体、知识库、向量数据库、RAG 以及知识图谱等等,但是这些技术和概念也的的确确在AI大模型的发展中扮演着至关重要的角色。这些技术元素在多样化的形态中相互协作,共同推动 AI 技术持续向前发展。在这篇文章中,我们将深入探讨包括但不限于以上这些总是与大模型搭配出现的高频词汇,白话了解下这几种技术背后的含义。

以上的技术属于我们先来做个分类,方便大家理解。和大模型技术优化相关的几个概念:Prompt Engineering、RAG、Fine-Tunning、Function Calling、Agent。先来一张简单的类比图,大致体会一下这几种技术的不同定位:

其他的就是AI领域的通用概念:知识库、向量数据库、知识图谱、AGI

Prompt Engineering

纯Prompt技术架构可以看作是最原始、最直观的与大语言模型的交互方式。他在任务效率上也是最高的,有效的Prompt也是可以最大程度的激发模型的好的表现,在小纸条之前的文章中也给大家分享过,它是模型效果优化的两条路径-微调和RAG技术,共同的基础。openAI官网也给出了优化prompt的教程,详情也可以看下小纸条之前的发问。

延展点来讲,Prompt更像是一种激发模型自己内部更好表现的一个指引,因为模型在基于大量数据进行学习时会总结很多in-context-learning的内部规律,而好的Prompt就是可以激发正确的规则去引导模型更好的表现。

在交互上,这也是大语言模型与人类最友好的方式。它就像与一个人对话,你说一句,AI回应一句,简单直接,不需要对模型有什么权重的更新和复杂处理。

Agent

一句话总结,Agent智能体 = 基于大模型的推理结果+结合工具触发下一步行为和交互

在 AI 大模型时代,Agent可以被抽象的理解为具备基于思考结果并可以与环境进行交互的实产品或能力。我们有时候也叫它“代理”、“智能主体”。

Agent构建在大语言模型的推理能力基础上,对大语言模型的 Planning 规划的方案使用工具执行(Action) ,并对执行的过程进行观测(Observation),保证任务的落地执行。

举个例子来方便理解:

想象一个机器人管家。这个机器人能够理解你的指令,比如“请打扫客厅”,并且能够执行这个任务。机器人管家就是一个agent,它能够自主地感知环境(比如识别哪些地方是客厅),做出决策(比如决定打扫的顺序和方法),并执行任务(比如使用吸尘器打扫)。在这个比喻中,机器人管家是一个能够自主行动和做出复杂决策的实体。

Function Calling

Function calling通常指的是模型调用特定函数的能力,这些函数可以是内置的,也可以是用户自定义的。在执行任务时,模型可能会通过分析问题来决定何时以及如何调用这些函数。例如,一个语言模型在回答数学问题时,可能会使用内部的计算函数来得出答案。Function calling机制允许模型利用外部工具或内部功能来增强其处理特定任务的能力。

Function Calling 机制主要由以下几个关键组件构成:

函数定义:预先定义可调用的函数,包括名称、参数类型和返回值类型等。

函数调用请求:用户或系统发出的调用请求,包含函数名称及所需参数。

函数执行器:实际执行函数的组件,可能是外部的 API 或本地逻辑处理器。

结果返回:函数执行完毕后,返回结果给 ChatGPT,继续对话

举个例子来理解:

想象你正在使用一个智能手机。当你想要拍照时,你会打开相机应用。这个相机应用就是一个Function Calling ,它提供了拍照的功能。你通过点击相机图标来“调用”这个功能,然后你可以拍照、编辑照片等。在这个比喻中,智能手机就是大模型,你想要拍照的行为是大模型判断得到的结论,相机应用就是预定义的函数,而打开相机应用并使用其功能就是基于模型分析结果的Function Calling。

LLM 的 Function Calling 机制极大地扩展了其功能,使其能够在对话中动态调用外部函数,提供实时、个性化和互动的服务。这一机制不仅提升了用户体验,也为开发者提供了强大的工具,帮助他们构建更智能、更强大的对话系统和应用。

Function Calling VS Agent

Function Calling就像是调用一个具体的功能或工具来帮助你完成特定的任务,而Agent则更像是一个能够独立思考和行动的个体,它可以在没有人类直接指导的情况下完成一系列复杂的任务。

在某些高级应用中,Function Calling功能可以视为AI Agent的一种具体行动表现形式,即智能体在执行任务过程中调用外部资源或服务的一种策略。例如,一个具备Function Calling能力的AI Agent在进行对话或解决问题时,能动态地发起函数调用来获取额外的信息或执行特定的操作,从而更好地服务于用户需求。

function_call 更侧重于表示模型直接产生调用函数的具体行为,是模型执行流程中的一个具体步骤或操作。

agent 则是一个更为宽泛的概念,代表的是具有智能行为的整体系统,它包括了感知、推理、决策以及执行等多个环节,而不仅仅是发起函数调用这一动作。

总结来说,function_call 是构建高效、智能Agent的重要组成部分,用于实现Agent对外部世界的操作接口和交互能力,而Agent则是包含了更多复杂逻辑和生命周期管理的完整实体。

RAG(检索增强生成)

一句话总结,RAG就是给大模型它原本数据集中没有的知识。

RAG(Retrieval-Augmented Generation)技术是一种集成检索与生成双重能力的知识增强方案,旨在应对复杂多变的信息查询和生成挑战。在如今的大模型时代背景下,RAG 巧妙地引入非模型训练所使用的外部数据源,比如截止模型训练时使用的数据之后的更为实时的数据,或者是一些没有公开的内部数据等,为大模型赋予了更准确和更实时的信息检索实力,从而显著提升了信息查询和生成的答案的质量。

RAG架构结合了Embeddings和向量数据库技术。Embeddings是将文字转换为向量编码,这些向量存储在向量数据库中,以便于于相似度计算和快速查找。当接收到用户输入时,AI会根据输入向量在数据库中找到最相似的向量,也就是相关的知识片段,随后,这些片段会与大模型的智慧相结合,为用户生成更精确和全面的回答。

Fine-Tuning:深入学习与长期记忆

Fine-tuning(微调)是一种通过特定领域数据对预训练模型进行针对性优化,以提升其在特定任务上的性能的技术。它利用特定领域的数据集对已预训练的大模型进行进一步训练,使模型能够更好地适应和完成特定领域的任务

Fine-tuning的核心原因

定制化功能:微调的核心原因是赋予大模型更加定制化的功能。通用大模型虽然强大,但在特定领域可能表现不佳。通过微调,可以使模型更好地适应特定领域的需求和特征。

领域知识学习:通过引入特定领域的数据集进行微调,大模型可以学习该领域的知识和语言模式,有助于模型在特定任务上取得更好的性能

RAG VS Fine-tuning

知识获取与融合能力:RAG技术为语言模型赋予了无与伦比的知识检索与融合能力,突破了传统Fine-tuning微调方式的局限,使模型的输出质量和知识覆盖面得到了极大的提升。

幻觉减少:RAG系统的设计本质上可以降低其产生幻觉的可能性,因为它基于实际检索到的证据进行响应构建,而Fine-tuning微调虽然可以在一定程度上缓解模型产生幻觉的倾向,但并不能完全消除这一风险

知识库

对于一些垂直领域,或者说企业内部,都不免会遇到需要构建一个符合自身业务特点的垂直或者内部知识库的场景。通过RAG、微调等技术手段,我们可以将通用的大模型转变为对特定行业或者企业内部有着深度理解的“行业专家”,从而更好地服务于特定的业务需求。

知识库的技术架构分为两部分:

离线的知识数据向量化:

知识库的技术架构分为两部分:

1.离线的知识数据向量化:

加载:首先,系统通过文档加载器(Document Loaders)来读取和加载数据或知识库。这可能包括文本文件、PDF、Word文档等格式的文档。

拆分:文本拆分器将大型文档分割成更小的块或段落,这样做的目的是为了让这些小块数据(chunk)能够更容易地被处理和向量化。

向量:对这些拆分后的数据块进行向量化处理,即通过某种算法(如Word2Vec、BERT等)将文本转换为数值向量,这些向量能够捕捉文本的语义信息。

存储:将这些向量化的数据块存储到向量数据库(VectorDB)中。这种数据库专门用于存储和检索向量化的数据,可以高效地进行相似性搜索。

2.在线知识的检索返回:

检索:当用户提出问题时,系统使用检索器根据用户的输入从向量数据库中检索出相关的数据块(Chunk)。检索过程可能涉及到计算用户输入与数据库中向量的相似度,并找出最相关的几个数据块。

生成:检索到的数据块,连同用户的问题一起,作为输入提供给大型语言模型。语言模型根据这些信息生成答案。这个过程会涉及到对检索到的知识进行理解和整合,然后以自然语言的形式回答问题。

向量数据库

向量数据库是一种专门设计用来存储和查询向量数据的系统。这里的向量数据通常是指通过某种算法将原始数据(如文本、语音、图像等)转换成的数值向量形式。

知识库的存储载体往往是向量数据库。在数据存储和检索上,向量数据库以向量空间模型高效存储和检索高维数据,为 AI 大模型和 Agent 智能体提供强有力的数据支持。

向量数据库的定义:

向量数据库是一种专门设计用来存储和查询向量数据的系统。这里的向量数据通常是指通过某种算法将原始数据(如文本、语音、图像等)转换成的数值向量形式。

向量数据库与传统数据库的区别:

传统数据库主要处理结构化数据,例如关系数据库中存储的表格数据。而向量数据库则更擅长处理非结构化数据,这些数据没有固定的格式或结构,例如文本文档、图像文件和音频记录。

向量数据库的应用场景:

在机器学习和深度学习领域,原始数据经常需要被转换成向量形式以便进行进一步的处理和分析。向量数据库在这方面非常有用,因为它们可以高效地处理这些向量化的数据。

向量数据库的优势:

  • 高效存储:向量数据库优化了存储机制,可以有效地存储大量的高维向量数据。

  • 高效索引:向量数据库使用特殊的索引结构(如KD树、球树等),可以快速定位和检索向量数据。

  • 高效搜索:向量数据库能够执行快速的相似性搜索,找到与查询向量最相似的数据点,这对于推荐系统、图像识别和自然语言处理等应用非常重要。

处理复杂数据的能力:

向量数据库在处理包含数值特征、文本嵌入或图像嵌入等复杂数据时表现出色。这些数据在经过向量化处理后,可以利用向量数据库的搜索能力来实现更准确的匹配和检索。

知识图谱

知识图谱本质上是一种叫作语义网络的知识库,即一个具有有向图结构的知识库,图的结点代表实体或者概念,而图的边代表实体/概念之间的各种语义关系。

知识图谱的定义:

知识图谱是一种特殊的数据库,它使用图结构来存储和表示知识。这种数据库基于实体(如人、地点、组织等)和它们之间的关系。

知识图谱的构建过程:

知识图谱本质上是一种叫作语义网络的知识库,即一个具有有向图结构的知识库,图的结点代表实体或者概念,而图的边代表实体/概念之间的各种语义关系。

知识图谱的定义:

知识图谱是一种特殊的数据库,它使用图结构来存储和表示知识。这种数据库基于实体(如人、地点、组织等)和它们之间的关系。

知识图谱的构建过程:

通过语义抽取技术,从文本中识别出实体和它们之间的关系,然后将这些信息组织成树状结构或其他图形结构。

实体具有特定的属性,例如一个人可能有名字、年龄等属性;而关系则描述了实体之间的联系,如“居住在”、“属于”等。

知识图谱的数据模型:

知识图谱采用结构化数据模型,这意味着数据以固定的格式存储,便于管理和查询。每个实体都有其属性和与其他实体的关系。

知识图谱的价值:

知识图谱能够揭示知识领域的动态发展规律,通过数据挖掘、信息处理和图形绘制,它可以展示不同实体之间的复杂联系,不仅能够展示静态的知识结构,还能够揭示知识随时间的演变和发展,在智能推荐、自然语言处理、机器学习等领域都有广泛的应用。尤其在搜索引擎领域,它能够提高搜索的准确性,为用户提供更加精准的搜索结果。AI领域之外,在风控、医疗领域都有很广泛的使用。

实体具有特定的属性,例如一个人可能有名字、年龄等属性;而关系则描述了实体之间的联系,如“居住在”、“属于”等。

AGI

AGI是“Artificial General Intelligence”的缩写,中文意思是“通用人工智能”, 是AI 发展的终极愿景。AGI指的是一种具有广泛认知能力的人工智能系统,它能够像人类一样在多个领域和任务中表现出智能行为,包括但不限于理解、推理、学习、规划、沟通和感知等。

与目前常见的“窄人工智能”(ANI,Artificial Narrow Intelligence)不同,AGI能够处理多种不同的问题,而不仅仅是针对特定任务设计的算法。窄人工智能通常在特定领域内表现出色,例如语音识别、图像识别或棋类游戏等,但它们缺乏跨领域的通用性和适应性。

AGI的关键特征包括:

  • 自主学习:AGI能够从经验中学习,并不断改进自己的性能。

  • 跨领域能力:AGI能够处理多种不同类型的问题,而不仅仅是单一领域。

  • 理解复杂概念:AGI能够理解和处理抽象概念、隐喻和复杂逻辑。

  • 自我意识:虽然这一点在学术界有争议,但一些观点认为AGI可能发展出某种形式的自我意识或自我反思能力。

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

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

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

相关文章

java:spring【AnnotationMetadata】的简单使用例子

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89435385 # 项目代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…

设计模式-装饰器模式Decorator(结构型)

装饰器模式(Decorator) 装饰器模式是一种结构模式&#xff0c;通过装饰器模式可以在不改变原有类结构的情况下向一个新对象添加新功能&#xff0c;是现有类的包装。 图解 角色 抽象组件&#xff1a;定义组件的抽象方法具体组件&#xff1a;实现组件的抽象方法抽象装饰器&…

设计模式-代理模式Proxy(结构型)

代理模式&#xff08;Proxy&#xff09; 代理模式是一种结构型模式&#xff0c;它可以通过一个类代理另一个类的功能。代理类持有被代理类的引用地址&#xff0c;负责将请求转发给代理类&#xff0c;并且可以在转发前后做一些处理 图解 角色 抽象主题&#xff08;Subject&…

计算机网络(9) TCP超时重传以及滑动窗口流量控制

一.确认机制与流量控制 引用&#xff1a;滑动窗口&#xff0c;TCP的流量控制机制 | 小菜学网络 确认机制 由于 IP 协议缺乏反馈机制&#xff0c;为保证可靠性&#xff0c;TCP 协议规定&#xff1a;当接收方收到一个数据后&#xff0c;必须回复 ACK 给发送方。这样发送方就能得…

Python学习打卡:day04

day4 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day428、while 循环的嵌套应用29、while 循环案例 — 九九乘法表补充知识示例&#xff1a;九九乘法表 30、for 循环基本语法while 和 for 循环对比f…

react 自定义Hook的实现

// 问题&#xff1a;当前组件耦合在一起的不方便复用 // 解决思路&#xff1a;自定义hook// 1。封装use打头的函数 // 2.在函数体内封装我们可复用的逻辑&#xff08;只要是可复用的都行&#xff09; // 3.要把组件中用到的状态&#xff08;变量&#xff09;或者回调return出去…

使用tkinter创建带有图标的菜单栏

使用tkinter创建带有图标的菜单栏 效果代码代码解析创建主窗口加载图标创建菜单栏添加文件菜单添加带图标的菜单项 Tkinter 的默认菜单外观较为简单&#xff0c;可以通过自定义和添加图标&#xff0c;让菜单显示更好看。 效果 代码 import tkinter as tk from tkinter import …

父亲节|“鞋”守一生,致敬那些年父亲的默默付出

父亲节&#xff0c;是一个感谢父亲的节日。普遍认为的日期是每年6月的第三个星期日&#xff0c;在这一天世界上有52个国家和地区在过父亲节。同时注重孝道也是我们中华民族的传统文化。 在岁月的长河中&#xff0c; 父亲如同那坚实的基石&#xff0c; 承载着家庭的重担&#…

N3 中文文本分类

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊# 前言 前言 前面学习了相关自然语言编码&#xff0c;这周进行相关实战 导入依赖库和设置设备 import torch import torch.nn as nn import torchvision fro…

栈的实现详解

目录 1. 栈1.1 栈的概念及结构1.2 栈的实现方式1.3 栈的应用场景 2. 栈的实现2.1 结构体2.2 初始化2.3 销毁2.4 入栈2.5 出栈2.6 获取栈顶元素2.7 判空2.8 获取个数 3. test主函数4. Stack.c文件5. Stack.h文件6. 运行展示 1. 栈 1.1 栈的概念及结构 栈&#xff1a;一种特殊的…

找不到dll文件如何修复,总结多种dll丢失的修复方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“缺少DLL文件”。那么&#xff0c;DLL到底是什么呢&#xff1f;为什么计算机会缺失DLL文件&#xff1f;缺失DLL文件会对电脑产生什么具体影响&#xff1f;本文将详细解析这些问题&#xff0…

UC Berkeley简介以及和Stanford的区别与联系

UC Berkeley Source: Google Map 中文版 UC Berkeley&#xff0c;全称University of California, Berkeley&#xff0c;是一所位于美国加利福尼亚州伯克利市的世界知名公立研究型大学。以下是关于UC Berkeley的详细介绍&#xff1a; 学术声誉和排名 学术声誉&#xff1a; U…

Android入门第69天-AndroidStudio中的Gradle使用国内镜像最强教程

背景 AndroidStudio默认连接的是dl.google的gadle仓库。 每次重新build时: 下载速度慢;等待了半天总时build faild;build到一半connection timeout;即使使用了魔法也难以一次build好;这严重影响了我们的学习、开发效率。 当前网络上的使用国内镜像的教程不全 网上的教程…

056、PyCharm 快速代码重构的方法

在实际的编程过程中&#xff0c;如果有一段代码需要在多个地方重复使用&#xff0c;我们应该将这段代码封装成一个函数。这样可以提高代码的可重用性和可维护性。 在PyCharm编辑器里&#xff0c;可以使用以下操作对代码块进行快速的重构。 &#xff08;1&#xff09;、选中一…

【数据分析】推断统计学及Python实现

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

mac终端:定位于当前文件夹位置Terminal设置快捷键,实现快速启动--m系列

mac自动脚本(f3直接搜或者找其他->自动操作) 然后找到如下功能: 代码如下: on run {input, parameters} tell application "Finder" set currFolder to POSIX path of (folder of the front window as string) end tell tell application "Termina…

人大高瓴/腾讯提出QAGCF:用于QA推荐的图形协同过滤

【摘要】问答(Q&A)平台通常推荐问答对来满足用户的知识获取需求,这与仅推荐单个项目的传统推荐不同。这使得用户行为更加复杂,并为Q&A推荐带来了两个挑战,包括:协作信息纠缠,即用户反馈受问题或答案的影响;以及语义信息纠缠,其中问题与其相应的答案相关联,不同问答对之…

软件工程实务:软件产品

目录 1、软件产品的基本概念 2、软件工程是什么&#xff1f; 为什么产生软件工程? 软件工程是做什么的? 3、定制软件和软件产品的工程比较 4 、软件产品的运行模式 5、软件产品开发时需要考虑的两个基本技术因素 6、产品愿景 7、软件产品管理 8、产品原型设计 9、小结…

C/C++:指针用法详解

C/C&#xff1a;指针 指针概念 指针变量也是一个变量 指针存放的内容是一个地址&#xff0c;该地址指向一块内存空间 指针是一种数据类型 指针变量定义 内存最小单位&#xff1a;BYTE字节&#xff08;比特&#xff09; 对于内存&#xff0c;每个BYTE都有一个唯一不同的编号…