RAG的学习与实践——LangChain和LlamaIndex学习笔记

RAG

RAG(Retrieval Augmented Generation)系统,代表“检索增强生成”。RAG由五个关键步骤组成:

  • 加载:这是指将数据从其所在位置(无论是文本文件、PDF、其他网站、数据库还是 API)获取到您的管道中。LlamaHub提供数百种连接器可供选择。
  • 索引:这意味着创建一个允许查询数据的数据结构。对于大模型来说,这几乎总是意味着创建vector embeddings数据含义的数字表示,以及许多其他元数据策略,以便轻松准确地找到上下文相关的数据。
  • 存储:一旦数据被索引,您几乎总是希望存储索引以及其他元数据,以避免重新索引。
  • 查询:对于任何给定的索引策略,您可以通过多种方式利用 LLM 和 LlamaIndex 数据结构进行查询,包括子查询、多步查询和混合策略。
  • 评估:任何管道中的关键步骤是检查它相对于其他策略的有效性,或者何时进行更改。评估提供客观衡量您对查询的答复的准确性、忠实度和速度。
    在这里插入图片描述

学习文章:大模型RAG框架llama-index技术调研

(1)向量数据库

向量数据库是一种以向量或数据点的数学表示形式存储数据的数据库。 人工智能和机器学习使非结构化数据能够转换为捕获意义和上下文的数字表示(向量)。

常见的向量数据库:

  • Chroma:开源嵌入数据库。功能丰富:查询、过滤、密度估计和许多其他功能。LangChain和LlamaIndex都支持。
  • Pinecone:可托管向量数据库的平台。支持全托管服务、高度可伸缩、实时数据摄取、低延迟的搜索并且和LangChain集成。
  • Weaviate:开源向量数据库。可以无缝扩展到数十亿个数据对象。速度快(Weaviate可以在几毫秒内从数百万个对象中快速搜索出最近的10个邻居)、更灵活(使用Weaviate,可以在导入或上传自己的数据时对数据进行矢量化,可以利用与OpenAI, Cohere, HuggingFace等平台集成的模块)和搜索扩展(除了快速矢量搜索,Weaviate还提供推荐、摘要和神经搜索框架集成)。
  • Faiss:用于快速搜索相似性和密集向量的聚类的开源库。它包含能够在不同大小的向量集中搜索的算法,甚至可以处理那些超过内存容量的向量集。
  • Qdrant:可以作为API服务运行,支持搜索最接近的高维向量。使用Qdrant,可以将嵌入或神经网络编码器转换为应用程序,用于匹配,搜索,推荐等任务。

参考文章:LLM 学习之「向量数据库」

(2)LangChain

LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架。

参考文章:langchain 组件详解、Langchain、langchain-知识库问答

* 核心模块

核心模块主要有六个:模型输入输出(Model I/O)、数据连接(Data Connection)、链(Chains)、记忆(Memory)、代理(Agents)和回调(Callbacks)。
在这里插入图片描述

1 Model I/O

管理大语言模型(Models),及其输入(Prompts)和格式化输出(Output Parsers)。

在这里插入图片描述

主要包含组件:PromptsLanguage ModelsOutput Parsers。用户原始输入与模型和示例进行组合,然后输入给大语言模型,再根据大语言模型的返回结果进行输出或者结构化处理。

学习文章:02|LangChain | 从入门到实战 -六大组件之Models IO

结构化格式输出:(16-2)输出解析器(Output Parsers)(2)

2 Data connection

管理主要用于建设私域知识(库)的向量数据存储(Vector Stores)、内容数据获取(Document Loaders)和转化(Transformers),以及向量数据查询(Retrievers)

在这里插入图片描述
主要包含组件:Document loadersDocument transformersText embedding modelsVector storesRetrievers

学习文章:03|LangChain | 从入门到实战 -六大组件之Retrival

文本切割器:LangChain教程 | langchain 文本拆分器 | Text Splitters全集、RAG 分块Chunk技术优劣、技巧、方法汇总(五)

上下文压缩器:实现RAG管道中的上下文压缩和过滤

