Skip to content

框架介绍#

简介#

agi-eval 是一个基于插件化架构的大语言模型(LLM)评测框架,旨在提供灵活、可扩展的评测平台。该框架支持多种评测场景、模型接入方式和评测指标,采用模块化设计,便于开发者根据需求定制和扩展功能。

核心特性#

🔧 插件化架构#

  • 可扩展设计: 支持自定义数据处理、模型推理、指标计算和报告生成插件
  • 模块化组件: 每个功能模块都可以独立开发和替换
  • 标准化接口: 统一的插件接口规范,便于第三方扩展

🚀 多种运行模式#

  • 单机模式: 适用于调试和小规模评测
  • 数据并行: 支持多进程并行处理,提升大规模评测效率
  • 灵活调度: 可根据资源情况动态调整并发数

⚙️ 灵活配置#

  • 模板化配置: 支持配置模板,便于批量数据集评测
  • 动态参数: 支持运行时参数传递和覆盖
  • 多层配置: 全局参数、插件参数分层管理

📊 可视化报告#

  • Web界面: 提供直观的评测结果展示
  • 多维度分析: 支持指标统计、详情查看、参数对比

核心组件#

调度中心 (DispatchCenter)#

调度中心负责评测任务的分发和执行管理,多个并行的Runner任务执行器基于进程间共享的任务队列获取任务并执行。

主要职责:

  • 任务调度: 负责评测任务的分发和执行管理
  • 资源管理: 管理计算资源和并发控制

插件系统 (Plugin System)#

插件系统是框架的核心,采用插件化设计,支持灵活扩展。

主要功能:

  • 插件注册: 自动发现和注册插件
  • 生命周期管理: 管理插件的初始化、执行和清理
  • 参数传递: 处理插件间的参数传递和上下文共享

配置管理 (Config Manager)#

配置管理模块负责解析和验证配置文件,处理多层配置的合并和覆盖。

主要功能:

  • 配置解析: 解析和验证配置文件
  • 参数合并: 处理多层配置的合并和覆盖
  • 模板渲染: 支持配置模板的动态渲染

框架结构#

Bash
agieval/
├── cli/                 # 命令行接口
├── common/              # 公共工具和组件
├── core/                # 核心框架代码   ├── plugin/          # 插件系统核心   └── run/             # 运行调度系统
├── entity/              # 数据实体和配置定义
├── plugin/              # 插件实现
└── visualization/       # 可视化报告

下一步#

请查看以下文档了解各模块的详细信息: