跳转到主要内容

作用

Generation Server 是 UltraRAG 中负责 调用和部署大语言模型(LLM) 的核心模块。 它接收来自 Prompt Server 构建的输入提示(Prompt),并生成相应的输出结果。 该模块支持 文本生成 与 图像-文本多模态生成 两种模式,可灵活适配不同任务场景(如问答、推理、总结、视觉问答等)。 Generation Server 原生兼容以下主流后端:vLLMHuggingFace 以及 OpenAI

使用示例

文本生成

以下示例展示了如何使用 Generation Server 执行一个基础的文本生成任务。该流程通过 Prompt Server 构建输入提示后,调用 LLM 生成回答,并最终完成结果提取与评估。
examples/vanilla_llm.yaml
运行以下命令编译 Pipeline:
修改参数:
examples/parameters/vanilla_llm_parameter.yaml
运行 Pipeline:

多模态推理

在多模态场景下,Generation Server 不仅可以处理文本输入,还能结合图像等视觉信息完成更复杂的推理任务。下面通过一个示例展示如何实现。 我们先准备一个示例数据集(包含图像路径):
data/test.jsonl
在进行多模态生成前,需要在 Benchmark Server 的 get_data 函数中新增字段 multimodal_path, 用于指定图像输入路径。
如何新增字段请参考新增加载数据集字段
examples/vanilla_vlm.yaml
运行以下命令编译 Pipeline:
修改参数:
examples/parameters/vanilla_vlm_parameter.yaml
运行:
注意:你可以设置 image_tag<IMG> 来指定你希望图像输入的位置,为空默认为最左侧输入。

部署模型

UltraRAG 完全兼容 OpenAI API 接口规范,因此任何符合该接口标准的模型都可以直接接入,无需额外适配或修改代码。 以下示例展示如何使用 vLLM 部署本地模型。 step1: 后台部署模型 以 Qwen3-32B 为例,建议使用多卡并行以保证推理速度。 Screen (宿主机直接运行)
  1. 新建会话会话:
  1. 启动命令:
script/vllm_serve.sh
出现类似以下输出,表示模型服务启动成功:
  1. 退出会话:按下 Ctrl + A + D 可退出并保持服务在后台运行。 如需重新进入该会话,可执行:
Step 2:修改 Pipeline 参数 修改参数:
examples/parameters/vanilla_llm_parameter.yaml
完成配置后,即可正常运行.