3 Chains

用于串联 Memory ↔️ Model I/O ↔️ Data Connection,以实现 串行化 的连续对话、推测流程
在这里插入图片描述
学习文章:04|LangChain | 从入门到实战 -六大组件之chain

4 Memory

用于存储和获取对话历史记录的功能模块
在这里插入图片描述
主要包括两个操作:。把Memory集成到系统中涉及两个核心问题:存储的历史信息是什么、如何检索历史信息。

学习文章:05|LangChain | 从入门到实战 -六大组件之Memory、LangChain之内存记忆 ( Memory )

5 Agents

Agent的核心思想是使用大型语言模型(LLM)来选择要采取的行动序列。在Chain中行动序列是硬编码的,而Agent则采用语言模型作为推理引擎来确定以什么样的顺序采取什么样的行动。
在这里插入图片描述
Agent相比Chain最典型的特点是“自治”,它可以通过借助LLM专长的推理能力,自动化地决策获取什么样的知识,采取什么样的行动,直到完成用户设定的最终目标。因此,作为一个智能体,需要具备以下核心能力:

  • 规划:借助于LLM强大的推理能力,实现任务目标的规划拆解和自我反思。
  • 记忆:具备短期记忆(上下文)和长期记忆(向量存储),以及快速的知识检索能力。
  • 行动:根据拆解的任务需求正确地调用工具以达到任务的目的。
  • 协作:通过与其他智能体交互合作,完成更复杂的任务目标。

学习文章:从API到Agent:万字长文洞悉LangChain工程化设计、06|LangChain | 从入门到实战 -六大组件之Agent

6 Callbacks

Callbacks模块是框架中的一个核心组件,它允许用户定义特定的回调函数来响应某些事件或执行特定动作。这种机制极大地增强了Langchain的灵活性和功能性,使得在不修改现有代码的基础上,可以扩展或定制AI模型的行为。提供了一个回调系统,可连接到 LLM 申请的各个阶段,便于进行日志记录、追踪等数据导流。

主要有两种回调机制:

  • 构造器回调将用于在该对象上进行的所有调用,并且将仅作用于该对象,即如果将处理程序传递给LLMChain的构造函数,则不会被附加到该链上的模型使用。
  • 请求回调仅用于该特定请求,以及该请求包含的所有子请求(例如,对LLMChain的调用触发对模型的调用,使用的是通过传递的相同处理程序),这些回调是显式传递的。

学习文章:大模型从入门到应用——LangChain:回调函数(Callbacks)

(3)LlamaIndex

LlamaIndex是一个连接大型语言模型(LLMs)与外部数据的工具,它通过构建索引和提供查询接口,使得大模型能够学习和利用私有或者特定领域的数据。这一工具的出现,极大地拓展了大型语言模型的应用范围和深度,下面我们就来详细介绍LlamaIndex的基本概念、优劣势、代码示例以及使用场景。

参考文章:LlamaIndex 入门实战、LlamaIndex 一 简单文档查询、LlamaIndex 文档1

* 核心模块

在这里插入图片描述
LlamaIndex为我们提供了五大功能模块:

  • 数据连接器(Data connectors):从其原生源和格式中获取现有数据。这些数据可以是 API、PDF、
    SQL 等。
  • 数据索引(Data Indexes):将数据结构化为中间表示,使其易于 LLM 使用且性能良好。
  • 引擎(Engines):为数据提供便捷访问。例如:
    • 查询引擎:用于问答的接口(例如 RAG pipeline)。
    • 聊天引擎:用于与数据进行多消息“来回”互动的对话接口。
  • 数据代理(Data Agents):由 LLM 驱动,通过工具增强,从简单的助手函数到 API 集成等。
  • 应用集成(Application Integrations):此模块可以方便的将LlamaIndex与AI应用框架结合。

在这里插入图片描述

1 Data connectors

