Skip to content

Repository files navigation

Evaluation_compute

这是一个针对 Agent 平台进行异步评测的系统服务,基于 FastAPI 构建,提供无阻塞、高并发、易扩展的指标计算 API。

架构设计概览

本系统采用**策略模式(Strategy Pattern)注册表机制(Registry)**进行架构设计

核心模块层级如下:

  • 接入层 (API Layer): 使用 FastAPI 暴露高性能的异步 HTTP POST 接口,结合 Pydantic 进行严格的数据契约校验。支持在请求中动态指定 target_metrics
  • 执行引擎层 (Executor Engine): 使用异步并行框架 (asyncio.gather) 对不同的指标评估器进行高并发调度,缩短响应延迟。
  • 评估器注册中心 (Evaluator Registry):
    • 统一继承抽象基类 BaseMetricEvaluator
    • 不同指标被分离为独立的评估器文件(例如处理 Ragas 指标、统计型指标、自研大模型裁判指标等)。
    • 拓展新指标时,只需写一个新的类并在头部添加 @EvaluatorRegistry.register("your_metric") 即可,完全不需要修改核心路由和引擎逻辑。
  • 依赖注入层 (Dependencies): 统一控制 LangChain 或 OpenAI Client 的初始化实例级调用。

安装与启动指南

本项目使用目前最高效的 Python 环境及包管理器 uv 进行开发管理。

1. 安装依赖环境

在包含 pyproject.toml 或依赖配置的项目根目录下,使用 uv 初始化/同步虚拟环境依赖:

# 如果尚未安装uv,可以使用 pip install uv 进行安装
uv sync

2. 激活虚拟环境

项目安装依赖后会在根目录下生成 .venv 文件夹。

  • Windows 平台:

    .venv\Scripts\activate
  • Linux / macOS 平台:

    source .venv/bin/activate

3. 启动项目服务

在虚拟环境被激活后,可以直接通过 uvicorn 运行 FastAPI 服务:

uv run uvicorn src.main:app --reload --port 8000

服务成功启动后,使用浏览器访问 Swagger 面板查看详细的请求格式并进行接口测试: 👉 http://127.0.0.1:8000/docs

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages