【大模型】Ubuntu下 fastgpt 的部署和使用

前言

本次安装的版本为 fastgpt:v4.8.8-fix2。
最新版本fastgpt:v4.8.20-fix2 问答时报错,本着跑通先使用起来,就没有死磕下去,后面bug解了再进行记录。

github连接:https://github.com/labring/FastGPT
fastgpt 安装说明:https://doc.tryfastgpt.ai/docs/development/docker/

1 fastgpt 工程部署


1.1 fastgpt的简介

FastGPT 是一个基于大型语言模型(LLM)的知识库问答系统,专注于高效对话和任务处理。以下是关于 FastGPT 的详细介绍:


功能

  • 专属 AI 客服:通过导入文档或问答对进行训练,AI 模型可以根据文档内容以交互式对话方式回答问题。
  • 可视化工作流编排:基于 Flow 模块,用户可以设计复杂的工作流,实现自动化和智能化的处理流程。
  • 自动数据预处理:支持多种文档格式(如 Word、PDF、Excel、Markdown 等)的导入,自动完成文本预处理、向量化和问答分割,节省手动训练时间。
  • 强大的 API 集成:API 接口对齐 OpenAI 官方接口,可以轻松集成到企业微信、公众号、飞书等平台。
  • 多模型兼容性:支持 GPT、Claude、文心一言等多种 LLM 模型。


特点

  • 高效性:经过优化,能够快速生成高质量内容,适合实时性要求较高的场景。
  • 开源性:遵循附加条件的 Apache License 2.0 开源协议,用户可以进行二次开发。
  • 个性化与定制化:可以根据具体业务需求定制训练,调整语言风格、语气或行业专用术语。
  • 数据处理能力强:能够整合大量非结构化数据,自动优化答案质量和查询效率。
  • 用户友好:对话流畅,具备自然的语义理解能力,适合长对话和复杂任务。

1.2 工程所需前置环境

服务器的配置:ubuntu 22.04、Tesla V100-SXM2-32GB、CUDA Version12.2

lsb_release -a
nvidia-smi

在这里插入图片描述
fastgpt的安装和使用的前提环境:

  • docker 的安装:参考 【环境配置】ubuntu中 Docker的安装
  • LLMs 的语言大模型:deepseek-r1:32b。参考链接 【大模型】Ubuntu下安装ollama,DeepSseek-R1:32b的本地部署和运行
  • 向量模型:m3e-large。参考链接 【大模型】Xinference的安装和部署。当然向量模型也可以选择ollama启动bge-large模型。

1.3 fastgpt 的配置文件

yml 文件和 json 文件的最新版本下载,参考链接 https://doc.tryfastgpt.ai/docs/development/docker/ 中给出了下载命令如下。

mkdir fastgpt
 cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
		
# pgvector 版本(测试推荐,简单快捷)
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml
# milvus 版本
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-milvus.yml
# zilliz 版本
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-zilliz.yml


个人使用该版本在使用时报错。所以这里直接给出 fastgpt:v4.8.8-fix2 使用的 yml 和json 的文件,将其放置在路径fastgpt下。

config.json】 文件内容如下。

  • 其中 llmModels中,填写自己调用的chat模型的信息。直接复制已有的内容,然后修改 modelname 的内容。
  • vectorModels 中,填写自己调用的向量模型。与上相同,直接复制已有的内容,然后修改 modelname 的内容。
{
  "feConfigs": {
    "lafEnv": "https://laf.dev"
  },
  "systemEnv": {
    "vectorMaxProcess": 15,
    "qaMaxProcess": 15,
    "pgHNSWEfSearch": 100
  },
  "llmModels": [
    {
      "model": "deepseek-r1:32b",
      "name": "deepseek-r1:32b",
      "avatar": "/imgs/model/deepseek.svg",
      "maxContext": 128000,
      "maxResponse": 128000,
      "quoteMaxToken": 32000,
      "maxTemperature": 1.2,
      "charsPointsPrice": 0,
      "censor": false,
      "vision": false,
      "datasetProcess": true,
      "usedInClassify": true,
      "usedInExtractFields": true,
      "usedInToolCall": true,
      "usedInQueryExtension": true,
      "toolChoice": false,
      "functionCall": false,
      "customCQPrompt": "",
      "customExtractPrompt": "",
      "defaultSystemChatPrompt": "",
      "defaultConfig": {}
    }
  ],
  "vectorModels": [
    // 如果需要多语言支持和高精度语义检索,推荐 BGE-M3。
    // 如果主要处理中文文本,且资源受限,推荐 M3E。
    // 如果需要中英文混合处理且对精度要求较高,推荐 BGE-Large。
    {
      "model": "bge-large:latest",
      "name": "bge-large:latest",
      "charsPointsPrice": 0,
      "defaultToken": 256,
      "maxToken": 512,
      "weight": 100,
      "defaultConfig": {},
      "dbConfig": {},
      "queryConfig": {}
    },
    {
      "model": "m3e-large",
      "name": "m3e-large",
      "charsPointsPrice": 0,
      "defaultToken": 256,
      "maxToken": 512,
      "weight": 100,
      "defaultConfig": {},
      "dbConfig": {},
      "queryConfig": {}
    }
  ],
  "reRankModels": [
  ],
  "audioSpeechModels": [

  ],
  "whisperModel": 
  [  
]

}


