跳转至

http_server_engine.py — SGLang HTTP 服务引擎

文件概述

SGLang 推理服务器的 HTTP 适配器实现(约 955 行),提供同步和异步两种 HTTP 客户端。

核心类

HttpServerAdapter

同步 HTTP 客户端:

class HttpServerAdapter:
    """同步方式调用 SGLang HTTP 推理服务"""
    def generate(self, prompt_ids, sampling_params):
        response = requests.post(f"http://{host}:{port}/generate", json=payload)
        return response.json()

AsyncHttpServerAdapter

异步 HTTP 客户端:

class AsyncHttpServerAdapter:
    """异步方式调用 SGLang HTTP 推理服务

    支持:
    - 异步请求和重试
    - 连接池管理
    - 超时控制
    """
    async def generate(self, prompt_ids, sampling_params):
        async with aiohttp.ClientSession() as session:
            async with session.post(url, json=payload) as resp:
                return await resp.json()

    async def resume_memory_occupation(self, tags):
        """恢复显存占用"""
        pass

    async def release_memory_occupation(self, tags):
        """释放显存占用"""
        pass

    async def update_weights(self, weights):
        """更新模型权重"""
        pass

与其他模块的关系

  • 被 sglang_rollout.py 的 ServerAdapter 使用
  • 提供与 SGLang HTTP 服务器的通信能力

小结

封装了与 SGLang HTTP 推理服务的完整通信协议,支持生成、权重更新、显存管理等操作。