补充openEuler系统部署说明
本项目围绕本地多智能体连续任务构建统一运行系统。规划、检索、推理、总结四个角色使用固定职责,分别通过纯文本、协议字段或隐状态协作。共享记忆保存已获得的事实及经验;记忆证据足够时复用,不足时补查固定知识库。系统支持连续问答和代码执行,并在前端展示角色处理、信息交接、记忆流转与实验指标。
系统面向模型本地部署后,多角色重复处理信息、交接内容较长以及连续任务需要复用事实的场景。主要功能包括:固定四角色协作、协作方式选择、相似度或超图检索、事实及经验记忆、内部状态接续与缓存管理、代码工具执行和实验结果查看。AutoForm 与 LLMLingua-2 入口保留在源码中。
页面与历史记录查看:Python 3.10 及以上、现代浏览器,不需要显卡和模型权重。
真实任务:Python 3.11 及以上,推荐使用 Python 3.12 独立环境;PyTorch、Transformers、Accelerate、Sentence Transformers 等,按机器安装合适的处理器或显卡版本。隐状态必须访问本地模型内部状态。模型权重与检索模型不随代码包提交。
python -m venv .venv
Windows 使用 .\.venv\Scripts\Activate.ps1,Linux 使用 source .venv/bin/activate。启用后安装:
.\.venv\Scripts\Activate.ps1
source .venv/bin/activate
python -m pip install -r src/examples/competition_agents/requirements.txt accelerate
需要使用本地框架源码时安装:
python -m pip install -e src/libs/checkpoint -e src/libs/sdk-py -e src/libs/prebuilt -e src/libs/langgraph
预先在本机部署运行模型和 sentence-transformers/all-MiniLM-L6-v2 检索模型。应用使用本地已部署文件;openEuler 的部署步骤见下节。
sentence-transformers/all-MiniLM-L6-v2
本系统支持在 openEuler 24.03 LTS 系列(含 SP3)的 64 位 x86 服务器上部署。后端使用 Python,前端为已构建的静态页面,部署时沿用 Linux 环境的安装与启动流程。页面展示和已有实验记录查看可在无显卡环境运行;本地模型实验需要准备模型文件以及相应的内存、显存和驱动。
以下命令从仓库根目录执行。先安装系统依赖:
sudo dnf install -y git curl tar bzip2 gcc gcc-c++ make libgomp
建议使用独立的 Python 3.12 环境,避免系统自带 Python 版本与模型依赖不匹配。已有 Conda 的机器可直接创建环境;尚未安装时,可先安装 Miniforge:
curl --fail -L https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh -o /tmp/competition-miniforge.sh bash /tmp/competition-miniforge.sh -b -p "$HOME/miniforge3" source "$HOME/miniforge3/etc/profile.d/conda.sh"
创建环境:
conda create -n competition-agents python=3.12 pip -y conda activate competition-agents python -m pip install --upgrade pip
使用 NVIDIA 显卡时,先安装驱动,再安装与驱动匹配的 PyTorch。下面以驱动支持 CUDA 12.8 的环境为例:
nvidia-smi python -m pip install "torch>=2.5,<3" --index-url https://download.pytorch.org/whl/cu128 python -c "import torch; print(torch.cuda.is_available())"
最后一条应输出 True。其他驱动版本需选择对应的 PyTorch 安装源。无显卡、仅查看演示与实验记录时,可用以下命令替代上面的显卡安装步骤:
True
python -m pip install "torch>=2.5,<3" --index-url https://download.pytorch.org/whl/cpu
安装项目依赖和随包提供的框架源码:
python -m pip install -r src/examples/competition_agents/requirements.txt accelerate python -m pip install -e src/libs/checkpoint -e src/libs/sdk-py -e src/libs/prebuilt -e src/libs/langgraph
启动项目:
python demo/start_demo.py --no-browser
该命令同时启动页面和后端,访问地址为 http://127.0.0.1:5173,后端端口为 8765。提交包已包含构建好的页面,直接启动不需要安装前端构建工具。运行真实任务前,准备基础模型和检索模型,并在页面选择对应模型;命令行也可使用下节的 --local-model 指定本地模型目录。
http://127.0.0.1:5173
8765
--local-model
部署在远程服务器时,在本机另开终端建立端口转发,将 user@server 替换为实际登录用户和服务器地址;非默认连接端口可追加 -p 参数:
user@server
-p
ssh -L 5173:127.0.0.1:5173 -L 8765:127.0.0.1:8765 user@server
保持连接,在本机浏览器打开 http://127.0.0.1:5173,即可查看控制台、协作过程、记忆流转及指标对比。连续问答与代码执行使用同一套项目入口,三种协作方式的职责、知识库和记忆模块保持一致。
已构建界面可直接运行:
python demo/start_demo.py
打开 http://127.0.0.1:5173,后端接口在本机 8765 端口。启动后先显示控制台,不自动执行模型。点击页首“实验记录”导入同一模型与任务的记录,即可查看协作、记忆及指标页面。
修改前端后的重建命令:
cd src/examples/competition_agents/frontend npm ci npm run build
将 dist/ 中的页面与 assets/ 替换到 demo/web/;不复制运行日志目录。
dist/
assets/
demo/web/
真实短演示:
python demo/start_demo.py --single-task --offline
在控制台选择已部署的本地模型,点击“启动实验”,只执行所选数据集的第一题。完整实验直接使用正常启动方式,或在应用目录执行:
cd src/examples/competition_agents python run_competition.py --method plain --dataset topiocqa-ranked-153 --backend local --local-model /models/your-model --limit 10 --isolated-memory python run_competition.py --method structured --dataset topiocqa-ranked-153 --backend local --local-model /models/your-model --limit 10 --isolated-memory python run_competition.py --method latent --dataset topiocqa-ranked-153 --backend local --local-model /models/your-model --limit 10 --isolated-memory python run_competition.py --method latent --dataset codeact --backend local --local-model /models/your-model --limit 10 --isolated-memory
python tests/verify.py python tests/verify.py --unit python tests/verify.py --frontend
第一条核对交付文件、源码清单和已有记录,不加载模型。--unit 执行指标接口检查;--frontend 执行前端配置、任务状态及基线计算检查,运行前先在 src/examples/competition_agents/frontend 执行 npm ci。测试依据见 tests/README.md,演示操作见 demo/README.md。
--unit
--frontend
src/examples/competition_agents/frontend
npm ci
tests/README.md
demo/README.md
指标页按同模型、同数据集及同实验条件显示三种方式,支持自动选择纯文本基线或指定基线,并计算单题耗时、交接字符和载荷的变化。基线选择在页面定时刷新后保持。
连续问答采用文献[17]发布的 TopiOCQA 验证集中编号153会话的前十轮,保留原始问题及顺序;代码执行采用本仓库20项功能任务的前10项。主实验是三个模型、两类任务、三种方式,共18组180条任务。模型名称、参数与逐题结果保存在原始结果归档中。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
多智能体低开销通信与共享记忆实验系统
本项目围绕本地多智能体连续任务构建统一运行系统。规划、检索、推理、总结四个角色使用固定职责,分别通过纯文本、协议字段或隐状态协作。共享记忆保存已获得的事实及经验;记忆证据足够时复用,不足时补查固定知识库。系统支持连续问答和代码执行,并在前端展示角色处理、信息交接、记忆流转与实验指标。
目录
应用场景与主要功能
系统面向模型本地部署后,多角色重复处理信息、交接内容较长以及连续任务需要复用事实的场景。主要功能包括:固定四角色协作、协作方式选择、相似度或超图检索、事实及经验记忆、内部状态接续与缓存管理、代码工具执行和实验结果查看。AutoForm 与 LLMLingua-2 入口保留在源码中。
系统环境与依赖
页面与历史记录查看:Python 3.10 及以上、现代浏览器,不需要显卡和模型权重。
真实任务:Python 3.11 及以上,推荐使用 Python 3.12 独立环境;PyTorch、Transformers、Accelerate、Sentence Transformers 等,按机器安装合适的处理器或显卡版本。隐状态必须访问本地模型内部状态。模型权重与检索模型不随代码包提交。
Windows 使用
.\.venv\Scripts\Activate.ps1,Linux 使用source .venv/bin/activate。启用后安装:需要使用本地框架源码时安装:
预先在本机部署运行模型和
sentence-transformers/all-MiniLM-L6-v2检索模型。应用使用本地已部署文件;openEuler 的部署步骤见下节。openEuler 部署
本系统支持在 openEuler 24.03 LTS 系列(含 SP3)的 64 位 x86 服务器上部署。后端使用 Python,前端为已构建的静态页面,部署时沿用 Linux 环境的安装与启动流程。页面展示和已有实验记录查看可在无显卡环境运行;本地模型实验需要准备模型文件以及相应的内存、显存和驱动。
以下命令从仓库根目录执行。先安装系统依赖:
建议使用独立的 Python 3.12 环境,避免系统自带 Python 版本与模型依赖不匹配。已有 Conda 的机器可直接创建环境;尚未安装时,可先安装 Miniforge:
创建环境:
使用 NVIDIA 显卡时,先安装驱动,再安装与驱动匹配的 PyTorch。下面以驱动支持 CUDA 12.8 的环境为例:
最后一条应输出
True。其他驱动版本需选择对应的 PyTorch 安装源。无显卡、仅查看演示与实验记录时,可用以下命令替代上面的显卡安装步骤:安装项目依赖和随包提供的框架源码:
启动项目:
该命令同时启动页面和后端,访问地址为
http://127.0.0.1:5173,后端端口为8765。提交包已包含构建好的页面,直接启动不需要安装前端构建工具。运行真实任务前,准备基础模型和检索模型,并在页面选择对应模型;命令行也可使用下节的--local-model指定本地模型目录。部署在远程服务器时,在本机另开终端建立端口转发,将
user@server替换为实际登录用户和服务器地址;非默认连接端口可追加-p参数:保持连接,在本机浏览器打开
http://127.0.0.1:5173,即可查看控制台、协作过程、记忆流转及指标对比。连续问答与代码执行使用同一套项目入口,三种协作方式的职责、知识库和记忆模块保持一致。构建与运行
已构建界面可直接运行:
打开
http://127.0.0.1:5173,后端接口在本机 8765 端口。启动后先显示控制台,不自动执行模型。点击页首“实验记录”导入同一模型与任务的记录,即可查看协作、记忆及指标页面。修改前端后的重建命令:
将
dist/中的页面与assets/替换到demo/web/;不复制运行日志目录。真实短演示:
在控制台选择已部署的本地模型,点击“启动实验”,只执行所选数据集的第一题。完整实验直接使用正常启动方式,或在应用目录执行:
测试方法与数据
第一条核对交付文件、源码清单和已有记录,不加载模型。
--unit执行指标接口检查;--frontend执行前端配置、任务状态及基线计算检查,运行前先在src/examples/competition_agents/frontend执行npm ci。测试依据见tests/README.md,演示操作见demo/README.md。指标页按同模型、同数据集及同实验条件显示三种方式,支持自动选择纯文本基线或指定基线,并计算单题耗时、交接字符和载荷的变化。基线选择在页面定时刷新后保持。
连续问答采用文献[17]发布的 TopiOCQA 验证集中编号153会话的前十轮,保留原始问题及顺序;代码执行采用本仓库20项功能任务的前10项。主实验是三个模型、两类任务、三种方式,共18组180条任务。模型名称、参数与逐题结果保存在原始结果归档中。