docker-compose.yml】 内容如下:
如果原本的镜像下载过慢或者超时,将其注释,再把下一行的阿里云镜像解注释。

# 数据库的默认账号和密码仅首次运行时设置有效
# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~
# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。
# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包)

# version: '3.3'
services:
  # db
  pg:
    image: pgvector/pgvector:0.7.0-pg15 # docker hub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.7.0 # 阿里云
    container_name: pg
    restart: always
    ports: # 生产环境建议不要暴露
      - 5432:5432
    networks:
      - fastgpt
    environment:
      # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
      - POSTGRES_USER=username
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=postgres
    volumes:
      - ./pg/data:/var/lib/postgresql/data
  mongo:
    image: mongo:5.0.18 # dockerhub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
    # image: mongo:4.4.29 # cpu不支持AVX时候使用
    container_name: mongo
    restart: always
    ports:
      - 27017:27017
    networks:
      - fastgpt
    command: mongod --keyFile /data/mongodb.key --replSet rs0
    environment:
      - MONGO_INITDB_ROOT_USERNAME=myusername
      - MONGO_INITDB_ROOT_PASSWORD=mypassword
    volumes:
      - ./mongo/data:/data/db
    entrypoint:
      - bash
      - -c
      - |
        openssl rand -base64 128 > /data/mongodb.key
        chmod 400 /data/mongodb.key
        chown 999:999 /data/mongodb.key
        echo 'const isInited = rs.status().ok === 1
        if(!isInited){
          rs.initiate({
              _id: "rs0",
              members: [
                  { _id: 0, host: "mongo:27017" }
              ]
          })
        }' > /data/initReplicaSet.js
        # 启动MongoDB服务
        exec docker-entrypoint.sh "$$@" &

        # 等待MongoDB服务启动
        until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do
          echo "Waiting for MongoDB to start..."
          sleep 2
        done

        # 执行初始化副本集的脚本
        mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js

        # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程
        wait $$!

  # fastgpt
  sandbox:
    container_name: sandbox
    image: ghcr.io/labring/fastgpt-sandbox:v4.8.20-fix2 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.20-fix2 # 阿里云
    networks:
      - fastgpt
    restart: always
  fastgpt:
    container_name: fastgpt
    image: ghcr.io/labring/fastgpt:v4.8.8-fix2 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.20-fix2 # 阿里云
    ports:
      - 3000:3000
    networks:
      - fastgpt
    depends_on:
      - mongo
      - pg
      - sandbox
    restart: always
    environment:
      # 前端访问地址: http://localhost:3000
      - FE_DOMAIN=http://localhost:3000
      # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
      - DEFAULT_ROOT_PSW=1234
      # AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。
      - OPENAI_BASE_URL=http://oneapi:3000/v1
      # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改)
      - CHAT_API_KEY=sk-fastgpt
      # 数据库最大连接数
      - DB_MAX_LINK=30
      # 登录凭证密钥
      - TOKEN_KEY=any
      # root的密钥,常用于升级时候的初始化请求
      - ROOT_KEY=root_key
      # 文件阅读加密
      - FILE_TOKEN_KEY=filetoken
      # MongoDB 连接参数. 用户名myusername,密码mypassword。
      - MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin
      # pg 连接参数
      - PG_URL=postgresql://username:password@pg:5432/postgres
      # sandbox 地址
      - SANDBOX_URL=http://sandbox:3000
      # 日志等级: debug, info, warn, error
      - LOG_LEVEL=info
      - STORE_LOG_LEVEL=warn
      # 工作流最大运行次数
      - WORKFLOW_MAX_RUN_TIMES=1000
      # 批量执行节点,最大输入长度
      - WORKFLOW_MAX_LOOP_TIMES=100
      # 自定义跨域,不配置时,默认都允许跨域(多个域名通过逗号分割)
      - ALLOWED_ORIGINS=
      # 是否开启IP限制,默认不开启
      - USE_IP_LIMIT=false
    volumes:
      - ./config.json:/app/data/config.json

  # oneapi
  mysql:
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mysql:8.0.36 # 阿里云
    image: mysql:8.0.36
    container_name: mysql
    restart: always
    ports:
      - 3306:3306
    networks:
      - fastgpt
    command: --default-authentication-plugin=mysql_native_password
    environment:
      # 默认root密码,仅首次运行有效
      MYSQL_ROOT_PASSWORD: oneapimmysql
      MYSQL_DATABASE: oneapi
    volumes:
      - ./mysql:/var/lib/mysql
  oneapi:
    container_name: oneapi
    image: ghcr.io/songquanpeng/one-api:v0.6.7
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/one-api:v0.6.6 # 阿里云
    ports:
      - 3001:3000
    depends_on:
      - mysql
    networks:
      - fastgpt
    restart: always
    environment:
      # mysql 连接参数
      - SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi
      # 登录凭证加密密钥
      - SESSION_SECRET=oneapikey
      # 内存缓存
      - MEMORY_CACHE_ENABLED=true
      # 启动聚合更新,减少数据交互频率
      - BATCH_UPDATE_ENABLED=true
      # 聚合更新时长
      - BATCH_UPDATE_INTERVAL=10
      # 初始化的 root 密钥(建议部署完后更改,否则容易泄露)
      - INITIAL_ROOT_TOKEN=fastgpt
    volumes:
      - ./oneapi:/data
