# rocm-llm **Repository Path**: yanfanVIP/rocm-llm ## Basic Information - **Project Name**: rocm-llm - **Description**: 使用AMD 780M核显来运行大模型 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-25 - **Last Updated**: 2025-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ROCm大模型推理API 基于ROCm的大语言模型推理API接口,支持使用AMD GPU进行高效的大模型推理。 ## 功能特点 - 基于ROCm的大模型推理 - 支持文本生成和批量生成 - RESTful API接口 - 可配置的模型参数 - 支持多种模型格式: - Hugging Face模型 - GGUF格式模型(高效量化模型) ## 环境要求 - Python 3.8+ - ROCm 5.4+ - AMD GPU (支持ROCm) ## 安装步骤 1. 克隆仓库 ```bash git clone https://github.com/yourusername/rocm-llm.git cd rocm-llm ``` 2. 创建并激活虚拟环境 ```bash python -m venv venv # Windows venv\Scripts\activate # Linux/macOS source venv/bin/activate ``` 3. 安装依赖 ```bash pip install -r requirements.txt ``` 4. 配置环境变量 ```bash cp .env.example .env # 编辑.env文件,根据需要修改配置 ``` ## 使用方法 ### 启动服务 ```bash python main.py ``` 服务将在 http://localhost:8000 启动,可以通过 http://localhost:8000/docs 访问API文档。 ### API接口 #### 1. 文本生成 ``` POST /api/v1/generate ``` 请求示例: ```json { "prompt": "请介绍一下ROCm是什么", "max_new_tokens": 256, "temperature": 0.7, "top_p": 0.9, "top_k": 50 } ``` #### 2. 批量生成 ``` POST /api/v1/batch-generate ``` 请求示例: ```json { "prompts": ["请介绍一下ROCm是什么", "ROCm和CUDA有什么区别"], "max_new_tokens": 256, "temperature": 0.7, "top_p": 0.9, "top_k": 50 } ``` #### 3. 获取模型信息 ``` GET /api/v1/model-info ``` ## 配置说明 在`.env`文件中可以配置以下参数: - `API_HOST`: API服务主机地址 - `API_PORT`: API服务端口 - `API_DEBUG`: 是否启用调试模式 - `MODEL_PATH`: 模型路径或Hugging Face模型ID,也可以是GGUF格式模型的路径 - `MODEL_DEVICE`: 运行设备 (cuda/cpu) - `MODEL_PRECISION`: 模型精度 (fp16/fp32) - `MODEL_MAX_LENGTH`: 最大输入长度 - `MODEL_MAX_NEW_TOKENS`: 默认最大生成token数 - `MODEL_TEMPERATURE`: 默认温度参数 - `MODEL_TOP_P`: 默认top-p参数 - `MODEL_TOP_K`: 默认top-k参数 - `GGUF_N_CTX`: GGUF模型的上下文窗口大小 - `GGUF_N_BATCH`: GGUF模型的批处理大小 - `GGUF_N_GPU_LAYERS`: GGUF模型加载到GPU的层数,-1表示全部 - `ROCM_VISIBLE_DEVICES`: 可见的ROCm设备ID ## 常见问题 ### 如何切换到不同的模型? 修改`.env`文件中的`MODEL_PATH`参数: - 对于Hugging Face模型,可以使用模型ID,如`facebook/opt-1.3b` - 对于GGUF模型,可以使用本地路径,如`./models/llama-2-7b-chat.Q4_K_M.gguf` 系统会自动检测模型类型并使用相应的加载方式。 ### 如何使用GGUF量化模型? 1. 下载GGUF格式的模型文件(通常以`.gguf`为扩展名) 2. 将模型文件放在项目目录下(如`./models/`目录) 3. 修改`.env`文件中的`MODEL_PATH`参数指向该模型文件 4. 可以根据需要调整`GGUF_N_CTX`、`GGUF_N_BATCH`和`GGUF_N_GPU_LAYERS`参数 ### 如何使用多GPU? 修改`.env`文件中的`ROCM_VISIBLE_DEVICES`参数,例如`ROCM_VISIBLE_DEVICES=0,1`表示使用ID为0和1的两个GPU。 ### 如何调整生成参数? 可以在API请求中指定`max_new_tokens`、`temperature`、`top_p`和`top_k`参数,也可以修改`.env`文件中的默认值。 ### GGUF模型和Hugging Face模型有什么区别? - GGUF模型:是一种高效的量化模型格式,通常体积更小,加载更快,内存占用更低,特别适合在资源受限的环境中运行。 - Hugging Face模型:提供更多的模型选择和更好的生态系统集成,但通常需要更多的资源。 ## 许可证 MIT