目录
目录README.md

赛题题目:智能体操作系统中的多智能体协作技术

赛题说明:

多智能体协作系统借鉴了人类社会的协作原则,通过分工合作,结合各个智能体的优势,完成一些超出单个智能体能力范围的任务。例如,多智能体协作系统可以用于模拟和优化交通、能源、物流等领域的复杂系统,也可以用于设计和实现智能家居、智能城市、智能工厂等应用场景。随着多智能体协作系统的愈发复杂,在多智能体协作系统中实现高效的任务调度与协作,成为推动通用人工智能落地的重要课题。为此,AIOS应运而生。AIOS 是一个开源的大模型智能体操作系统,包含专门设计的大模型内核、智能体调度器、上下文管理器、内存与存储管理器、工具管理器以及访问控制机制,可有效管理大模型及外部工具等系统资源。基于此架构,AIOS 能显著提升智能体的任务执行效率,实测可达最高 2.1 倍的性能提升。通过对资源分配和大模型上下文切换的优化,AIOS 不仅在当前环境中展现出高效率和高可扩展性,也为未来实现更高水平的通用人工智能奠定了基础。

赛题要求:

本赛题基于 “Linux + AIOS + 端侧大模型(7B或8B)” 的环境,要求参赛队伍在 AIOS 框架内实现对多智能体协作的支持。具体要求如下:

  1. 参赛队伍自行拟定单智能体无法完成的复杂任务,并围绕该任务使用 AIOS-Agent SDK 设计多智能体协作系统,应包含不少于4种可协作的智能体。
  2. 复杂任务应可分解为不少于4个可并行执行的子任务,根据子任务的特性,多智能体协作系统应将子任务自动分配给不同的智能体完成子任务。
  3. 设计合理的多智能体协作模式,实现对复杂任务的自动化执行。协作流程中,不少于3对不同类型智能体之间应存在双向交互。
  4. 多智能体协作过程中应考虑并满足子任务执行的先后顺序及依赖关系的约束,确保整体流程有序进行。

评分标准:

功能完整性(50%):

  • 自行拟定的复杂任务合理,满足赛题对任务场景的要求(40分);
  • 多智能体的实现及整体协作流程设计满足赛题要求(60分)。

应用效果(50%):

  • 与多智能体串行完成任务相比,在智能体操作系统中并发完成任务的总时间应减少不少于20%(50分);
  • 多智能体协作应能正确完成任务(50分)。

赛题联系人:

纪斌 jibin@nudt.edu.cn 涂宏魁 tuhkjet@foxmail.com 刘美燕 liumeiyan@kylinos.cn

参考资料:

参赛资源支持:

麒麟软件有限公司可提供软件开发环境

项目介绍

项目简介

随着生成式任务与自动化流程日益复杂,如何提升多智能体系统的并发执行效率与协作能力成为关键挑战。本作品聚焦于复杂任务中的多智能体协作问题,探索在大模型驱动的任务执行系统中,如何通过高效调度与资源管理机制提升整体协作效率。
本项目基于开源的大模型智能体操作系统 AIOS,构建了一套面向专利撰写场景的多智能体协作系统。AIOS 提供了包括智能体调度器、上下文管理器、内存与存储管理器、工具管理器与访问控制模块等核心组件,为任务划分、上下游依赖管理、并发执行与资源复用提供了坚实的系统支撑。
我们在此基础上设计了一套专利写作智能体协作工作流,该任务本身具有文本长度大、上下文强依赖、结构复杂等特点,传统单智能体难以高质量完成。借助 AIOS 提供的 API 开发套件,我们将该任务拆分为 13 个具有依赖关系的子任务,并构建了一个包含 13个智能体的协同系统:

  • 各子任务间存在清晰的上下游依赖;
  • 运行过程中至少存在7个智能体同时执行任务;
  • 至少形成了 6 对智能体双向交互链路;
  • 智能体之间存在合作、竞争关系;
  • 所有智能体由 AIOS 智能体调度器统一调度并并发执行,充分利用算力资源。

整个系统部署在 Linux 环境下,依托本地大语言模型平台(以 Qwen2.5 7B 为例),实现了结构化长文本生成任务的完整协作闭环,并展示了 AIOS 在智能体协作方面的应用价值与平台优势。

项目意义