networks:
  fastgpt:

1.4 启动容器

在路径fastgpt下的终端运行

docker compose up -d

待结束后,查看容器情况。结果如下则说明工程正确启动。
在这里插入图片描述

过程中可能遇到错误

  1. 现象:端口 3306 被占用:
    在这里插入图片描述
    问题查看:使用下面命令查看端口被占用情况。
    发现端口 3306 被本地的 mysqld 进程(PID 1203)占用了。这是一个独立的 MySQL 服务,运行在宿主机上,而不是 Docker 容器中。

    sudo lsof -i :3306
    

    解决:停止宿主机上的 MySQL 服务。然后重新启动容器

    sudo systemctl stop mysql  
    # sudo kill -9 1203  (或者直接杀掉进程)
    
    docker compose up -d
    
  2. oneapi没有启动起来:
    该问题个人没有遇到。但较多人遇到过,这里记录下解决方法:

    # 等待10s,OneAPI第一次总是要重启几次才能连上Mysql
    sleep 10
    # 重启一次oneapi(由于OneAPI的默认Key有点问题,不重启的话会提示找不到渠道,临时手动重启一次解决)
    docker restart oneapi
    

2 oneapi 配置


2.1 oneapi 的简介

OneAPI 是一个统一的接口管理与分发系统,旨在通过提供一个单一、统一的接口,简化对多个后端服务或数据源的访问。
它具备以下核心功能和特点:

核心功能

  • 集中式 API 密钥管理:
    提供集中式的 API 密钥管理和二次分发功能,确保安全性和灵活性。
    支持令牌的过期时间、额度和 IP 范围管理。
  • 多系统功能整合:
    将来自不同系统的功能和服务整合在一起,开发者只需与一个接口交互,无需分别处理多个不同的 API。
    支持多种主流 AI 模型和服务,包括 OpenAI、百度文心一言、阿里通义千问等。
  • 简化开发与管理:
    简化开发过程,提高开发效率。
    便于维护和管理,支持动态更新和跨平台同步。

特点

  • 一键部署:
    打包成单个可执行文件,提供 Docker 镜像,实现一键部署和开箱即用的便捷体验。
    支持多种部署方式,包括本地部署、Docker 部署和面板部署。
  • 适用场景:
    适用于企业、开发者和研究者,简化多 AI 服务的接入和管理。
    支持负载均衡、流式传输和多机部署,提升系统可用性和性能。

2.2 oneapi 的配置

在浏览器访问 http://127.0.0.1:3001,使用默认账号 root 和密码 123456 登录。
在这里插入图片描述

2.2.1 oneapi 的渠道

OneAPI 的渠道管理功能允许用户将不同的大模型 API(如 OpenAI、百度文心一言、阿里通义千问等)统一接入到 OneAPI 平台中。每个渠道对应一个 API Key,用户可以通过以下步骤添加和管理渠道。

  • ollama部署的模型 的oneapi的渠道配置
    在控制台中点击【渠道】选项卡,选择【添加新的渠道】。
    在这里插入图片描述
    然后界面如下图:
    在这里插入图片描述
    • 类型】选择对应的模型类型 ollama。
    • 名称】自定义渠道名称。这里填写了【ollama】。
    • 模型】选择或填入支持的模型。若是填入的方式,一定注意名称的正确填写,可使用命令【ollama list】查看ollama下载的模型。这里填写【deepseek-r1:32b、bge-large:latest】
      在这里插入图片描述
    • 密钥】这里是本地部署的模型,密钥随便填写。
    • 代理】这里填写部署ollama模型的地址。
    • 提交】点击“提交”完成渠道添加。

      测试】如下图,配置正确的话,点击绿色框的测试,界面会弹出 “测试成功” 的字样。
      需要注意的是,如果仅添加向量模型,这里是无法测试通的。
      在这里插入图片描述
  • xinference 部署的模型 的oneapi的渠道配置
    在这里插入图片描述

2.2.2 oneapi 的令牌

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制这里的令牌。

3 fastgpt 的基本使用


3.1 fastgpt 的重启

  1. 在 文件 docker-compose.yml 中,搜索 CHAT_API_KEY,将前面复制的令牌粘贴到这里
          # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改)
          - CHAT_API_KEY=sk-fastgptsk-enxd9BewOzi0eaoGB2AdD5BdEf834a5e9b0e269780703dD8
    
  2. 重启容器
    docker compose down
    docker compose up -d
    

重启了后,就可以在服务器中访问 http://127.0.0.1:3000,使用默认账号 root 和密码 1234 登录。
登录后界面如下图。功能测试主要在左侧的【工作台】【知识库】。操作流程如下。


3.2 知识库

  1. 新建知识库,【+新建】、【知识库】、【通用知识库】、命名、选择配置好的向量模型。
    在这里插入图片描述
    在这里插入图片描述
  2. 成功后界面左侧,【数据集】【搜索测试】【配置】三项。
    【数据集】界面中,右上角【新建/导入】、这里测试【文本数据集】、【本地文件】… 后续的操作流程如下图所示
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 文件添加成功后,可以点进文件名称,如上图。点进去后,可以看到文档分割成块后的数据。通过这里的数据,可以看到分割的是否OK。
    在这里插入图片描述
  4. 然后在【搜索测试】中,可以测试 问题检索出好坏。在下图中【语义检索】中,可以进一步勾选,这里默认不变。
    在这里插入图片描述
  5. 在【配置】中,可以修改模型的选择。
    在这里插入图片描述

3.3 工作台

  1. 创建一个【简易应用】。操作如下图: 在这里插入图片描述
    在这里插入图片描述
  2. 配置关联的知识库,然后进行问答。如下图
    在这里插入图片描述
  3. 然后进行 应用发布,点击右上角的【发布】
    在这里插入图片描述
  4. 点击【发布渠道】界面,然后【创建新链接】、【开始使用】、【复制链接】在浏览器中打开。
    在这里插入图片描述
    在这里插入图片描述
  5. 链接的界面下,进行问答。
    在这里插入图片描述
  6. 若想其他电脑都能访问,则需完成 在服务启动时绑定到公网IP,开放防火墙端口等操作。

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

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

相关文章

python--泰坦尼克号人员存活模型训练+预测

1.先到Kaggle平台下载关于泰坦尼克号的数据。 泰坦尼克号数据集:这是Kaggle上的经典数据集,用于预测乘客是否幸存。 地址:Titanic - Machine Learning from Disaster | Kaggle 包含以下文件: train.csv:训练集&#…

【Azure 架构师学习笔记】- Azure Databricks (12) -- Medallion Architecture简介

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (11) – UC搭建 前言 使用ADB 或者数据湖,基本上绕不开一个架构“Medallion”, 它使得数据管理更为简单有效。ADB 通过…

spring中的注解介绍

本篇文章专门用来介绍spring中的各种注解。 1、RestController 1、含义 2、举例 3、使用场景 RestController 通常用于开发 RESTful API,适合返回 JSON 或 XML 数据的场景 4、总结 RestController 是 Spring 中用于简化 RESTful Web 服务开发的注解,它结…

嵌入式开发:傅里叶变换(5):STM32和Matlab联调验证FFT