数据连接器(也称为reader)是LlamaIndex中的重要组件,它有助于从各种来源和格式摄取数据,并将其转换为由文本和基本元数据组成的简化文档表示形式。

  • 首先,使用文件加载器将不同类型的文件加载成Document对象形式。使用SimpleDirectoryReader是一种基础的文件加载方式。
    from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
    
    # 使用SimpleDirectoryReader从指定路径加载数据
    documents = SimpleDirectoryReader("D:\GitHub\LEARN_LLM\LlamaIndex\data").load_data()
    
    可以在LlamaHub中找到需要的文件类型的加载器:LlamaHub。
    也可以选择将文字转换成Document结构。例如
    from llama_index.core import Document
    doc = Document(text="text")
    
  • 然后,将文档内容进行转换。这些转换包括分块、提取元数据和对每个块进行向量化,从而确保大模型能够检索数据。最简单的方式是用from_documents方法。
    from llama_index.core import VectorStoreIndex
    
    vector_index = VectorStoreIndex.from_documents(documents)
    vector_index.as_query_engine()
    
    此外,我们可以选择更改embeding模型。
    先使用pip install llama-index-embeddings-huggingface 安装相应的库,然后用下述代码更改嵌入模型。在这里插入图片描述
    节点是更细粒度的数据实体,表示源文档的“块”,可以是文本块、图像或其他类型的数据。它们还携带元数据和与其他节点的关系信息,这有助于构建更加结构化和关系型的索引。在LlamaIndex中,一旦数据被摄取并表示为文档,就可以选择将这些文档进一步处理为节点。下面是如何使用SimpleNodeParser将文档解析为节点:
    from llama_index.node_parser import SimpleNodeParser 
    
    # Assuming documents have already been loaded 
    
    # Initialize the parser 
    parser = SimpleNodeParser.from_defaults(chunk_size=1024, chunk_overlap=20) 
    
    # Parse documents into nodes 
    nodes = parser.get_nodes_from_documents(documents)
    

学习文档:【AI大模型应用开发】【LlamaIndex教程】1. 数据连接模块教程(附代码)、Embeddings、LlamaIndex 组件 - Loading

2 Data Indexes

LlamaIndex的核心本质在于它能够在被摄取的数据上构建结构化索引,这些数据表示为文档或节点。它的核心其实就是索引结构的集合,用户可以使用索引结构或基于这些索引结构自行建图。
在这里插入图片描述

下面是最简单的构建索引方式

 from llama_index.core importVectorStoreIndex
 
 # Assuming docs is your list of Document objects
 index = VectorStoreIndex.from_documents(docs)

学习文档:【LlamaIndex 教程】一文看懂LlamaIndex用法,为LLMs学习私有知识、LlamaIndex使用指南、LlamaIndex 组件 - Storing

3 Engines

LlamaIndex 提供了定义 LLM 模块的统一接口,无论是来自 OpenAI、Hugging Face 还是 LangChain,这样您就不必自己编写定义 LLM 接口的样板代码。该接口由以下部分组成(更多详细信息如下):

  • 支持文本完成和聊天端点
  • 支持流式和非流式端点
  • 支持同步和异步端点

基座LLM模型
LlamaIndex支持OpenAIHuggingFace上的模型。使用Huggingface上的模型需要结合Settings库来自定义模型。

from llama_index.core import PromptTemplate

# Transform a string into input zephyr-specific input
def completion_to_prompt(completion):
    return f"<|system|>\n</s>\n<|user|>\n{completion}</s>\n<|assistant|>\n"

# Transform a list of chat messages into zephyr-specific input
def messages_to_prompt(messages):
    prompt = ""
    for message in messages:
        if message.role == "system":
            prompt += f"<|system|>\n{message.content}</s>\n"
        elif message.role == "user":
            prompt += f"<|user|>\n{message.content}</s>\n"
        elif message.role == "assistant":
            prompt += f"<|assistant|>\n{message.content}</s>\n"

    # ensure we start with a system prompt, insert blank if needed
    if not prompt.startswith("<|system|>\n"):
        prompt = "<|system|>\n</s>\n" + prompt

    # add final assistant prompt
    prompt = prompt + "<|assistant|>\n"

    return prompt

import torch
from llama_index.llms.huggingface import HuggingFaceLLM
from llama_index.core import Settings

