首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
  • 1684XB-32T

    • 简介

      • AIBOX-1684XB-32简介
    • 快速上手

      • 初次使用
      • 网络配置
      • 磁盘使用
      • 内存分配
      • 风扇策略
      • 固件升级
    • 部署教程

      • 算法部署
      • 部署Llama3示例
    • 应用开发

      • Sophgo SDK开发
      • Sophon LLM_api_server开发
      • 部署MiniCPM-V-2_6
      • Qwen-2-5-VL图片视频识别DEMO
      • Qwen3-chat-DEMO
  • 1684X-416T

    • 简介

      • AIBOX-1684X-416简介
    • Demo简单操作指引

      • shimeta智慧监控demo的简单使用说明

Sophon LLM_api_server开发

一、 简介

LLM_api_server 例程是一个基于BM1684X构建的一个类Openai_api的LLM服务,目前支持ChatGLM3、Qwen、Qwen1.5、Qwen2。

1、特性

  • 支持BM1684X(PCIe、SoC)、BM1688(SoC)。
  • 支持openai库进行调用。
  • 支持web接口调用。

2、工程目录

    LLM_api_server
    ├── models
    │   ├── BM1684X
    │   │   ├── chatglm3-6b_int4.bmodel              # BM1684X chatglm3-6b模型
    │   │   ├── qwen2-7b_int4_seq512_1dev.bmodel     # BM1684X qwen2-7b模型	
    ├── python
    │   ├── utils                         # 工具库
    │   ├── api_server.py                 # 服务启动程序
    │   └── config.yaml                   # 服务配置文件
    │   └── request.py                    # 请求示例程序
    │   └── requirements.txt              # python依赖
    └── scripts
        ├── download_model.sh       # 模型下载脚本
        ├── download_tokenizer.sh   # tokenizer下载脚本

二、运行步骤

1、准备数据与模型

1.1 复制算能官方的sophon_demo工程目录(或者复制后将LLM_api_server上传到盒子中的/data下)

    git clone https://github.com/sophgo/sophon-demo.git
    cd sophon-demo/appliction/LLM_api_server
    cd /data/LLM_api_server  ##如果只上传了LLM_api_server,则只需进入此目录下

1.2 安装unzip以及其他环境,若已安装请跳过,非ubuntu系统视情况使用yum或其他方式安装

    sudo apt-get update
    sudo apt-get install pybind11-dev
    pip3 install sentencepiece transformers==4.30.2
    pip3 install gradio==3.39.0 mdtex2html==1.2.0 dfss
    sudo apt install unzip
    chmod -R +x scripts/
    ./scripts/download_tokenizer.sh  ##下载tokenizer
    ./scripts/download_model.sh  ##下载模型文件

2、python例程

2.1 环境准备

    pip3 install -r python/requirements.txt

    ##由于本例程需要的sophon-sail版本较新,这里提供一个可用的sophon-sail whl包,SoC环境可以通过下面的命令下载
    python3 -m dfss --url=open@sophgo.com:sophon-demo/Qwen/sophon_arm-3.8.0-py3-none-any.whl
    python3 -m dfss --install sail  ##安装sophon_sail

2.2 启动服务

参数说明

api_server.py使用config.yaml配置文件进行参数配置。

config.yaml内容如下

models:  # 模型列表
  - name: qwen   # 模型名称,可选qwen/chatglm3
    bmodel_path: ../models/BM1684X/qwen2-7b_int4_seq512_1dev.bmodel # 模型路径,根据实际情况修改
    token_path: ./utils/qwen/token_config  # tokenizer 路径
    dev_id: 0  # tpu id


port: 18080 # 服务端口
使用方式
    cd python  ##切换工作目录
    python3 api_server.py --config ./config.yaml

三、服务调用

1、可以使用OpenAI库进行调用

    python3 request.py  ##想对模型使用不同的Q&A,就更改request.py内messages.["content"]的内容

2、使用http接口调用

接口信息在request.py中,可以根据对其进行修改(如ip等)

接口url: ip:port/v1/chat/completions,例如: 172.26.13.98:18080/v1/chat/completions

TOOL

接口参数(json格式)

{
    "model": "qwen",
    "messages": [
        {"role": "user", "content": "你好"}
    ],
    "stream": true
}

可以使用postman测试接口

下载地址:(https://www.postman.com/downloads/)

使用示例

!!!其中ip地址要写盒子的IP!!!

TOOL
在 GitHub 上编辑此页
上次更新:
贡献者: LiShenghui
Prev
Sophgo SDK开发
Next
部署MiniCPM-V-2_6