目录 1. MATLAB获取 STM32 的原始数据 2. 将数据上传到电脑 3. MATLAB 接收数据并验证 STM32进行傅里叶代码 结果分析 STM32 和 MATLAB 联调是嵌入式开发中常见的工作流程,通常目的是将 STM32 采集的数据或控制信号传输到 MATLAB 中进行实时处理、分析和可视化…

Linux设备驱动开发-SPI驱动开发详解(包含设备树处理详细过程)

基础知识及 SPI 相关结构体介绍 引脚:MISO(master 输入,slave 输出),MOSI(master 输出,slave 输入),片选引脚,SCK(时钟) 控制寄存器&…

嵌入式八股文(五)硬件电路篇

一、名词概念 1. 整流和逆变 (1)整流:整流是将交流电(AC)转变为直流电(DC)。常见的整流电路包括单向整流(二极管)、桥式整流等。 半波整流:只使用交流电的正…

C++初阶——简单实现stack和queue

目录 1、Deque(了解) 1.1 起源 1.2 结构 1.3 优缺点 1.4 应用 2、Stack 3、Queue 4、Priority_Queue 注意:stack,queue,priority_queue是容器适配器(container adaptor) ,封装一个容器,按照某种规则使用&#…

【Git】六、企业级开发模型

文章目录 Ⅰ. 前言Ⅱ. 系统开发环境Ⅲ. Git 分支设计规范master分支release分支develop分支feature分支hotfix分支 Ⅰ. 前言 ​ 我们知道,一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。 ​…

Apache SeaTunnel 构建实时数据同步管道(最新版)

文章作者 王海林 白鲸开源 数据集成引擎研发 Apache SeaTunnel Committer & PMC Member,Apache SkyWalking Committer,多年平台研发经验,目前专注于数据集成领域。 导读 在当今数字化快速发展的时代,数据已然成为企业决策…

在 Windows 上配置 Ollama 服务并开放局域网访问

为了在局域网内共享 Ollama 服务,我们需要完成以下两步: 1、设置 Ollama 的环境变量 OLLAMA_HOST,使其监听局域网的 IP 地址。 (1) 配置 Ollama 服务的监听地址 Ollama 服务使用环境变量 OLLAMA_HOST 来指定监听的地…

错误 MSB3073 命令“setlocal“

最近在搞opencv的c版本。报了这个错很头疼。 点击项目>属性 把这里命令行删掉就行。

【时时三省】(C语言基础)常量和变量

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 在计算机高级语言中,数据有两种表现形式:常量和变量。 常量 在程序运行过程中,其值不能被改变的量称为常量。数值常量就是数学中的常数。 常用的常量有以…

deep-research 专用评测数据集

Deep Research自2025年2月初由OpenAI推出后迅速引发全球关注,其通过端到端强化学习技术实现多步骤研究任务自动化,能在数十分钟内生成分析师水平报告,效率远超人类(耗时从30分钟到30天不等),被学者评价为“…

WordPress平台如何接入Deepseek,有效提升网站流量

深夜改代码到崩溃?《2024全球CMS生态报告》揭露:78%的WordPress站长因API对接复杂,错失AI内容红利。本文实测「零代码接入Deepseek」的保姆级方案,配合147SEO的智能发布系统,让你用3个步骤实现日均50篇EEAT合规内容自动…

QT零基础学习之路(六)--如何添加资源文件

源码地址(优先更新):点击此处

【愚公系列】《Python网络爬虫从入门到精通》033-DataFrame的数据排序

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

Python入门12:面向对象的三大特征与高级特性详解

面向对象编程(OOP)是Python编程中非常重要的一部分,它通过封装、继承和多态这三大特征,帮助我们更好地组织和管理代码。除此之外,Python还提供了一些其他特性,如类属性、类方法和静态方法,进一步…

20分钟 Bash 上手指南

文章目录 bash 概念与学习目的第一个 bash 脚本bash 语法变量的使用位置参数管道符号(过滤条件)重定向符号条件测试命令条件语句case 条件分支Arrayfor 循环函数exit 关键字 bash 脚本记录历史命令查询文件分发内容 bash 概念与学习目的 bash&#xff0…

观成科技:海莲花“PerfSpyRAT”木马加密通信分析

1.概述 在2024年9月中旬至10月,东南亚APT组织“海莲花”通过GitHub发布开源安全工具项目,针对网络安全人员发起了定向攻击。通过对相关攻击活动进行分析,可以将其与一些海莲花的样本关联起来。这些样本的通信数据结构与海莲花此前使用的攻击…