Settings.llm = HuggingFaceLLM(
    model_name="HuggingFaceH4/zephyr-7b-beta",
    tokenizer_name="HuggingFaceH4/zephyr-7b-beta",
    context_window=3900,
    max_new_tokens=256,
    generate_kwargs={"temperature": 0.7, "top_k": 50, "top_p": 0.95},
    messages_to_prompt=messages_to_prompt,
    completion_to_prompt=completion_to_prompt,
    device_map="auto",
)

嵌入Embedding模型
LlamaIndex也支持使用本地的自定义嵌入模型

from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core import Settings

Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

Prompts
LlamaIndex 使用提示来构建索引、执行插入、在查询期间执行遍历并合成最终答案。LlamaIndex 使用一组开箱即用的默认提示模板。

from llama_index.core import PromptTemplate

template = (
    "We have provided context information below. \n"
    "---------------------\n"
    "{context_str}"
    "\n---------------------\n"
    "Given this information, please answer the question: {query_str}\n"
)
qa_template = PromptTemplate(template)

# you can create text prompt (for completion API)
prompt = qa_template.format(context_str=..., query_str=...)

# or easily convert to message prompts (for chat API)
messages = qa_template.format_messages(context_str=..., query_str=...)

查询引擎
检索器负责根据用户查询(或聊天消息)获取最相关的上下文。它可以构建在索引之上,但也可以独立定义。它用作查询引擎(和聊天引擎)中的关键构建块,用于检索相关上下文。

retriever = index.as_retriever()
nodes = retriever.retrieve("Who is Paul Graham?")

在这里插入图片描述

学习文章:LlamaIndex 组件 - Models、LlamaIndex 组件 - Querying

4 Data Agents

5 Application Integrations

(4)LangChain和LlamaIndex区别

LangChain:一个使用LLM开发应用程序的通用框架。LangChain是一个基于大语言模型(LLM)的框架,它并不开发LLM,而是为各种LLM实现通用的接口,将相关的组件“链”在一起,简化LLM应用的开发。它支持模型集成、提示工程、索引、记忆、链、代理等多种组件功能。

1)核心架构:LangChain 的核心是其链式架构,它允许开发者将不同的组件(如模型、提示、索引、记忆等)组合成一个处理流程。这种设计旨在灵活地处理各种复杂任务。

2)集成与交互:强调大模型与外部工具和数据库的集成。这种方法允许开发者利用各种资源来完成任务,而不仅限于模型本身的能力。

3)抽象层:提供了一个抽象层,允许不同的模型和工具通过标准化的接口进行交互,增加了模块间的互操作性。

4)组件与支持功能:

  • 支持多种模型接口,如OpenAI、Hugging Face等。
  • 支持提示工程,将提示作为输入传递给模型。
  • 提供基于向量数据库的索引功能,如文档检索。
  • 基于记忆组件提供上下文功能,存储对话过程中的数据。
  • 支持链式调用,将多个组件链接在一起逐个执行。
  • 支持代理Agent功能,用于根据用户输入决定模型采取的行动。

5)适用情景:更适合需要复杂对话流程、上下文管理、以及多步骤任务的应用场景,如聊天机器人、任务自动化等。 由于其提供了较为全面的组件支持,LangChain可以简化开发流程,让开发者更加关注于业务逻辑和模型效果的优化。但是,这也意味着它的学习曲线可能较陡,需要开发者对各种组件有深入的理解。


LlamaIndex:一个专门用于构建RAG系统的框架。LlamaIndex是一个基于向量搜索的索引框架,主要用于提升大型语言模型在长文本或大量数据上的查询效率。它侧重于处理数据的索引和检索,使得模型能够快速定位到最相关的信息。

1)核心架构:Llama-Index 专注于索引和检索,主要通过向量搜索来提高大型语言模型在处理大量数据时的效率。

2)数据结构与优化:更侧重于数据索引的结构和优化。这使得它在处理和访问大型数据集方面表现出色。

3)信息索引:设计允许开发者构建和维护一个可扩展的信息索引,以便快速响应查询,特别适用于需要快速访问和分析大量数据的应用。

