解码器开发

解码器包含加载器、深度学习计算模块、及适配两者的中间件。其中加载器由平台处下载获取,中间件及计算模块由AI能力开发者进行开发

C/C++ image-2024122401.jpg Python image-2024122402.jpg

  • 开发流程

  • 开发包获取:

    • 通过AI引擎托管平台对应加载器下载页,依据不同系统及开发语言,下载对应版本的加载器开发包
  • 中间件开发:

    ​ 开发者根据中间件接口文档及AI能力自身的交互属性,选择对应的中间件接口进行开发。其中[1]必须实现,[2]/[3]实现其一

    • [1] 通用接口:wrapperInit/wrapperFini/wrapperError

    • [2] 流式交互接口集合(如实时语音流识别),对应服务接口类型为WebSocket:wrapperCreate/wrapperWrite/wrapperRead/wrapperDestroy

    • [3] 单次交互接口集合(如图像识别),对应服务接口类型为http:

      wrapperExec/wrapperExecFree

      注:无需调用的接口需要空实现

  • 中间件构建:

    • 构建输出产物libwrapper.so,共计12个接口符号均导出可见
  • 解码器运行:

    • 创建解码器运行目录:/example

    • 将加载器开发包中内容拷贝至解码器目录:cp -r ./dev/* /example/

    • 将libwrapper.so拷贝至解码器目录,保证libwrapper.so与加载器主程序(AIservice)处于同一目录:cp ./libwrapper.so /example/

    • 创建配置文件local.toml,配置section为[wrapper],编辑中间件初始化接口所需传入的配置对,其中key及value均为string类型,如下:

      [wrapper]

      “key1” = "value1"

      "key2" = "value2"

    • 使用解码器运行目录中的start.sh脚本启动解码器

  • 解码器测试:

    • 通过AI引擎托管平台工具包下载页,下载解码器测试工具,解码器测试工具在加载器中:xtest,对应配置文件:xtest.toml
    • 参考测试文档进行测试验证
  • 解码器打包:

    • 测试通过后,将解码器目录进行压缩打包:tar zcvf example.tar.gz ./example (注:不包含模型部分)
    • 为保障本地引擎能够在平台上正常运行,可使用本地仿真工具模拟线上环境运行解码器,具体使用方法见说明
    • 通过AI引擎托管平台对应上传工具,将解码器包上传至S3云存储空间
  • 使用开发包中通用测试工具,通过接口文档输入进行测试验证

  • 验证成功后将整体运行环境进行打包,上传至S3云存储空间

results matching ""

    No results matching ""