🧠 模型接入示例项目aigcpanel-server-demo

更新时间: 2024-12-26 11:52:52

AI 模型管理

项目地址

Gitee:https://gitee.com/modstart-lib/aigcpanel-server-demo

Github:https://github.com/modstart-lib/aigcpanel-server-demo

项目结构

  • run.py:主程序入口(appPreparewhile watchNext() 队列循环 → end
  • aigcpanelserver.py:轻量自包含 SDK(appPrepare / watchNext / result / resultEnd / localCache / urlForResult / filterText / end 等)
  • config.json:模型配置文件(mode.type = watch 开启队列模式)
  • example-config/:任务配置示例(soundTts / soundClone / videoGen / asr / textToImage / imageToImage / textToVideo / imageToVideo)
  • example-file/:示例媒体文件(模拟模型推理结果)
  • tests/:自动化测试(single.py 非队列模式 / queue.py 队列模式)

项目初始化过程

Windows

conda 'shell.powershell' 'hook' | Out-String | Invoke-Expression
conda create --prefix ./_aienv -y python=3.10
conda activate ./_aienv
pip install -r requirements.txt

Linux/MacOS

eval "$(conda shell.bash hook)"
conda create --prefix ./_aienv -y python=3.10
conda activate ./_aienv
pip install -r requirements.txt

队列模式运行方式

模型进程通过 while config := aigcpanelserver.watchNext(): 持续运行:

  1. appPrepare() 读取启动配置,初始化环境
  2. 首个 watchNext() 返回启动配置并处理
  3. 之后持续轮询 aigcpanel-queue/ 目录中的 *.queue.json 任务,进程常驻(模型只加载一次)
  4. 超过 mode.watchDelay(默认 60 秒)无新任务,进程自动退出

终端 1 - 启动常驻服务:

python run.py example-config/soundTts.json

终端 2 - 持续投递任务:

cp example-config/textToImage.json aigcpanel-queue/001.queue.json
cp example-config/asr.json aigcpanel-queue/002.queue.json

服务每处理完一个任务,输出一行 AigcPanelRunResult[id][base64] 结果,队列文件消费后即被删除。

非队列模式(单次运行)

将启动配置命名为 *.example.json(如 example-config/soundTts.example.json),进程处理完一个任务后自动退出。

测试

# 非队列(单次)模式测试
python tests/single.py

# 队列模式测试:子进程启动服务,投递任务,校验所有结果
python tests/queue.py

下载项目到本地,安装完依赖之后,直接加载模型到 AIGCPanel 软件中,随后即可在软件使用界面看到该模型,测试调用后可看到 config 参数详细信息。

使用这些 config 信息,调用集成实际的模型完成模型推理开发。

语言
QQ
微信客服
微信群
客服