4)组件与支持功能:

  • 专注于索引和检索功能,与向量数据库紧密结合。
  • 支持自定义的索引结构和查询逻辑,适用于复杂的数据检索需求。
  • 通常与大型语言模型结合使用,但更侧重于索引侧的性能优化。
  • 提供了优化的数据结构和算法,以提升在大量数据上的查询速度。

5)适用场景:当应用场景主要涉及大量数据的快速检索和查询时,LlamaIndex更加适用,如知识问答系统、文档搜索引擎等。 专注于索引和检索,LlamaIndex相对容易上手,特别是对于需要快速构建高效查询系统的开发者来说,可以快速实现原型并优化性能。


参考文章:深度比较大模型开发工具链-LangChain和Llama-Index

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【南京蓝领新材料】水力颗粒分离器工作原理

水力颗粒分离器工作原理 在装置内部设有一个具有一定空间的滤网&#xff0c;雨水从进水管流入&#xff0c;先进入滤网过滤&#xff0c;雨水中的悬浮物和漂浮物将被拦截在此滤网内。 在装置底部有三个腔室&#xff0c;当雨水中小的颗粒物流到每个腔室挡墙前时&#xff0c;颗粒物…

react学习——25redux实现求和案例(完整版)

1、目录结构 2、count/index.js import React, {Component} from "react"; //引入store,用于获取数据 import store from ../../redux/store //引入actionCreator 专门创建action对象 import {createDecrementAction,createIncrementAction} from ../../redux/coun…

机器学习与深度学习:区别与联系(含工作站硬件推荐)

一、机器学习与深度学习区别 机器学习&#xff08;ML&#xff1a;Machine Learning&#xff09;与深度学习&#xff08;DL&#xff1a;Deep Learning&#xff09;是人工智能&#xff08;AI&#xff09;领域内两个重要但不同的技术。它们在定义、数据依赖性以及硬件依赖性等方面…

数字人+展厅互动体验方案:多元化互动方式,拓宽文化文娱新体验

数字化创新已成为推动展厅可持续发展&#xff0c;创造全新消费体验&#xff0c;满足游客多元化需求的关键力量。 “数字人数字互动展厅”可以适应年轻一代的文化传播与多媒体互动新体验趋势&#xff0c;打造新生代潮玩聚集地&#xff0c;促进文化创意传播与互动体验场景创新&a…

storybook中剔除chakra-ui的影响,或者剔除其他ui包的影响

介绍 经过一系列初始化完成后&#xff0c;storybook项目启动出来发现多余了一个ui框架的内容。如下图 因为项目中仅仅使用chakraUI的一些功能&#xff0c;并没有使用整体组件功能&#xff0c;所以说完全没必要把它留着这里。经过排查可以使用storybook中的refs功能剔除掉不需要…

【数智化案例展】厦门市信息中心——爱数助力厦门政务云构建两地三中心多级数据灾备体系...

‍ 爱数案例 本项目案例由爱数投递并参与数据猿与上海大数据联盟联合推出的《2024中国数智化转型升级创新服务企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 厦门市信息中心是厦门市电子政务专门机构&#xff0c;加挂厦门市电子政务中心、厦门市大数…

windows驱动开发基础-环境篇

前言 Windows上无论是用户模式下还是内核模式下&#xff0c;有关驱动的开发都有可能影响系统稳定性&#xff0c;所以我们首先要准备一个专用的测试环境&#xff0c;可以使用VM等虚拟机方便环境修复和还原 测试模式 开启测试模式&#xff1a;cmd 命令 bcdedit /set testsign…

视频共享交换平台LntonCVS视频监控平台智慧加油站安全管理方案

加油站作为危化品行业的一部分&#xff0c;日常的加油和卸油作业安全至关重要。目前国内加油站的管理主要依赖于人为管控、监控摄像头和人工巡检&#xff0c;这些方法存在效率低下和反应滞后的问题。为了有效应对安全风险&#xff0c;急需引入人工智能、物联网和大数据技术&…

视频版权音乐处理☞AI分离人声、音效、背景音乐的需求和进展-2024