本作品的创新价值与实践意义体现在以下三个方面:

  1. 充分验证了 AIOS 在智能体系统中的调度与协作能力。 我们通过将复杂的专利撰写任务细分为多个结构化子任务,并借助 AIOS 的调度与上下文机制,实现了多智能体的高效并发执行,有效提升了任务处理效率与系统稳定性。
  2. 探索了结构化生成任务在多智能体系统中的落地路径。 专利写作是一种典型的结构化内容生成任务,需对结构、语义与逻辑具备高度一致性。我们所提出的任务拆解与协作机制,展示了如何将长文本生成任务在多智能体系统中高质量完成,为后续类似任务提供了可复制的实现范式。
  3. 设计了基于文件系统的多智能体协同机制,丰富了 AIOS 的开源生态。 针对当前 AIOS 在智能体之间通信与协作机制尚不完善的问题,我们提出并实现了一种基于文件系统的“被动触发 + 输入输出驱动”的智能体协同架构。该机制的引入,不仅提升了本项目中 AIOS 的适用性,也为其开源生态在协同模型设计方面提供了新的扩展路径和实践支撑。

系统架构

img.png本项目基于 AIOS(智能体操作系统)框架构建,在实现过程中广泛调用了 AIOS SDK(Cerebrum)及其配套模块。

  • 其中AIOS 模块复用了来自 AIOS 开源项目( https://github.com/agiresearch/AIOS ) 的部分核心组件,特此鸣谢社区贡献者 dongyuanjushi、evison 等为该项目的持续建设与维护所作出的贡献。
  • Cerebrum 模块基于 Cerebrum 开源项目( https://github.com/agiresearch/Cerebrum ) 进行集成与扩展,鸣谢贡献者 dongyuanjushi、BRama10 等为该开发工具链提供了丰富的功能支持。
  • 本项目的 AutoPatent 模块为完全自主开发,核心功能代码由 Rebecca_liang(梁雯倩)、lihaonan123(李浩楠)、bettersystem(刘纪龙) 共同设计与实现,涵盖了专利草稿分析、模块化写作、智能体调度、结构聚合等关键流程。

img.png 上图展示了本项目完整的多智能体驱动专利写作流程,覆盖从草稿审核到专利全文生成的全过程。系统基于文件流驱动与状态追踪机制,将流程划分为五大阶段:

  1. 草稿审核模块对输入草稿进行结构与合法性检查,确保初始质量;
  2. 短组件生成模块将草稿拆解为摘要、背景、权利要求等结构化组件;
  3. 大纲生成模块结合草稿语义生成树状结构大纲,驱动后续详细撰写;
  4. 详细写作模块基于组件与大纲进行段落级内容生成与审核;
  5. 内容聚合模块对生成组件与细节内容进行组合,最终产出完整专利文本。

系统具备任务并行调度、模块独立部署、自然容灾与中间存储恢复能力,支持多阶段状态可视追踪,适用于复杂专利自动撰写场景。

  1. 中间产物持久化存储:系统在各关键阶段(如草稿审核完成、短组件生成完成、结构大纲生成完成、段落撰写完成)均设置了显式的存储节点,自动将当前阶段的结构化产出(如短组件、写作大纲、段落内容等)以文件形式持久化。这些中间数据一方面用于下一阶段调用,另一方面在异常恢复时可作为恢复基线。
  2. 运行状态追踪机制:借助状态管理框架,系统为每个智能体子模块配备了运行状态标记(如“待执行”、“执行中”、“已完成”、“失败”等),并实时记录任务进展。该机制允许系统对每份草稿或生成任务构建明确的执行流程图,使任务在失败时能够精确定位中断点,避免重复执行已完成部分。
  3. 快照与恢复机制:在系统执行过程中,Context Manager(上下文管理器)会周期性生成快照,记录当前上下文决策路径、模型调用状态及输入输出内容。当系统因意外情况中止时,用户或调度器可以基于最近快照恢复到中断前的状态,继续完成剩余任务,从而提升系统鲁棒性。

核心文件结构

AutoPatent/
├── Agents/                  # 存放所有具体的智能体实现
│   ├── AbstractAgent/       # 摘要生成智能体
│   ├── BackgroundAgent/     # 背景技术生成智能体
│   ├── BaseExamAgent/       # 审查智能体的基类
│   ├── BaseShortComponentsAgent/ # 短文本组件智能体的基类
│   ├── ClaimAgent/          # 权利要求生成智能体
│   ├── DetailExamAgent/     # 详细描述审查智能体
│   ├── DetailWriterAgent/   # 详细描述撰写智能体
│   ├── ShortComponentsExamAgent/ # 短文本组件审查智能体
│   ├── SummaryAgent/        # 发明内容概述生成智能体
│   ├── TitleAgent/          # 标题生成智能体
│   ├── TreeAgent/           # 专利大纲(PGTree)生成智能体
│   └── UserDescExamAgent/   # 用户技术交底书审查智能体
├── config/                  # 存放AutoPatent特定的配置文件
│   └── config.py            # 定义了各模块调用LLM的配置
├── input/                   # 存放待处理的原始技术交底书文件
├── input_data/              # 存放用于测试和演示的原始数据
├── log/                     # 存放日志文件
│   └── app.log
├── noAIOS_main.py           # 非AIOS(串行)模式的主入口脚本
├── noAIOS_src/              # 非AIOS模式下各阶段的执行逻辑
├── output/                  # AIOS模式下的输出目录,存放各阶段的中间产物和最终结果
├── output_history/          # 存放历史运行
│   ├── original_patent      # 原始专利提示文件
│   ├── eval                 # 评估生成质量相关文件和代码
│   ├── ollama               # 使用ollama生成的日志文件
│   └── vllm                 # 使用ollama生成的日志文件
├── patentPrompt/            # 存放所有与LLM交互的提示(Prompt)
│   └── prompt_cfg.py
├── src/                     # AIOS模式下各阶段的执行逻辑(协调器)
│   ├── ComponentsAggregator.py # 短文本组件聚合器
│   ├── DetailGenertator.py   # 详细描述生成器
│   ├── DraftExam.py          # 技术交底书审查器
│   ├── PatentAggregator.py   # 最终专利聚合器
│   ├── PGTreeConstructor.py  # 专利大纲构造器
│   └── ShortComponentsWriter.py # 短文本组件撰写器
├── State/                   # 状态管理相关模块
│   ├── StateLoader.py       # 状态加载器,从文件加载状态
│   ├── StateManager.py      # 状态管理器,定义和维护全局状态结构
│   └── StateUploader.py     # 状态上传器,将状态保存到文件
├── Tools/                   # 存放智能体可以调用的外部工具
│   └── tavily_search/       # Tavily搜索工具
├── main.py                  # AIOS(并发)模式的主入口脚本
└── run.sh                   # 自动化运行和测试脚本

simple_visualization/
├── MapleMonoNormal-Woff2/   # 网页使用的字体文件
├── icon.png                 # 网页图标
├── index.html               # 可视化前端页面
└── workflow_monitor.py      # 提供后端API的FastAPI应用,用于前端获取工作流状态

实验结果

使用AIOS的效率提升

实验环境

项目 第一组实验:Ollama 后端 第二组实验:vLLM 后端
模型数量 3 3
GPU 数量 1 张 RTX 4090D(24GB) 3 张 RTX 4090D(每张 24GB)
模型部署方式 所有模型部署在同一张 GPU 上 每个模型独立部署在单张 GPU 上
推理资源策略 时间复用(串行使用同一 GPU) 空间复用(并行使用不同 GPU)
模型访问方式 通过端口切换调用不同模型 每个模型绑定独立端口
并发处理能力 受限于单卡资源 可实现多模型物理并行
适配目标 资源受限场景 高并发、高吞吐生成任务

实验结果

专利数量 Ollama 串行 Ollama + AIOS 并发 vLLM 串行 vLLM + AIOS 并发
3 240s 203s 360s 246s
5 449s 332s 531s 245s
7 544s 497s 772s 274s
10 839s 715s 1052s 393s
15 1407s 1059s 1731s 479s
20 2563s 1557s 2576s 572s

img.png 结论

  • 在使用 Ollama 部署模型时,系统在 AIOS 下并发处理 20 篇专利草稿的平均用时为 1557 秒,而串行执行同样任务的用时为 2563秒,时间缩短约 39.3%。 该结果验证了 AIOS 在上下文切换优化和模型复用方面的调度能力,有效减少了重复加载和状态切换的系统开销。
  • 在使用 vLLM 部署模型时,AIOS 并发处理 20 篇草稿的平均用时为 572 秒,串行处理时间为 2576 秒,整体效率提升约 78%。

生成质量提升

实验环境

项目 基线(单一大模型) 实验一(多智能体) 实验二(微调后多智能体)
模型 Qwen2.5-7B(未微调) Qwen2.5-7B(未微调) Qwen2.5-7B(部分智能体使用微调模型)
推理后端 Ollama Ollama Ollama
并发执行 是(AIOS 多智能体并发) 是(AIOS 多智能体并发)
智能体数量 无(无角色划分) 13个智能体角色 13个智能体角色(关键智能体使用微调模型)
工作流程 端到端串行提示词执行 规划 - 生成 - 审查 闭环工作流 规划 - 生成 - 审查 闭环工作流
提示词设计 高度集成复杂提示词 模块化提示词,根据角色精细设计 模块化提示词,部分微调模型已内化领域知识
数据处理规模 20 篇草稿 20 篇草稿 20 篇草稿
实验目的 提供传统单智能体性能基线 评估 AIOS 多智能体架构带来的生成质量提升 评估微调后在多智能体架构下带来的专业性与质量提升
运行环境 单张 RTX 4090D 显卡 单张 RTX 4090D 显卡,AIOS 控制并发 单张 RTX 4090D 显卡,AIOS 控制并发

实验结果

指标 单智能体 多智能体非微调版本 多智能体微调版本
BLEU-1分数(10^(-2)) 0.13 1.74 2.08
ROUGE-2分数(10^(-2)) 0 0.1 0
ROUGE-L分数(10^(-2)) 1.78 2.93 2.61
DeepSeek-R1测评 6.51 7.53 7.9
生成文本平均Token长度 975.6 1941 2175.3

注:由于中文自然语言处理的特性,分词方式对BLEU和ROUGE指标影响较大,导致绝对值偏低。因此,本实验的重点在于比较两种模式在多个维度上的相对差异。

img.png img_1.png img_2.png

  • 与单智能体相比的生成质量提升
    • 内容覆盖度与完整性:多智能体协作模式生成的平均Token长度达到了1941.0,实现了翻倍增长。
    • 内容准确性与结构一致性 BLEU-1与ROUGE-1/L三项指标的显著提升,共同验证了生成内容在术语准确性、内容召回率提升。
  • 模型微调后的生成质量提升
    • 生成文本平均长度的进一步增加,也表明微调模型在面对长文本生成任务时,其遵循复杂指令和保持内容输出的能力得到强化。
    • 微调后模型使用大量的专业化转述,虽然在语义上更专业,但在字面上却会降低与原始文本的重合度,从而导致ROUGE分数的下降。

压力测试

实验环境

配置项 详细信息
CPU Intel Xeon Platinum 8260 (或同等性能)
GPU RTX 4090D(24GB 显存)*3
内存 256 GB
操作系统 Ubuntu 22.04 LTS
核心框架 Python 3.10, PyTorch 2.1, CUDA 12.1
LLM服务 vLLM
核心依赖 AIOS, Langchain, FastAPI, aiohttp等

实验结果

用例编号 并发任务数 总耗时 (秒) 平均任务耗时 (秒) 峰值CPU利用率 峰值GPU利用率 峰值显存占用 (GB) 状态
ST-C-001 3 246 82 350% 98% 52.8 / 72
ST-C-002 5 245 81.7 680% 99% 53.1 / 72
ST-C-003 7 274 91.3 1250% 99% 55.5 / 72
ST-C-004 10 393 13.1 1500% 99% 57.2 / 72
ST-C-005 15 479 31.9 1860% 99% 58.4 / 72
ST-C-006 20 572 28.6 2400% 99% 59.2 / 72

在10个并发任务的压力下,系统依然能够稳定运行并完成所有任务,证明了AIOS框架在资源调度和管理上的鲁棒性。在20个任务的压力下,表现出良好的容错性。

容灾能力测试

在本系统中,我们设计了多种场景以验证多智能体架构下的容灾能力。测试结果显示,无论是智能体故障、文件 I/O 异常,还是系统异常退出,容灾机制均被成功触发,且均实现了100%的正确处理率。具体如下表所示:

测试场景 测试目的 容灾机制触发率 正确处理率
场景一 测试智能体故障时系统容灾能力 100% 100%
场景二 测试文件I/O故障时系统容灾能力 100% 100%
场景三 测试系统异常退出时的容灾能力 100% 100%

上述结果表明,系统在关键组件异常的情况下具备稳定、可靠的自恢复能力,能够保障整体任务流程不中断,提升系统的健壮性和实际部署可靠性。

环境准备

Python版本

  • 支持版本: Python 3.10

步骤一、克隆源码

git clone https://gitlink.org.cn/Rebecca_liang/zntczxtzddzntxzjs.git

步骤二、准备环境

使用 Conda 创建虚拟环境(仅支持 Python 3.10 或 3.11):

conda create -n venv python=3.x 
conda activate venv

步骤三、配置 AIOS

安装AIOS 核心环境依赖:

pip install -r requirements-cuda.txt

安装AIOS SDK环境依赖:

git clone https://github.com/agiresearch/Cerebrum.git
cd Cerebrum
pip install hatchling
vi pyproject.toml # 删除带有License的两行
pip install -e .

步骤四、配置AutoPatent

安装AutoPatent环境依赖:

cd ../AutoPatent
pip install -r requirements.txt

快速开始

步骤一、准备模型

您可以使用API 或 本地模型作为大语言模型的后端服务,如果您只是需要演示 AutoPatent 的工作流,可以选择使用API;如果您希望使用本地模型,则需要确保 Ollama 或 vLLM 服务已正确安装并运行。

后台 配置 模型数量 算力要求 是否满足模型部署在本地的要求 介绍 部署难度
Gemini 见选择1 1-3 - 不满足题目对于模型部署在本地的要求。 🌟
Ollama(入门推荐) 见选择2.1 2 RTX 4090D(24GB)*1 不需要复杂的配置,但受限于并发度,AIOS 效率提升受到影响。 🌟🌟
Ollama 见选择2.2 3 RTX 4090D(24GB)*1 配置稍复杂。 🌟🌟🌟
vLLM 见选择3 3 RTX 4090D(24GB)*3 算力要求较高。 🌟🌟🌟

选择1、使用API(快速开始)

若您需要外部服务的 API 密钥,请确保服务器与服务商直接网络可用。配置这些密钥最简单的方法是编辑aios/config/config.yaml,我们推荐使用Gemini。

api_keys:
  openai: "your-openai-key"    
  gemini: "your-gemini-key"    
  groq: "your-groq-key"      
  anthropic: "your-anthropic-key" 
  huggingface:
    auth_token: "your-huggingface-token-for-authorized-models"  
    cache_dir: "your-cache-dir-for-saving-models"
  novita: "your-novita-api-key"

获取 API keys 的方式:

您需要编辑aios/config/config.yaml,将 llms 部分修改如下:

- name: "gemini-2.0-flash"
  backend: "gemini"

您需要编辑AutoPatent/config/config.py,将 BaseShortComponentsAgent_LLM_CONFIGBaseExamAgent_LLM_CONFIGDetailExamAgent 修改为以下内容:

BaseShortComponentsAgent_LLM_CONFIG = [
    {
        "name": "gemini-2.0-flash",
        "backend": "gemini",
    }
]

BaseExamAgent_LLM_CONFIG = [
    {
        "name": "gemini-2.0-flash",
        "backend": "gemini"
    }
]

DetailExamAgent = [
    {
        "name": "gemini-2.0-flash",
        "backend": "gemini"
    }
]

DetailWriterAgent_LLM_CONFIG = [
    {
        "name": "gemini-2.0-flash",
        "backend": "gemini"
    }
]

选择2、使用Ollama

Ollama 是一个开源的 LLM 服务,支持多种模型。您可以通过以下命令安装 Ollama:

curl -fsSL https://ollama.ai/install.sh | sh
  • 选择2.1 使用未经微调的模型(推荐)
    您可以通过以下命令直接从Ollama下载所需的模型。

    ollama pull qwen2.5:7b
    ollama pull qwen3:1.7b

    您需要编辑aios/config/config.yaml,将 llms 部分修改如下:

    - name: "qwen2.5:7b"
      backend: "ollama"
      hostname: "http://localhost:11434" # Make sure to run ollama server
    
    - name: "qwen3:1.7b"
      backend: "ollama"
      hostname: "http://localhost:11434" # Make sure to run ollama server

    您需要编辑AutoPatent/config/config.py,将 BaseShortComponentsAgent_LLM_CONFIGBaseExamAgent_LLM_CONFIGDetailExamAgent 修改为以下内容:

    BaseShortComponentsAgent_LLM_CONFIG = [
        {
            "name": "qwen2.5:7b",
            "backend": "ollama"
        }
    ]
    
    BaseExamAgent_LLM_CONFIG = [
        {
            "name": "qwen3:1.7b",
            "backend": "ollama"
        }
    ]
    
    DetailExamAgent = [
        {
            "name": "qwen2.5:7b",
            "backend": "ollama"
        }
    ]
    
    DetailWriterAgent_LLM_CONFIG = [
        {
            "name": "qwen2.5:7b",
            "backend": "ollama"
        }
    ]

    在运行AIOS前你需要启动ollama服务

    ollama serve
  • 选择2.2 使用微调的模型(稍复杂)

    您可以通过以下百度云链接下载经过微调过的模型参数。接下来,我们将以 Modelfile_LongerWriter_Qwen25-7b_Insrtuct 为例,讲解如何使用上述模型参数在Ollama上创建模型,其余两个模型同理。

    修改Makefile中gguf实际存储路径

    vim /path/to/Modelfile_LongerWriter_Qwen25-7b_Insrtuct

    修改FROM路径:

    # Modelfile generated by "ollama show"
    # To build a new Modelfile based on this, replace FROM with:
    # FROM qwen2.5:latest
      
    FROM /path/to/your/LongerWriter-Qwen2.5-7B-Instruct.gguf  # 本行需要修改
    TEMPLATE """{{- if .Messages }}
    {{- if or .System .Tools }}<|im_start|>system
    {{- if .System }}
    {{ .System }}
    {{- end }}
    {{- if .Tools }}

    创建模型

    ollama create LongerWriter -f /path/to/your/Modelfile_LongerWriter_Qwen25-7b_Insrtuct

    命令运行成功后,运行:

    ollama serve
    ollama list

    以验证是否成功添加到ollama支持列表,如果成功应该显示为:

    NAME                                  ID              SIZE      MODIFIED     
    LongerWriter:latest                   b75cd7bdb646    15 GB     2 days ago

    您需要编辑aios/config/config.yaml,将 llms 部分修改如下:

    - name: "LongerWriter:latest"
      backend: "ollama"
      hostname: "http://localhost:11434" # Make sure to run ollama server
    - name: "ShortComponentsWriter:latest"
      backend: "ollama"
      hostname: "http://localhost:11434" # Make sure to run ollama server
    - name: "ExamWriter:latest"
      backend: "ollama"
      hostname: "http://localhost:11434" # Make sure to run ollama server

    您需要编辑AutoPatent/config/config.py,将 BaseShortComponentsAgent_LLM_CONFIGBaseExamAgent_LLM_CONFIGDetailExamAgent 修改为以下内容:

    BaseShortComponentsAgent_LLM_CONFIG = [
        {
            "name": "ShortComponentsWriter:latest",
            "backend": "ollama"
        }
    ]
    
    BaseExamAgent_LLM_CONFIG = [
        {
            "name": "ExamWriter:latest",
            "backend": "ollama"
        }
    ]
    
    DetailExamAgent = [
        {
            "name": "ExamWriter:latest",
            "backend": "ollama"
        }
    ]
    
    DetailWriterAgent_LLM_CONFIG = [
        {
            "name": "LongerWriter:latest",
            "backend": "ollama"
        }
    ]

    在运行AIOS前你需要启动ollama服务

     ollama serve

选择3、使用vLLM(算力要求高)

vLLM 是一个高性能的 LLM 服务,支持多种模型。您可以通过以下命令安装 vLLM:

pip install vllm

安装完成后,您需要下载所需的模型。项目中使用 Qwen 系列模型。使用 download_model.py 脚本下载模型。模型保存到 /root/your-path/ 目录(根据您的需求修改)。

  • 下载 Qwen2.5-7B-Instruct:运行 python download_model.py(脚本中已配置)。
  • 下载 Qwen3-1.7B:同上。

模型准备后,需要通过以下3条命令启动 vLLM 服务,将3个模型分别部署在3张显卡上,并通过端口区分:

# 确保您已经下载了模型到 /root/your-path/ 目录,您肯需要根据实际情况修改路径。
CUDA_VISIBLE_DEVICES=0 vllm serve /root/your-path/Qwen2.5-7B-Instruct     --enable-auto-tool-choice     --tool-call-parser hermes     --host 0.0.0.0     --port 8001     --tensor-parallel-size 1

CUDA_VISIBLE_DEVICES=1 vllm serve /root/your-path/Qwen2.5-7B-Instruct     --enable-auto-tool-choice     --tool-call-parser hermes     --host 0.0.0.0     --port 8002     --tensor-parallel-size 1

CUDA_VISIBLE_DEVICES=2 vllm serve /root/your-path/Qwen3-1.7B     --enable-auto-tool-choice     --tool-call-parser hermes     --host 0.0.0.0     --port 8003     --tensor-parallel-size 1

您需要编辑aios/config/config.yaml,将 llms 部分修改如下:

# 确保您已经下载了模型到 /root/your-path/ 目录,您肯需要根据实际情况修改路径。
- name: "/root/your-path/Qwen2.5-7B-Instruct"
  backend: "vllm"
  hostname: "http://localhost:8001/v1"

- name: "/root/your-path/Qwen2.5-7B-Instruct"
  backend: "vllm" 
  hostname: "http://localhost:8002/v1"

- name: "/root/your-path/Qwen3-1.7B"
  backend: "vllm"
  hostname: "http://localhost:8003/v1"

您需要编辑AutoPatent/config/config.py,将 BaseShortComponentsAgent_LLM_CONFIGBaseExamAgent_LLM_CONFIGDetailExamAgent 修改为以下内容:

# 确保您已经下载了模型到 /root/your-path/ 目录,您肯需要根据实际情况修改路径。
BaseShortComponentsAgent_LLM_CONFIG = [
    {
        "name": "/root/your-path/Qwen2.5-7B-Instruct",
        "backend": "vllm"
    }
]

BaseExamAgent_LLM_CONFIG = [
    {
        "name": "/root/your-path/Qwen3-1.7B", 
        "backend": "vllm"
    }
]

DetailExamAgent = [
    {
        "name": "/root/your-path/Qwen3-1.7B",
        "backend": "vllm"
    }
]

DetailWriterAgent_LLM_CONFIG = [
    {
        "name": "/root/your-path/Qwen2.5-7B-Instruct",
        "backend": "vllm"
    }
]

步骤二、启动 AIOS 内核

确保您已经完成上述模型准备。如果您运行的是本地模型,确保 Ollama 或 vLLM 服务已启动并运行在指定端口。可通过以下命令启动 AIOS:

bash runtime/launch_kernel.sh

若您在该步骤遇到问题,可以在README_AIOS.md中参照更详细的配置指南。

步骤三、启动多智能体自动专利生成

  • 选择1 使用图形化界面(适用于演示 )
    在服务器上启动 AutoPatent 的简易后端,如果您不希望展示历史记录,建议您在开启后段前预先清空outputnoAIOS_output文件夹下的记录文件:
    uvicorn simple_visualization.workflow_monitor:app --reload --port 8088
    运行成果后您应该看到如下内容: img.png 开启网页服务器
    cd simple_visualization/ && python -m http.server 8068
    运行成果后,您应该看到如下内容: img_2.png 如果您使用的是远程服务器,则需要进行端口映射
    ssh -L 8088:localhost:8088 your_username@your_server_ip -N
    ssh -L 8068:localhost:8068 your_username@your_server_ip -N
    打开localhost:8086,您应该看到如下页面: img_1.png
    1. 您通过右上角开关可以选择使用AIOS模式(并行处理)或非AIOS模式(串行处理)来运行专利生成任务。(推荐AIOS)
    2. 点击右上角小三角开始运行可视化后段。
    3. 点击左下角的“选择草稿”按钮,选择您需要处理的草稿文件。
    img_3.png
    1. 如选择draft4,您可以看到草稿内容被加载到页面中,并自动进入生成流程。
    img_4.png
    1. 运行结束后,您可以通过点击流程块,查看该检查点记录的内容。
    2. 最后,可以通过点击绿色圆点,删除您不需要的工作记录。
  • 选择2 使用命令行(适用于比较AIOS效率提升)
    进入 AutoPatent 目录:
    cd AutoPatent
    如果需要一键运行整个流程,可以使用 run.sh -draft_num -mode 运行脚本。
    您可以通过以下命令在AIOS框架下并行处理3篇草稿:
    bash run.sh 3 aios
    如果脚本正确运行,您应该看到如下内容: img.png 脚本运行结束后,您应该看到如下内容: img_1.png 您可以通过以下命令使智能体串行处理3篇草稿:
    bash run.sh 3 no_aios
    如果脚本正确运行,您应该看到如下内容: img_3.png 脚本运行结束后,您应该看到如下内容: img_4.png
关于
208.5 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号