随着互联网的普及和短视频的兴起&#xff0c;视频内容的全球各大平台分发越来越普遍。然而&#xff0c;不同国家和地区的音乐版权、不同社媒平台拥有的版权和处理政策都存在差异&#xff0c;因此同一个视频在多渠道分发的时候就会产生版权侵权风险。如何既能满足全球多渠道、多…

C++Windows环境搭建(CLion)

文章目录 CLion下载安装CLion下载CLion安装新建项目新建一个文件基础设置字体设置clion中单工程多main函数设置 参考 CLion下载安装 CLion下载 打开网址&#xff1a;https://www.jetbrains.com/clion/download/ 点击Download进行下载。 CLion安装 双击下载好的安装包&…

M3U8 视频是一种什么格式,M3U8 视频怎么转成 MP4

M3U8 文件格式在流媒体服务中非常常见&#xff0c;尤其是与 HTTP Live Streaming (HLS) 协议结合使用时。HLS 是苹果公司开发的一种流媒体传输协议&#xff0c;旨在为 iOS 设备和 Safari 浏览器提供高质量的流媒体播放体验。M3U8 文件在这种情况下充当了索引角色&#xff0c;指…

如何用Vue3和Plotly.js绘制交互式瀑布图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Plotly.js 在 Vue 中创建瀑布图 应用场景 瀑布图广泛用于可视化财务报表和展示增量变化&#xff0c;例如利润表、现金流量表和收入分析。它们通过将正值和负值堆叠在垂直轴上&#xff0c;清晰地展示每个…

Win10屏幕录制,这3种方法分享给你

数字化时代里&#xff0c;电脑的屏幕录制功能已经不再是简单的工具&#xff0c;而是成为我们表达、学习和交流的重要媒介。Win10系统依然是大部分人使用的电脑系统&#xff0c;那么关于Win10屏幕录制&#xff0c;有哪些好用高效的录制软件&#xff0c;能够帮助我们更加深入地捕…

Qt:11.输入类控件(QLineEdit-单行文本输入控件、QTextEdit-多行文本输入控件、QComboBox-下拉列表的控件)

一、QLineEdit-单行文本输入控件&#xff1a; 1.1QLineEdit介绍&#xff1a; QLineEdit 是 Qt 库中的一个单行文本输入控件&#xff0c;不能换行。允许用户输入和编辑单行文本。 1.2属性介绍&#xff1a; inputMask 设置输入掩码&#xff0c;以限定输入格式。setInputMask(con…

Java内存区域与内存溢出异常(补充)

2.2.5 方法区 方法区(Method Area)与Java堆一样&#xff0c;是各个线程共享的内存区域&#xff0c;它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分&#xff0c;但是它却有一…

【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树

目录 1 -> 红黑树 1.1 -> 红黑树的概念 1.2 -> 红黑树的性质 1.3 -> 红黑树节点的定义 1.4 -> 红黑树的结构 1.5 -> 红黑树的插入操作 1.6 -> 红黑树的验证 1.8 -> 红黑树与AVL树的比较 2 -> 红黑树模拟实现STL中的map与set 2.1 -> 红…

南京邮电大学运筹学课程实验报告1 线性规划求解 指导

一、题目描述 实验 一 线性规划求解 实验属性&#xff1a; 验证性     实验目的 1&#xff0e;理解线性规划解的基本概念&#xff1b; 2&#xff0e;掌握运筹学软件的使用方法&#xff1b; 3. 掌握线性规划的求解原理和方法。 实验内容 认…

基于Java技术的网上图书商城系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java技术、SpringBoot框架 工具&#xff1a;Eclipse、Navicat、Maven 系统展示 首页 用户注册界面…

防火墙安全策略与用户认证综合实验

一、实验拓扑 二、实验需求 1.DMZ区内的服务器&#xff0c;办公区仅能在办公时间内<9:00-18:00>可以访问&#xff0c;生产区的设备全天可以访问 2.办公区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3.办公区设备10.0.2.10不充许访问DMZ区的FTP服务器和HT…

第58期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…