diff --git a/data/.local_user_id b/data/.local_user_id new file mode 100644 index 0000000..a59f7b4 --- /dev/null +++ b/data/.local_user_id @@ -0,0 +1 @@ +3ed706f5-3e9a-4198-9625-4a35b60652c6 \ No newline at end of file diff --git a/server/README.md b/server/README.md index a8cb44f..8fcb5b9 100644 --- a/server/README.md +++ b/server/README.md @@ -12,7 +12,7 @@ | 订单确认 | 客户端支付成功后 `POST /api/v1/orders/{orderId}/confirm` 幂等通知,加速授权刷新 | | 授权查询 | `GET /api/v1/license`(Bearer token)返回授权状态,App 识别入口强制服务端校验 | | 标注众包赚时长 | App 用户处理管理端下发的标注任务获取使用时长:任务 = 管理端**勾选的具体图片集合**(图片粒度下发,2026-09-07;已下发图即从「未标注」tab 消失,停用任务释放未领取图回池),每次领取 10 张(锁定向、超时自动释放、已处理过的图不再分配),手机上画框提交 → 图片进「待审核」;每有效提交 10 张**即时到账 30 分钟**(license 到期时间分钟级顺延),**每日上限 2 小时**;质量惩罚:审核通过比例 <80%(已审核样本 ≥5)自动冻结领取资格 24 小时(时间戳对比天然自动解冻、统计重新累计),管理端可手动解冻;服务端 `annotate_record` 记录每用户每张图的处理明细(领取/提交快照/审核结果) | -| 假目标上报(负样本回流,2026-09-08) | App 识别页一键「误报上报」:上报瞬间按一次快照帧(**与喂给 YOLO 的帧同源同尺寸**,整图,jpg q85 重编码剥离全部元数据)+ 当前全部检测框快照(归一化坐标/类别/置信度/来源模型,`detections` JSON),无任何额外选择步骤;服务端落 `false_target_report` 待审(每用户**每日上限 50 条**防灌水);管理端「数据训练 → 假目标上报」tab 审核(radio 带待审数)——**通过 = 整图迁移入负样本库**(`__negative__` 数据集,训练打包自动混入当背景学习,压制同类误报),拒绝 = 删文件;**合规**:首次使用单独同意弹窗(可拒绝且不影响识别),用户协议含反馈图训练使用授权条款 | +| 假目标上报(负样本回流,2026-09-08) | App 识别页一键「误报上报」:上报瞬间按一次快照帧(**与喂给 YOLO 的帧同源同尺寸**,整图,jpg q85 重编码剥离全部元数据)+ 当前全部检测框快照(归一化坐标/类别/置信度/来源模型,`detections` JSON),无任何额外选择步骤;服务端落 `false_target_report` 待审(每用户**每日上限 50 条**防灌水);管理端「数据训练 → 假目标上报」tab 审核(radio 带待审数)——**通过 = 整图迁移入负样本库**(`__negative__` 数据集,训练打包自动混入当背景学习,压制同类误报),拒绝 = 删文件;**上报查重(2026-09-09)**:整帧 dHash 与已上报记录近重复(汉明 ≤8)直接拒绝入库不占日限额;**RF-DETR 疑似真目标预判**:上报后异步检测,高分检出标记「疑似真目标」供审核把关;**合规**:首次使用单独同意弹窗(可拒绝且不影响识别),用户协议含反馈图训练使用授权条款 | | 套餐 | `config.yml` `plans` 节点配置三档套餐(改价 = 改配置重启),价格**整数分**(1000 / 5600 / 18000) | | 后台管理端 | `server_admin/`(Vue3 + Element Plus)管理页面:订单查询、账号/授权管理(手动授权/撤销)、App 版本管理;构建产物由后端 `/admin/` 托管,登录页输入 token 后以 `X-Admin-Token` 头鉴权(`config.yml admin.token`) | | 版本管理 | 后台管理端上传 Android APK + 更新说明,APK 存服务器 `app.apkDir`(默认 `./workspace/`,与 `./data` 平级、挂载持久化)**固定文件名 `observer-latest.apk`,上传即覆盖,目录永远只保留最新一个文件**;**版本号从文件名识别**:文件须命名为 `observer-x.y.z.apk`(Flutter 打包产物即此命名,版本号取自 pubspec);客户端启动时 `GET /api/v1/app/update` 检查更新:服务器版本高于本地版本即弹更新提示(不可跳过)。**仅 Android 检查,iOS 不做版本下发**(iOS 走 App Store 自行更新)。版本记录可删除:删最新版本联动删除 APK 文件,删历史版本仅删记录 | @@ -59,7 +59,7 @@ Flutter App ── POST /auth/register|login ─► 账号注册/登录,签发 | `annotate_task` | 标注众包任务(2026-09-04;2026-09-07 图片粒度下发) | `id`(PK)、`dataset_id`、`name`、`status`(published/stopped)、`created_at`(任务图集 = `dataset_image.annotate_task_id` 占用本任务 id 的图,不落任务表) | | `annotate_record` | 用户标注记录(2026-09-04) | `id`(PK)、`phone_num`、`task_id`、`dataset_id`(领取时冗余,详情页过滤用)、`image_id`、`labels_json`(提交快照)、`status`(pending 领取锁/submitted/approved/rejected)、`created_at`、`submitted_at`、`reviewed_at`;UNIQUE(phone_num,image_id),partial unique(image_id) WHERE status='pending' | | `reward_log` | 标注时长发放流水(2026-09-04) | `id`(PK)、`phone_num`、`minutes`、`task_id`、`granted_at`(日上限 = 自然日求和) | -| `false_target_report` | 假目标上报(2026-09-08) | `id`(PK)、`phone_num`、`file`(uuid.jpg 分析帧整图)、`labels_json`(检测框快照:label/class/score/model/归一化 xywh)、`species`(来源模型名去重拼接)、`status`(pending/approved;**拒绝即删记录与文件,无 rejected 存量**)、`created_at`、`reviewed_at`(文件落 `datasetDir/false_targets/`,审核通过迁移入负样本库图片目录) | +| `false_target_report` | 假目标上报(2026-09-08) | `id`(PK)、`phone_num`、`file`(uuid.jpg 分析帧整图)、`labels_json`(检测框快照:label/class/score/model/归一化 xywh)、`species`(来源模型名去重拼接)、`status`(pending/approved;**拒绝即删记录与文件,无 rejected 存量**)、`image_hash`(整帧 dHash 64 位,上报查重用,0=未算/存量回填前)、`suspect_real`(0/1,RF-DETR 高分检出疑似真目标预判标记,2026-09-09)、`created_at`、`reviewed_at`(文件落 `datasetDir/false_targets/`,审核通过迁移入负样本库图片目录) | 建表与迁移见 `技术设计.md`(新库直接建表;存量库以 `PRAGMA user_version` 版本化迁移)。 @@ -237,7 +237,7 @@ APK 下载引导页(静态页面,源码在 `h5/index.html`,由后端 `/dow ### POST /api/v1/feedback/false-target -假目标上报(需 Bearer token,`multipart/form-data`):App 识别页一键上报当前画面。字段:`file`(上报瞬间的分析帧整图 jpg,与推理帧同源同尺寸,客户端重编码已剥离元数据)+ `detections`(当前全部检测框快照 JSON 数组 `[{label,class,score,model,cx,cy,w,h}]`,归一化坐标,可空)+ `sourceW`/`sourceH`(分析帧宽高)。每用户每日上限 50 条,超限报错。响应 `data: {id}`。 +假目标上报(需 Bearer token,`multipart/form-data`):App 识别页一键上报当前画面。字段:`file`(上报瞬间的分析帧整图 jpg,与推理帧同源同尺寸,客户端重编码已剥离元数据)+ `detections`(当前全部检测框快照 JSON 数组 `[{label,class,score,model,cx,cy,w,h}]`,归一化坐标,可空)+ `sourceW`/`sourceH`(分析帧宽高)。每用户每日上限 50 条,超限报错;与已上报记录整帧 dHash 近重复(汉明 ≤8)报「相似样本已存在,无需重复上报」(2026-09-09;查重先于落盘——重复上报不产生文件、不占限额,2026-09-10)。响应 `data: {id}`。 ### 管理端假目标上报(`/api/v1/admin`,X-Admin-Token 鉴权;页面入口 = 数据训练页第三个 tab) diff --git a/server/biz/consts/consts.go b/server/biz/consts/consts.go index bacf8c0..4a79767 100644 --- a/server/biz/consts/consts.go +++ b/server/biz/consts/consts.go @@ -27,6 +27,10 @@ const ( // 假目标上报每用户每日上限(防灌水/滥用) FalseTargetDailyLimit = 50 + // 假目标上报整帧 dHash 查重阈值:与已上报记录最小汉明距离 ≤ 该值视为近重复拒绝 + // (同 CleanHashHamming;同机位连续帧近距通常 <8,2026-09-09) + FalseTargetDupHamming = 8 + // dataset_image.review_status 审核三态(技术设计.md「标注审核状态机」): // 预标/App 提交 → 待审核;人工保存/审核通过 → 已审核;拒绝清标注 → 未标注(回任务池)。 // 不变式:review_status=0 ⟹ labels_json 无框;训练集只收 ReviewApproved diff --git a/server/biz/dao/false_target_report.go b/server/biz/dao/false_target_report.go index 9f07ddc..de68103 100644 --- a/server/biz/dao/false_target_report.go +++ b/server/biz/dao/false_target_report.go @@ -9,6 +9,7 @@ import ( "observer-server/biz/consts" "observer-server/biz/model/entity" + "observer-server/common" ) // FalseTargetReport 假目标上报表 DAO(技术设计.md「假目标上报」)。 @@ -19,18 +20,23 @@ var FalseTargetReport = &falseTargetReportDao{} func init() { ctx := context.Background() _, err := g.DB().Exec(ctx, `CREATE TABLE IF NOT EXISTS false_target_report ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - phone_num TEXT NOT NULL, - file TEXT NOT NULL, - labels_json TEXT NOT NULL DEFAULT '', - species TEXT NOT NULL DEFAULT '', - status TEXT NOT NULL DEFAULT 'pending', -- pending/approved(拒绝即删记录,无 rejected 存量) - created_at TEXT NOT NULL, - reviewed_at TEXT + id INTEGER PRIMARY KEY AUTOINCREMENT, + phone_num TEXT NOT NULL, + file TEXT NOT NULL, + labels_json TEXT NOT NULL DEFAULT '', + species TEXT NOT NULL DEFAULT '', + status TEXT NOT NULL DEFAULT 'pending', -- pending/approved(拒绝即删记录,无 rejected 存量) + image_hash INTEGER NOT NULL DEFAULT 0, -- 整帧 dHash 64 位(上报查重;0=未算/存量回填前) + suspect_real INTEGER NOT NULL DEFAULT 0, -- RF-DETR 高分检出疑似真目标预判标记(0/1) + created_at TEXT NOT NULL, + reviewed_at TEXT )`) if err != nil { panic(err) } + // 存量库迁移:查重/预判两列(2026-09-09;新库建表已含列,幂等跳过) + common.EnsureColumn(ctx, consts.TableFalseTargetReport, "image_hash", "image_hash INTEGER NOT NULL DEFAULT 0") + common.EnsureColumn(ctx, consts.TableFalseTargetReport, "suspect_real", "suspect_real INTEGER NOT NULL DEFAULT 0") } // Insert 插入上报记录并返回自增 id @@ -41,6 +47,7 @@ func (d *falseTargetReportDao) Insert(ctx context.Context, m *entity.FalseTarget "labels_json": m.LabelsJson, "species": m.Species, "status": m.Status, + "image_hash": m.ImageHash, "created_at": m.CreatedAt, }).Insert() if err != nil { @@ -97,3 +104,41 @@ func (d *falseTargetReportDao) DeleteByIds(ctx context.Context, ids []int64) err _, err := g.DB().Model(consts.TableFalseTargetReport).Ctx(ctx).WhereIn("id", ids).Delete() return err } + +// ListHashes 全表非零 dHash(上报查重比对集;0=未算/回填前不参与比对)。 +// 条件必须是 != 0 而非 > 0:dHash 最高位为 1 时 int64 存为负数(SQLite INTEGER 有符号), +// 用 > 0 会把约一半的 hash 排除在比对集外,查重静默失效(2026-09-10 实测) +func (d *falseTargetReportDao) ListHashes(ctx context.Context) ([]int64, error) { + all, err := g.DB().Model(consts.TableFalseTargetReport).Ctx(ctx). + Fields("image_hash").Where("image_hash != 0").Array("image_hash") + if err != nil { + return nil, err + } + out := make([]int64, 0, len(all)) + for _, v := range all { + out = append(out, v.Int64()) + } + return out, nil +} + +// ListHashMissing 存量回填待办:image_hash=0 的记录 +func (d *falseTargetReportDao) ListHashMissing(ctx context.Context) ([]*entity.FalseTargetReport, error) { + var list []*entity.FalseTargetReport + err := g.DB().Model(consts.TableFalseTargetReport).Ctx(ctx). + Where("image_hash", 0).OrderAsc("id").Scan(&list) + return list, err +} + +// UpdateHash 回填整帧 dHash +func (d *falseTargetReportDao) UpdateHash(ctx context.Context, id int64, hash int64) error { + _, err := g.DB().Model(consts.TableFalseTargetReport).Ctx(ctx).Where("id", id). + Data("image_hash", hash).Update() + return err +} + +// SetSuspectReal 预判命中置疑似真目标标记(幂等,只置 1 不清 0) +func (d *falseTargetReportDao) SetSuspectReal(ctx context.Context, id int64) error { + _, err := g.DB().Model(consts.TableFalseTargetReport).Ctx(ctx).Where("id", id). + Data("suspect_real", 1).Update() + return err +} diff --git a/server/biz/model/dto/false_target.go b/server/biz/model/dto/false_target.go index ccc3175..b14eded 100644 --- a/server/biz/model/dto/false_target.go +++ b/server/biz/model/dto/false_target.go @@ -58,16 +58,17 @@ type FalseTargetSnapshot struct { // AdminFalseTargetItem 上报条目(附裁剪图预览地址与检测框快照) type AdminFalseTargetItem struct { - Id int64 `json:"id"` - PhoneNum string `json:"phoneNum"` - Species string `json:"species"` - Status string `json:"status"` - ImageUrl string `json:"imageUrl"` - Boxes []*FalseTargetBox `json:"boxes"` - SourceW int `json:"sourceW"` - SourceH int `json:"sourceH"` - CreatedAt *gtime.Time `json:"createdAt"` - ReviewedAt *gtime.Time `json:"reviewedAt"` + Id int64 `json:"id"` + PhoneNum string `json:"phoneNum"` + Species string `json:"species"` + Status string `json:"status"` + ImageUrl string `json:"imageUrl"` + Boxes []*FalseTargetBox `json:"boxes"` + SourceW int `json:"sourceW"` + SourceH int `json:"sourceH"` + SuspectReal int `json:"suspectReal"` // RF-DETR 高分检出疑似真目标预判(0/1,审核辅助标记) + CreatedAt *gtime.Time `json:"createdAt"` + ReviewedAt *gtime.Time `json:"reviewedAt"` } type AdminFalseTargetListRes struct { diff --git a/server/biz/model/entity/false_target_report.go b/server/biz/model/entity/false_target_report.go index a6a1c41..bcb1b1f 100644 --- a/server/biz/model/entity/false_target_report.go +++ b/server/biz/model/entity/false_target_report.go @@ -5,12 +5,14 @@ import "github.com/gogf/gf/v2/os/gtime" // FalseTargetReport 假目标上报(技术设计.md「假目标上报」):App 识别端误报一键回流, // 客户端仅上传误报框裁剪图(剥离元数据);管理端审核通过后迁移入负样本库当背景图训练。 type FalseTargetReport struct { - Id int64 `json:"id" orm:"id" description:"自增主键"` - PhoneNum string `json:"phoneNum" orm:"phone_num" description:"上报用户手机号"` - File string `json:"file" orm:"file" description:"裁剪图文件名(uuid.jpg)"` - LabelsJson string `json:"labelsJson" orm:"labels_json" description:"检测框快照(label/class/score/归一化xywh)"` - Species string `json:"species" orm:"species" description:"上报时来源模型名(=数据集名)"` - Status string `json:"status" orm:"status" description:"pending|approved"` - CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"上报时间"` - ReviewedAt *gtime.Time `json:"reviewedAt" orm:"reviewed_at" description:"审核时间"` + Id int64 `json:"id" orm:"id" description:"自增主键"` + PhoneNum string `json:"phoneNum" orm:"phone_num" description:"上报用户手机号"` + File string `json:"file" orm:"file" description:"裁剪图文件名(uuid.jpg)"` + LabelsJson string `json:"labelsJson" orm:"labels_json" description:"检测框快照(label/class/score/归一化xywh)"` + Species string `json:"species" orm:"species" description:"上报时来源模型名(=数据集名)"` + Status string `json:"status" orm:"status" description:"pending|approved"` + ImageHash int64 `json:"imageHash" orm:"image_hash" description:"整帧 dHash 64 位(上报查重;0=未算/存量回填前)"` + SuspectReal int `json:"suspectReal" orm:"suspect_real" description:"RF-DETR 高分检出疑似真目标预判标记(0/1,2026-09-09)"` + CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"上报时间"` + ReviewedAt *gtime.Time `json:"reviewedAt" orm:"reviewed_at" description:"审核时间"` } diff --git a/server/biz/service/false_target.go b/server/biz/service/false_target.go index 15928d9..58cd205 100644 --- a/server/biz/service/false_target.go +++ b/server/biz/service/false_target.go @@ -1,11 +1,13 @@ package service import ( + "bytes" "context" "encoding/json" "fmt" "image" _ "image/jpeg" + "io" "os" "path/filepath" "strings" @@ -23,8 +25,9 @@ import ( ) // falseTargetService 假目标上报(技术设计.md「假目标上报」):App 识别端误报一键回流, -// 客户端仅上传误报框裁剪图(jpg 重编码已剥离全部元数据,最小必要);管理端审核通过 +// 上传识别瞬间的分析帧整图(jpg 重编码已剥离全部元数据,最小必要);管理端审核通过 // 迁移入负样本库当背景图训练,拒绝删文件。不变式:pending/approved 记录 ⟺ 文件存在。 +// 上报即算整帧 dHash 查重(近重复拒绝),落库后异步跑 RF-DETR 疑似真目标预判(2026-09-09)。 type falseTargetService struct{} var FalseTarget = &falseTargetService{} @@ -34,8 +37,9 @@ const falseTargetMaxBytes = 8 << 20 // ---------- App ---------- -// AppReport 上报假目标:校验图片 → UUID 命名落盘待审目录 → Serial 内查日限额 + 插记录 -// (入库失败删已落盘文件,保证记录存在 ⟺ 文件存在) +// AppReport 上报假目标:校验图片 → Serial 内整帧 dHash 查重 + 日限额 → 通过才 UUID +// 命名落盘待审目录 → 插记录(任一步失败删已落盘文件,保证记录存在 ⟺ 文件存在)。 +// 重复上报不落盘(技术设计.md「上报查重与疑似真目标预判」)。 func (s *falseTargetService) AppReport(ctx context.Context, req *dto.FalseTargetReportReq) (*dto.FalseTargetReportRes, error) { phone := common.PhoneFromCtx(ctx) if req.File == nil { @@ -52,11 +56,19 @@ func (s *falseTargetService) AppReport(ctx context.Context, req *dto.FalseTarget if err != nil { return nil, gerror.Wrap(err, "读取上传文件失败") } - _, _, err = image.DecodeConfig(f) + data, err := io.ReadAll(f) _ = f.Close() if err != nil { + return nil, gerror.Wrap(err, "读取上传文件失败") + } + if _, _, err = image.DecodeConfig(bytes.NewReader(data)); err != nil { return nil, gerror.New("图片内容无效") } + // 整帧 dHash(上报查重,2026-09-09):同机位连续帧近距极小,重复上报主源 + hash, err := common.ImageDHash64(data) + if err != nil { + return nil, gerror.Wrap(err, "图片解析失败") + } // 检测框快照:仅作审核参考的元数据,解析失败/坐标非法的框直接丢弃, // 不阻断图片上报(主体是画面本身) var allBoxes []*dto.FalseTargetBox @@ -71,20 +83,12 @@ func (s *falseTargetService) AppReport(ctx context.Context, req *dto.FalseTarget boxes = append(boxes, b) } - if err := os.MkdirAll(common.FalseTargetsDir(ctx), 0o755); err != nil { - return nil, gerror.Wrap(err, "创建上报目录失败") - } - name := common.UuidV4() + ".jpg" - if err := saveUploadAs(req.File, common.FalseTargetsDir(ctx), name); err != nil { - return nil, gerror.Wrap(err, "图片保存失败") - } snapshot, err := json.Marshal(dto.FalseTargetSnapshot{ SourceW: req.SourceW, SourceH: req.SourceH, Boxes: boxes, }) if err != nil { - _ = os.Remove(filepath.Join(common.FalseTargetsDir(ctx), name)) return nil, gerror.Wrap(err, "快照序列化失败") } // 来源模型(=数据集名):快照内去重后逗号拼接(多模型并行推理时可能多个) @@ -98,8 +102,23 @@ func (s *falseTargetService) AppReport(ctx context.Context, req *dto.FalseTarget } now := gtime.Now() dayStart := gtime.New(now.Format("Y-m-d") + " 00:00:00") + dir := common.FalseTargetsDir(ctx) + name := common.UuidV4() + ".jpg" var id int64 err = common.Serial().Submit(ctx, func() error { + // dHash 查重(技术设计.md「上报查重与疑似真目标预判」):近重复直接拒绝,不落盘不占限额。 + // 查重与落盘必须同串行块——分在两处时并发重复上报会各自通过查重、各自落盘入库 + existing, err := dao.FalseTargetReport.ListHashes(ctx) + if err != nil { + return err + } + hashes := make([]uint64, 0, len(existing)) + for _, h := range existing { + hashes = append(hashes, uint64(h)) + } + if minHamming(hash, hashes) <= consts.FalseTargetDupHamming { + return gerror.New("相似样本已存在,无需重复上报") + } cnt, err := dao.FalseTargetReport.CountTodayByPhone(ctx, phone, dayStart) if err != nil { return err @@ -107,23 +126,112 @@ func (s *falseTargetService) AppReport(ctx context.Context, req *dto.FalseTarget if cnt >= consts.FalseTargetDailyLimit { return gerror.Newf("今日上报已达上限(%d 条/天)", consts.FalseTargetDailyLimit) } + // 查重/限额均通过才落盘(重复上报不产生文件) + if err := os.MkdirAll(dir, 0o755); err != nil { + return gerror.Wrap(err, "创建上报目录失败") + } + if err := saveUploadAs(req.File, dir, name); err != nil { + return gerror.Wrap(err, "图片保存失败") + } id, err = dao.FalseTargetReport.Insert(ctx, &entity.FalseTargetReport{ PhoneNum: phone, File: name, LabelsJson: string(snapshot), Species: strings.Join(models, ","), Status: consts.FalseTargetPending, + ImageHash: int64(hash), CreatedAt: now, }) return err }) if err != nil { - _ = os.Remove(filepath.Join(common.FalseTargetsDir(ctx), name)) + _ = os.Remove(filepath.Join(dir, name)) return nil, err } + s.submitSuspectCheck(ctx, id, name) return &dto.FalseTargetReportRes{Id: id}, nil } +// submitSuspectCheck 异步疑似真目标预判(2026-09-09):对整帧跑 RF-DETR 全图检测, +// 最高置信度 ≥ confConfirmed(真目标确认线)置 suspect_real=1 供审核把关。 +// 未配置 local-ai 直接跳过;检测/更新失败仅记日志不回溯上报本身(fail-open)。 +func (s *falseTargetService) submitSuspectCheck(ctx context.Context, id int64, file string) { + client := common.LocalAiClient(ctx) + if client == nil { + return + } + dir := common.FalseTargetsDir(ctx) + // 生命周期协程包池任务(promoteQueued 同模式):LabelTaskPool.Submit 是阻塞语义 + go func() { + bgCtx := context.Background() + err := common.LabelTaskPoolInstance().Submit(bgCtx, func(taskCtx context.Context) error { + data, err := os.ReadFile(filepath.Join(dir, file)) + if err != nil { + return err + } + cfg, _, err := image.DecodeConfig(bytes.NewReader(data)) + if err != nil { + return err + } + dets, err := client.Detect(taskCtx, data, "image/jpeg", cfg.Width, cfg.Height) + if err != nil { + return err + } + for _, d := range dets { + if d.Confidence >= client.ConfConfirmed { + if err := common.Serial().Submit(taskCtx, func() error { + return dao.FalseTargetReport.SetSuspectReal(taskCtx, id) + }); err != nil { + return err + } + break + } + } + return nil + }) + if err != nil { + g.Log().Errorf(bgCtx, "假目标 %d 疑似真目标预判失败: %+v", id, err) + } + }() +} + +// startupHashBackfill 存量记录整帧 dHash 回填(2026-09-09 一次性,启动后台协程调用): +// pending 从待审目录、approved 从负样本库目录(审核迁移文件名不变)读图算 hash 回写; +// 文件缺失跳过(留 0 不参与查重)。回填完自退出,新上报均带 hash 无需再跑。 +func (s *falseTargetService) startupHashBackfill(ctx context.Context) { + negLib, err := dao.Dataset.GetByName(ctx, consts.NegativeDatasetName) + if err != nil { + g.Log().Errorf(ctx, "假目标 hash 回填查负样本库失败: %+v", err) + return + } + // 单遍扫描:hash=0 只会出现在存量行(新上报均内联算 hash),无需轮询; + // 文件缺失/解码失败跳过(留 0 不参与查重),避免失败行导致死循环 + missing, err := dao.FalseTargetReport.ListHashMissing(ctx) + if err != nil { + g.Log().Errorf(ctx, "假目标 hash 回填查询失败: %+v", err) + return + } + for _, r := range missing { + dir := common.FalseTargetsDir(ctx) + if r.Status == consts.FalseTargetApproved && negLib != nil { + dir = common.DatasetImagesDir(ctx, negLib.Name) + } + data, err := os.ReadFile(filepath.Join(dir, r.File)) + if err != nil { + continue + } + h, err := common.ImageDHash64(data) + if err != nil { + continue + } + if err := common.Serial().Submit(ctx, func() error { + return dao.FalseTargetReport.UpdateHash(ctx, r.Id, int64(h)) + }); err != nil { + g.Log().Errorf(ctx, "假目标 %d hash 回写失败: %+v", r.Id, err) + } + } +} + // saveUploadAs 上传文件落盘为指定文件名(f.Save 随原文件名,先暂存再改名) func saveUploadAs(f *ghttp.UploadFile, dir, name string) error { tmp, err := f.Save(dir) @@ -152,13 +260,14 @@ func (s *falseTargetService) AdminList(ctx context.Context, req *dto.AdminFalseT res := &dto.AdminFalseTargetListRes{Total: total, List: make([]*dto.AdminFalseTargetItem, 0, len(list))} for _, r := range list { item := &dto.AdminFalseTargetItem{ - Id: r.Id, - PhoneNum: r.PhoneNum, - Species: r.Species, - Status: r.Status, - ImageUrl: fmt.Sprintf("/api/v1/admin/false-targets/image?id=%d", r.Id), - CreatedAt: r.CreatedAt, - ReviewedAt: r.ReviewedAt, + Id: r.Id, + PhoneNum: r.PhoneNum, + Species: r.Species, + Status: r.Status, + ImageUrl: fmt.Sprintf("/api/v1/admin/false-targets/image?id=%d", r.Id), + SuspectReal: r.SuspectReal, + CreatedAt: r.CreatedAt, + ReviewedAt: r.ReviewedAt, } if r.LabelsJson != "" { var snap dto.FalseTargetSnapshot diff --git a/server/biz/service/training.go b/server/biz/service/training.go index ffaa4f2..c7bf742 100644 --- a/server/biz/service/training.go +++ b/server/biz/service/training.go @@ -35,6 +35,7 @@ func (s *trainingService) StartBackgroundJobs(ctx context.Context) { if err := dao.Training.FailUnstarted(ctx); err != nil { g.Log().Errorf(ctx, "恢复未启动训练任务失败: %+v", err) } + go FalseTarget.startupHashBackfill(ctx) // 存量假目标整帧 dHash 回填(单遍自退出) go s.pollTrainings(ctx) } @@ -101,13 +102,16 @@ func (s *trainingService) pollOne(ctx context.Context, runner common.TrainingRun } alive = a } - // 超时判死(started_at 起算;含发起准备阶段) + // 超时判死(started_at 起算;含发起准备阶段)。timeoutMinutes<=0 = 不限时 + // (2026-09-10 用户定案:训练时长不受限,大_epochs/慢机训练不被误杀) cfg, _ := common.TrainingConfigOf(ctx) - timeout := time.Duration(cfg.TimeoutMins) * time.Minute - if t.StartedAt != nil && time.Since(t.StartedAt.Time) > timeout { - _ = runner.Cancel(ctx, job) - _ = s.finishFailed(ctx, t, "训练超时(超过 %d 分钟无结果,已终止)", cfg.TimeoutMins) - return + if cfg.TimeoutMins > 0 { + timeout := time.Duration(cfg.TimeoutMins) * time.Minute + if t.StartedAt != nil && time.Since(t.StartedAt.Time) > timeout { + _ = runner.Cancel(ctx, job) + _ = s.finishFailed(ctx, t, "训练超时(超过 %d 分钟无结果,已终止)", cfg.TimeoutMins) + return + } } // pid 未落 = 发起准备阶段(写任务参数/同步数据集/启动进程)尚未完成,不判死 if t.Pid == 0 { @@ -222,6 +226,7 @@ func (s *trainingService) finishSuccess(ctx context.Context, runner common.Train if err := dao.Training.Finish(ctx, t.Id, consts.TrainingStatusSuccess, metricsJSON, truncateTail(tail), ""); err != nil { g.Log().Errorf(ctx, "训练 %d 置成功失败: %+v", t.Id, err) } + s.cleanupTrainingDataset(ctx, t) } // mergeNamesIntoMetrics 把 names 数组并入 metrics JSON(names 字段供发布解析类别名) @@ -243,7 +248,31 @@ func mergeNamesIntoMetrics(metricsJSON, namesJSON string) string { func (s *trainingService) finishFailed(ctx context.Context, t *entity.ModelTraining, format string, args ...any) error { msg := fmt.Sprintf(format, args...) g.Log().Errorf(ctx, "训练 %d 置失败: %s", t.Id, msg) - return dao.Training.Finish(ctx, t.Id, consts.TrainingStatusFailed, "", "", msg) + err := dao.Training.Finish(ctx, t.Id, consts.TrainingStatusFailed, "", "", msg) + s.cleanupTrainingDataset(ctx, t) + return err +} + +// cleanupTrainingDataset 任务终态清理训练机上的数据集目录(成功/失败/取消经 finishFailed/finishSuccess +// 收尾均触达;用户取消走 AdminCancelTraining→finishFailed)。best effort:通道未配置/数据集已删/ +// 远端命令失败仅记日志不阻断终态;取消发生在数据集同步进行中的竞态窗口可能残留半截目录, +// 由下次同数据集同步开头的 RemoveAll 自愈 +func (s *trainingService) cleanupTrainingDataset(ctx context.Context, t *entity.ModelTraining) { + runner := common.Runner(ctx) + if runner == nil { + return + } + cfg, ok := common.TrainingConfigOf(ctx) + if !ok { + return + } + job, err := s.buildJob(ctx, t, cfg) + if err != nil { + return // 数据集已删等场景无目录可清 + } + if err := runner.CleanupYoloDataset(ctx, job); err != nil { + g.Log().Errorf(ctx, "训练 %d 清理训练机数据集目录失败: %+v", t.Id, err) + } } // buildJob 组装训练机路径布局的 runner 任务。 diff --git a/server/cache/gallery/37fcf833f411f3418a1c295636d4dc261ee8f854b3ef7263f32cd60babebb582.yaml b/server/cache/gallery/37fcf833f411f3418a1c295636d4dc261ee8f854b3ef7263f32cd60babebb582.yaml new file mode 100644 index 0000000..6e3519f --- /dev/null +++ b/server/cache/gallery/37fcf833f411f3418a1c295636d4dc261ee8f854b3ef7263f32cd60babebb582.yaml @@ -0,0 +1,7066 @@ +--- +## metas +- &llamacpp + name: "llama-cpp" + alias: "llama-cpp" + license: mit + icon: https://user-images.githubusercontent.com/1991296/230134379-7181e485-c521-4d23-a0d6-f7b3b61ba524.png + description: | + LLM inference in C/C++ + urls: + - https://github.com/ggerganov/llama.cpp + tags: + - text-to-text + - text-to-speech + - TTS + - LLM + - CPU + - GPU + - Metal + - CUDA + - HIP + capabilities: + default: "cpu-llama-cpp" + nvidia: "cuda12-llama-cpp" + intel: "intel-sycl-f16-llama-cpp" + amd: "rocm-llama-cpp" + metal: "metal-llama-cpp" + vulkan: "vulkan-llama-cpp" + nvidia-l4t: "nvidia-l4t-arm64-llama-cpp" + nvidia-cuda-13: "cuda13-llama-cpp" + nvidia-cuda-12: "cuda12-llama-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-llama-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-llama-cpp" +- &ikllamacpp + name: "ik-llama-cpp" + alias: "ik-llama-cpp" + license: mit + description: | + Fork of llama.cpp optimized for CPU performance by ikawrakow + urls: + - https://github.com/ikawrakow/ik_llama.cpp + tags: + - text-to-text + - LLM + - CPU + capabilities: + default: "cpu-ik-llama-cpp" +- &turboquant + name: "turboquant" + alias: "turboquant" + license: mit + description: | + Fork of llama.cpp adding the TurboQuant KV-cache quantization scheme. + Reuses the LocalAI llama.cpp gRPC server sources against the fork's libllama. + urls: + - https://github.com/TheTom/llama-cpp-turboquant + tags: + - text-to-text + - LLM + - CPU + - GPU + - CUDA + - HIP + - turboquant + - kv-cache + capabilities: + default: "cpu-turboquant" + nvidia: "cuda12-turboquant" + intel: "intel-sycl-f16-turboquant" + amd: "rocm-turboquant" + vulkan: "vulkan-turboquant" + nvidia-l4t: "nvidia-l4t-arm64-turboquant" + nvidia-cuda-13: "cuda13-turboquant" + nvidia-cuda-12: "cuda12-turboquant" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-turboquant" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-turboquant" +- &bonsai + name: "bonsai" + alias: "bonsai" + license: apache-2.0 + description: | + Fork of llama.cpp (PrismML) adding the Q1_0 (1-bit) and Q2_0 (ternary, 1.58-bit) + weight-quantization kernels used by the Bonsai and Ternary-Bonsai models. Reuses + the LocalAI llama.cpp gRPC server sources against the fork's libllama, so it drives + these sub-2-bit models with the same OpenAI-compatible API as the stock llama.cpp + backend. + urls: + - https://github.com/PrismML-Eng/llama.cpp + - https://huggingface.co/prism-ml + tags: + - text-to-text + - LLM + - CPU + - GPU + - CUDA + - HIP + - bonsai + - 1-bit + - ternary + capabilities: + default: "cpu-bonsai" + nvidia: "cuda12-bonsai" + intel: "intel-sycl-f16-bonsai" + amd: "rocm-bonsai" + vulkan: "vulkan-bonsai" + nvidia-l4t: "nvidia-l4t-arm64-bonsai" + nvidia-cuda-13: "cuda13-bonsai" + nvidia-cuda-12: "cuda12-bonsai" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-bonsai" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-bonsai" +- &ds4 + name: "ds4" + alias: "ds4" + license: mit + description: | + antirez/ds4 - DeepSeek V4 Flash inference engine. Single-model, + optimized for Metal (Darwin) and CUDA (Linux). Requires the GGUFs + published at huggingface.co/antirez/deepseek-v4-gguf. + urls: + - https://github.com/antirez/ds4 + tags: + - text-to-text + - LLM + - CPU + - CUDA + - Metal + capabilities: + default: "cpu-ds4" + nvidia: "cuda13-ds4" + nvidia-cuda-13: "cuda13-ds4" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-ds4" + metal: "metal-ds4" + metal-darwin-arm64: "metal-ds4" +- &audiocpp + name: "audio-cpp" + alias: "audio-cpp" + license: apache-2.0 + description: | + 0xShug0/audio.cpp - a ggml audio inference framework covering text to + speech, voice cloning, transcription, forced alignment, voice activity + detection, speaker diarization, source separation, voice conversion and + music generation, across 30+ model families. Consumes audio.cpp-native + GGUF packages from huggingface.co/audio-cpp/audio.cpp-gguf. + urls: + - https://github.com/0xShug0/audio.cpp + - https://huggingface.co/audio-cpp/audio.cpp-gguf + tags: + - TTS + - text-to-speech + - audio-transcription + - CPU + - CUDA + - Metal + # No vulkan key: the vulkan image would carry a Vulkan loader with no Mesa ICD + # (see the audio-cpp block in .github/backend-matrix.yml). Pointing a + # capability at a tag CI never builds hands the user a pull failure; leaving it + # out lets SystemState.Capability() fall through to `default` and the CPU + # image. + capabilities: + default: "cpu-audio-cpp" + nvidia: "cuda12-audio-cpp" + nvidia-cuda-12: "cuda12-audio-cpp" + nvidia-cuda-13: "cuda13-audio-cpp" + metal: "metal-audio-cpp" + metal-darwin-arm64: "metal-audio-cpp" +- &whispercpp + name: "whisper" + alias: "whisper" + license: mit + icon: https://user-images.githubusercontent.com/1991296/235238348-05d0f6a4-da44-4900-a1de-d0707e75b763.jpeg + description: | + Port of OpenAI's Whisper model in C/C++ + urls: + - https://github.com/ggml-org/whisper.cpp + tags: + - audio-transcription + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-whisper" + nvidia: "cuda12-whisper" + intel: "intel-sycl-f16-whisper" + metal: "metal-whisper" + amd: "rocm-whisper" + vulkan: "vulkan-whisper" + nvidia-l4t: "nvidia-l4t-arm64-whisper" + nvidia-cuda-13: "cuda13-whisper" + nvidia-cuda-12: "cuda12-whisper" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-whisper" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-whisper" +- &vllm-cpp + name: "vllm-cpp" + alias: "vllm-cpp" + license: apache-2.0 + description: | + ALPHA development builds. Try it, but llama-cpp stays the recommendation for + production use. + + vllm.cpp is an Apache-2.0 C++20 inference engine maintained by the LocalAI team, + developed in its own repository and usable without LocalAI. It began as a port of + vLLM and keeps vLLM as its reference implementation, checking output against it and + benchmarking against it, while growing a featureset of its own. It implements vLLM's + V1 architecture (paged KV cache, continuous batching, prefix caching, scheduler, + sampler) on a portable tensor runtime with no Python, PyTorch or ggml at inference + time. It loads GGUF as well as Hugging Face safetensors, supports structured output + (JSON schema / regex / choice / GBNF grammar) enforced in-engine, ships speculative + decoding and KV offload, and runs on CPU, NVIDIA CUDA (Blackwell-family), Apple + Metal and Vulkan. + + The project is expected to be renamed as it diverges further from vLLM; the new + name is still to be decided. + urls: + - https://github.com/mudler/vllm.cpp + tags: + - text-to-text + - LLM + - CPU + - GPU + - CUDA + - metal + capabilities: + default: "cpu-vllm-cpp" + nvidia: "cuda13-vllm-cpp" + metal: "metal-vllm-cpp" + vulkan: "vulkan-vllm-cpp" + nvidia-cuda-13: "cuda13-vllm-cpp" + nvidia-l4t: "nvidia-l4t-arm64-vllm-cpp" + nvidia-l4t-cuda-13: "nvidia-l4t-arm64-vllm-cpp" +- !!merge <<: *vllm-cpp + name: "vllm-cpp-development" + capabilities: + default: "cpu-vllm-cpp-development" + nvidia: "cuda13-vllm-cpp-development" + metal: "metal-vllm-cpp-development" + vulkan: "vulkan-vllm-cpp-development" + nvidia-cuda-13: "cuda13-vllm-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-vllm-cpp-development" + nvidia-l4t-cuda-13: "nvidia-l4t-arm64-vllm-cpp-development" +- &crispasr + name: "crispasr" + alias: "crispasr" + license: mit + icon: https://user-images.githubusercontent.com/1991296/235238348-05d0f6a4-da44-4900-a1de-d0707e75b763.jpeg + description: | + CrispASR unified speech engine (whisper.cpp fork on ggml) supporting many ASR architectures (Parakeet, Canary, Voxtral, Qwen3-ASR, Granite, Wav2Vec2, Moonshine, OmniASR, FireRedASR, and more). + urls: + - https://github.com/CrispStrobe/CrispASR + tags: + - audio-transcription + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-crispasr" + nvidia: "cuda12-crispasr" + intel: "intel-sycl-f16-crispasr" + metal: "metal-crispasr" + amd: "rocm-crispasr" + vulkan: "vulkan-crispasr" + nvidia-l4t: "nvidia-l4t-arm64-crispasr" + nvidia-cuda-13: "cuda13-crispasr" + nvidia-cuda-12: "cuda12-crispasr" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-crispasr" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-crispasr" +- ¶keetcpp + name: "parakeet-cpp" + alias: "parakeet-cpp" + license: mit + icon: https://avatars.githubusercontent.com/u/95302084 + description: | + parakeet.cpp is a C++/ggml port of NVIDIA NeMo Parakeet automatic speech recognition (ASR) models. + It supports the tdt, ctc, rnnt and hybrid decoder families as well as cache-aware streaming transcription, + and runs on CPU, NVIDIA CUDA, AMD ROCm/HIP, Intel SYCL and NVIDIA Jetson (L4T) targets. + urls: + - https://github.com/mudler/parakeet.cpp + tags: + - audio-transcription + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-parakeet-cpp" + nvidia: "cuda12-parakeet-cpp" + intel: "intel-sycl-f16-parakeet-cpp" + metal: "metal-parakeet-cpp" + amd: "rocm-parakeet-cpp" + vulkan: "vulkan-parakeet-cpp" + nvidia-l4t: "nvidia-l4t-arm64-parakeet-cpp" + nvidia-cuda-13: "cuda13-parakeet-cpp" + nvidia-cuda-12: "cuda12-parakeet-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-parakeet-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-parakeet-cpp" +- &nemospeechcpp + name: "nemo-speech-cpp" + alias: "nemo-speech-cpp" + license: apache-2.0 + icon: https://avatars.githubusercontent.com/u/1728152?s=200&v=4 + description: | + NVIDIA NeMo-Speech.cpp, a C++/ggml runtime for NVIDIA Nemotron Speech models. + One backend serves four model families, selected automatically from the GGUF + general.architecture key: automatic speech recognition (offline, cache-aware + streaming and live transcription, with optional Silero VAD, punctuation, + inverse text normalization and Sortformer speaker diarization attached), + standalone Sortformer diarization, MagpieTTS text-to-speech over NanoCodec, + and Riva-Translate text translation. Runs on CPU, NVIDIA CUDA, Vulkan, + NVIDIA Jetson (L4T) and Apple Metal. + urls: + - https://github.com/NVIDIA/NeMo-Speech.cpp + tags: + - audio-transcription + - text-to-speech + - diarization + - text-to-text + - CPU + - GPU + - CUDA + - Metal + # No amd and no intel key on purpose: upstream NeMo-Speech.cpp has no ROCm/HIP + # and no SYCL backend, so there is nothing to point those at. A host reporting + # either capability falls through to "default" (SystemState.Capability) and + # gets the CPU build, which is the honest answer rather than a broken tag. + # + # Listing only nvidia-l4t would be a silent downgrade: a Jetson that reports a + # CUDA-refined capability would miss the map and fall back to the CPU build. + # + # The two nvidia-l4t-cuda-* keys point at DIFFERENT images on purpose. The + # JetPack r36.4.0 base links ggml against CUDA 12, so serving it to a host that + # reports nvidia-l4t-cuda-13 would fail at dlopen on a missing libcudart.so.12. + # That is worse than no key at all, since a missing key falls back to a working + # CPU build. Hence the separate cuda13 L4T image, as parakeet-cpp and + # moss-transcribe-cpp both do. + capabilities: + default: "cpu-nemo-speech-cpp" + nvidia: "cuda12-nemo-speech-cpp" + metal: "metal-nemo-speech-cpp" + vulkan: "vulkan-nemo-speech-cpp" + nvidia-l4t: "nvidia-l4t-arm64-nemo-speech-cpp" + nvidia-cuda-13: "cuda13-nemo-speech-cpp" + nvidia-cuda-12: "cuda12-nemo-speech-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-nemo-speech-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-nemo-speech-cpp" +- &mosstranscribecpp + name: "moss-transcribe-cpp" + alias: "moss-transcribe-cpp" + license: mit + icon: https://avatars.githubusercontent.com/u/95302084 + description: | + moss-transcribe.cpp is a C++/ggml port of OpenMOSS MOSS-Transcribe-Diarize, an end-to-end audio understanding model. + It does joint long-form transcription, speaker diarization and timestamping in a single pass, emitting a speaker-labelled, + time-aligned transcript, and runs on CPU, NVIDIA CUDA, AMD ROCm/HIP, Intel SYCL, Vulkan, Apple Metal and NVIDIA Jetson (L4T) targets. + urls: + - https://github.com/localai-org/moss-transcribe.cpp + tags: + - audio-transcription + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-moss-transcribe-cpp" + nvidia: "cuda12-moss-transcribe-cpp" + intel: "intel-sycl-f16-moss-transcribe-cpp" + metal: "metal-moss-transcribe-cpp" + amd: "rocm-moss-transcribe-cpp" + vulkan: "vulkan-moss-transcribe-cpp" + nvidia-l4t: "nvidia-l4t-arm64-moss-transcribe-cpp" + nvidia-cuda-13: "cuda13-moss-transcribe-cpp" + nvidia-cuda-12: "cuda12-moss-transcribe-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-moss-transcribe-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-moss-transcribe-cpp" +- &ced + name: "ced" + alias: "ced" + license: mit + icon: https://avatars.githubusercontent.com/u/95302084 + description: | + CED sound-event classification / audio tagging (527-class AudioSet). + ced.cpp is a C++/ggml port that performs audio tagging over the AudioSet + taxonomy, exposed through the SoundDetection gRPC rpc and the + /v1/audio/classification REST endpoint. It runs on CPU, NVIDIA CUDA, + AMD ROCm/HIP, Intel SYCL, Vulkan and NVIDIA Jetson (L4T) targets. + urls: + - https://github.com/localai-org/ced.cpp + tags: + - audio-classification + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-ced" + nvidia: "cuda12-ced" + intel: "intel-sycl-f16-ced" + metal: "metal-ced" + amd: "rocm-ced" + vulkan: "vulkan-ced" + nvidia-l4t: "nvidia-l4t-arm64-ced" + nvidia-cuda-13: "cuda13-ced" + nvidia-cuda-12: "cuda12-ced" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-ced" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-ced" +- &voicedetect + name: "voice-detect" + alias: "voice-detect" + license: mit + icon: https://avatars.githubusercontent.com/u/95302084 + description: | + voice-detect speaker recognition and voice analysis. + voice-detect.cpp is a C++/ggml engine that produces L2-normalised + speaker embeddings (ECAPA-TDNN, WeSpeaker ResNet34, 3D-Speaker + ERes2Net, CAM++) for voice verification and 1:N identification, plus + a wav2vec2 age / gender / emotion analysis head. It replaces the + Python speaker-recognition backend and is exposed through the Voice* + gRPC rpcs and the /v1/voice/* REST endpoints. It runs on CPU, NVIDIA + CUDA, AMD ROCm/HIP, Intel SYCL, Vulkan and NVIDIA Jetson (L4T) targets. + urls: + - https://github.com/localai-org/voice-detect.cpp + tags: + - voice-recognition + - speaker-verification + - speaker-embedding + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-voice-detect" + nvidia: "cuda12-voice-detect" + intel: "intel-sycl-f16-voice-detect" + metal: "metal-voice-detect" + amd: "rocm-voice-detect" + vulkan: "vulkan-voice-detect" + nvidia-l4t: "nvidia-l4t-arm64-voice-detect" + nvidia-cuda-13: "cuda13-voice-detect" + nvidia-cuda-12: "cuda12-voice-detect" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-voice-detect" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-voice-detect" +- &facedetect + name: "face-detect" + alias: "face-detect" + license: mit + icon: https://avatars.githubusercontent.com/u/95302084 + description: | + face-detect face detection, embedding, verification and analysis. + face-detect.cpp is a C++/ggml engine that runs SCRFD / YuNet face + detection and ArcFace / SFace 512-d (or 128-d) L2-normalised face + embeddings for verification and 1:N identification, plus a landmark / + age / gender analysis head. It replaces the Python insightface backend + and is exposed through the Embedding, Detect and Face* gRPC rpcs and + the /v1/face/* REST endpoints. It runs on CPU, NVIDIA CUDA, AMD + ROCm/HIP, Intel SYCL, Vulkan and NVIDIA Jetson (L4T) targets. + urls: + - https://github.com/mudler/face-detect.cpp + tags: + - face-recognition + - face-verification + - face-embedding + - CPU + - GPU + - CUDA + - HIP + capabilities: + default: "cpu-face-detect" + nvidia: "cuda12-face-detect" + intel: "intel-sycl-f16-face-detect" + metal: "metal-face-detect" + amd: "rocm-face-detect" + vulkan: "vulkan-face-detect" + nvidia-l4t: "nvidia-l4t-arm64-face-detect" + nvidia-cuda-13: "cuda13-face-detect" + nvidia-cuda-12: "cuda12-face-detect" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-face-detect" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-face-detect" +- &voxtral + name: "voxtral" + alias: "voxtral" + license: mit + description: | + Voxtral Realtime 4B Pure C speech-to-text inference engine + urls: + - https://github.com/mudler/voxtral.c + tags: + - audio-transcription + - CPU + - Metal + capabilities: + default: "cpu-voxtral" + metal-darwin-arm64: "metal-voxtral" +- &stablediffusionggml + name: "stablediffusion-ggml" + alias: "stablediffusion-ggml" + license: mit + icon: https://github.com/leejet/stable-diffusion.cpp/raw/master/assets/cat_with_sd_cpp_42.png + description: | + Stable Diffusion and Flux in pure C/C++ + urls: + - https://github.com/leejet/stable-diffusion.cpp + tags: + - image-generation + - CPU + - GPU + - Metal + - CUDA + - HIP + capabilities: + default: "cpu-stablediffusion-ggml" + nvidia: "cuda12-stablediffusion-ggml" + intel: "intel-sycl-f16-stablediffusion-ggml" + amd: "rocm-stablediffusion-ggml" + vulkan: "vulkan-stablediffusion-ggml" + nvidia-l4t: "nvidia-l4t-arm64-stablediffusion-ggml" + metal: "metal-stablediffusion-ggml" + nvidia-cuda-13: "cuda13-stablediffusion-ggml" + nvidia-cuda-12: "cuda12-stablediffusion-ggml" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-stablediffusion-ggml" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-stablediffusion-ggml" +- &trellis2cpp + name: "trellis2cpp" + alias: "trellis2cpp" + license: mit + description: | + TRELLIS.2 image-to-3D generation (GLB meshes with PBR textures) in C++/ggml + urls: + - https://github.com/localai-org/trellis2cpp + - https://github.com/microsoft/TRELLIS.2 + tags: + - image-to-3d + - 3d-generation + - CPU + - GPU + - CUDA + - Metal + capabilities: + default: "cpu-trellis2cpp" + nvidia: "cuda12-trellis2cpp" + vulkan: "vulkan-trellis2cpp" + nvidia-l4t: "nvidia-l4t-arm64-trellis2cpp" + metal: "metal-trellis2cpp" + nvidia-cuda-13: "cuda13-trellis2cpp" + nvidia-cuda-12: "cuda12-trellis2cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-trellis2cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-trellis2cpp" +- &rfdetr + name: "rfdetr" + alias: "rfdetr" + license: apache-2.0 + icon: https://avatars.githubusercontent.com/u/53104118?s=200&v=4 + description: | + RF-DETR is a real-time, transformer-based object detection model architecture developed by Roboflow and released under the Apache 2.0 license. + RF-DETR is the first real-time model to exceed 60 AP on the Microsoft COCO benchmark alongside competitive performance at base sizes. It also achieves state-of-the-art performance on RF100-VL, an object detection benchmark that measures model domain adaptability to real world problems. RF-DETR is fastest and most accurate for its size when compared current real-time objection models. + RF-DETR is small enough to run on the edge using Inference, making it an ideal model for deployments that need both strong accuracy and real-time performance. + urls: + - https://github.com/roboflow/rf-detr + tags: + - object-detection + - rfdetr + - gpu + - cpu + capabilities: + nvidia: "cuda12-rfdetr" + intel: "intel-rfdetr" + #amd: "rocm-rfdetr" + nvidia-l4t: "nvidia-l4t-arm64-rfdetr" + metal: "metal-rfdetr" + default: "cpu-rfdetr" + nvidia-cuda-13: "cuda13-rfdetr" + nvidia-cuda-12: "cuda12-rfdetr" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-rfdetr" +- &insightface + name: "insightface" + alias: "insightface" + # Upstream insightface library is MIT. The pretrained model packs + # (buffalo_l, buffalo_s, antelopev2) are released for NON-COMMERCIAL + # research use only. The backend image also pre-bakes OpenCV Zoo + # YuNet + SFace (Apache 2.0) for commercial use. Pick the engine + # via model-gallery entries (insightface-buffalo-l / insightface-opencv + # / insightface-buffalo-s) or set `options` in your model YAML. + license: "mixed" + description: | + Face recognition backend powered by `insightface` (ONNX Runtime). + Provides face verification (/v1/face/verify), face analysis + (/v1/face/analyze), face embedding (/v1/embeddings), face + detection (/v1/detection), and 1:N identification + (/v1/face/{register,identify,forget}). + Ships two engines in a single image: one that drives the insightface + model packs (buffalo_l/s/m/sc, antelopev2 — non-commercial research + use only) and one that drives OpenCV Zoo's YuNet + SFace pair + (Apache 2.0 — commercial-safe). Select via `options: ["engine:..."]` + in your model YAML, or install one of the ready-made model-gallery + entries under the `insightface-*` prefix. + The backend image contains only code and Python deps; all model + weights are managed by LocalAI's gallery download mechanism. + urls: + - https://github.com/deepinsight/insightface + - https://github.com/opencv/opencv_zoo + tags: + - face-recognition + - face-verification + - face-embedding + - gpu + - cpu + capabilities: + default: "cpu-insightface" + nvidia: "cuda12-insightface" + nvidia-cuda-12: "cuda12-insightface" +- &sam3cpp + name: "sam3-cpp" + alias: "sam3-cpp" + license: mit + description: | + Segment Anything Model (SAM 3/2/EdgeTAM) in C/C++ using GGML. + Supports text-prompted and point/box-prompted image segmentation. + urls: + - https://github.com/PABannier/sam3.cpp + tags: + - image-segmentation + - object-detection + - sam3 + - gpu + - cpu + capabilities: + default: "cpu-sam3-cpp" + nvidia: "cuda12-sam3-cpp" + nvidia-cuda-12: "cuda12-sam3-cpp" + nvidia-cuda-13: "cuda13-sam3-cpp" + nvidia-l4t: "nvidia-l4t-arm64-sam3-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-sam3-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-sam3-cpp" + intel: "intel-sycl-f32-sam3-cpp" + vulkan: "vulkan-sam3-cpp" + metal: "metal-sam3-cpp" +- &rfdetrcpp + name: "rfdetr-cpp" + alias: "rfdetr-cpp" + license: apache-2.0 + description: | + Native RF-DETR object detection and instance segmentation in C/C++ + using GGML. Loads pre-built GGUF weights from the mudler/rfdetr-cpp-* + family (Nano/Small/Base/Medium/Large + SegNano/SegSmall/SegMedium) + and returns bounding boxes, class labels, confidence scores, and + (for segmentation variants) PNG-encoded per-detection masks. + urls: + - https://github.com/localai-org/rf-detr.cpp + tags: + - object-detection + - image-segmentation + - rfdetr + - gpu + - cpu + capabilities: + default: "cpu-rfdetr-cpp" + nvidia: "cuda12-rfdetr-cpp" + nvidia-cuda-12: "cuda12-rfdetr-cpp" + nvidia-cuda-13: "cuda13-rfdetr-cpp" + nvidia-l4t: "nvidia-l4t-arm64-rfdetr-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-rfdetr-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-rfdetr-cpp" + intel: "intel-sycl-f32-rfdetr-cpp" + vulkan: "vulkan-rfdetr-cpp" + metal: "metal-rfdetr-cpp" +- &locateanything + name: "locate-anything" + alias: "locate-anything" + license: apache-2.0 + description: | + Open-vocabulary object detection and visual grounding (NVIDIA + LocateAnything-3B) in C/C++ using GGML. Loads pre-built GGUF weights + and, given an image and a free-form text prompt, returns bounding + boxes, class labels, and confidence scores for the referred objects. + urls: + - https://github.com/mudler/locate-anything.cpp + - https://huggingface.co/nvidia/LocateAnything-3B + tags: + - object-detection + - visual-grounding + - open-vocabulary + - locate-anything + - gpu + - cpu + capabilities: + default: "cpu-locate-anything-cpp" + nvidia: "cuda12-locate-anything-cpp" + nvidia-cuda-12: "cuda12-locate-anything-cpp" + nvidia-cuda-13: "cuda13-locate-anything-cpp" + nvidia-l4t: "nvidia-l4t-arm64-locate-anything-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-locate-anything-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-locate-anything-cpp" + intel: "intel-sycl-f32-locate-anything-cpp" + vulkan: "vulkan-locate-anything-cpp" + metal: "metal-locate-anything-cpp" +- !!merge <<: *locateanything + name: "locate-anything-development" + capabilities: + default: "cpu-locate-anything-cpp-development" + nvidia: "cuda12-locate-anything-cpp-development" + nvidia-cuda-12: "cuda12-locate-anything-cpp-development" + nvidia-cuda-13: "cuda13-locate-anything-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-locate-anything-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-locate-anything-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-locate-anything-cpp-development" + intel: "intel-sycl-f32-locate-anything-cpp-development" + vulkan: "vulkan-locate-anything-cpp-development" + metal: "metal-locate-anything-cpp-development" +- !!merge <<: *locateanything + name: "cpu-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-cpu-locate-anything-cpp +- !!merge <<: *locateanything + name: "cpu-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-cpu-locate-anything-cpp +- !!merge <<: *locateanything + name: "metal-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "metal-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda12-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda12-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-locate-anything-cpp +- !!merge <<: *locateanything + name: "nvidia-l4t-arm64-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "nvidia-l4t-arm64-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-nvidia-l4t-arm64-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "cuda13-nvidia-l4t-arm64-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f32-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f32-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f16-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-locate-anything-cpp +- !!merge <<: *locateanything + name: "intel-sycl-f16-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-locate-anything-cpp +- !!merge <<: *locateanything + name: "vulkan-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-locate-anything-cpp +- !!merge <<: *locateanything + name: "vulkan-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-locate-anything-cpp +- &depthanything + name: "depth-anything" + alias: "depth-anything" + license: apache-2.0 + description: | + Depth Anything 3 monocular metric depth + camera pose estimation in C/C++ + using GGML. Loads pre-built GGUF weights and, given an image, returns a + dense depth map plus the recovered camera extrinsics (3x4) and intrinsics + (3x3). No Python at inference (purego, cgo-less). + urls: + - https://github.com/mudler/depth-anything.cpp + - https://huggingface.co/depth-anything/Depth-Anything-V3 + tags: + - depth-estimation + - camera-pose + - depth-anything + - gpu + - cpu + capabilities: + default: "cpu-depth-anything-cpp" + nvidia: "cuda12-depth-anything-cpp" + nvidia-cuda-12: "cuda12-depth-anything-cpp" + nvidia-cuda-13: "cuda13-depth-anything-cpp" + nvidia-l4t: "nvidia-l4t-arm64-depth-anything-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-depth-anything-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-depth-anything-cpp" + intel: "intel-sycl-f32-depth-anything-cpp" + vulkan: "vulkan-depth-anything-cpp" + metal: "metal-depth-anything-cpp" +- !!merge <<: *depthanything + name: "depth-anything-development" + capabilities: + default: "cpu-depth-anything-cpp-development" + nvidia: "cuda12-depth-anything-cpp-development" + nvidia-cuda-12: "cuda12-depth-anything-cpp-development" + nvidia-cuda-13: "cuda13-depth-anything-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-depth-anything-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-depth-anything-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-depth-anything-cpp-development" + intel: "intel-sycl-f32-depth-anything-cpp-development" + vulkan: "vulkan-depth-anything-cpp-development" + metal: "metal-depth-anything-cpp-development" +- !!merge <<: *depthanything + name: "cpu-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-cpu-depth-anything-cpp +- !!merge <<: *depthanything + name: "cpu-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-cpu-depth-anything-cpp +- !!merge <<: *depthanything + name: "metal-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "metal-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "cuda12-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-depth-anything-cpp +- !!merge <<: *depthanything + name: "cuda12-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-depth-anything-cpp +- !!merge <<: *depthanything + name: "cuda13-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-depth-anything-cpp +- !!merge <<: *depthanything + name: "cuda13-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-depth-anything-cpp +- !!merge <<: *depthanything + name: "nvidia-l4t-arm64-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "nvidia-l4t-arm64-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "cuda13-nvidia-l4t-arm64-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "cuda13-nvidia-l4t-arm64-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "intel-sycl-f32-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-depth-anything-cpp +- !!merge <<: *depthanything + name: "intel-sycl-f32-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-depth-anything-cpp +- !!merge <<: *depthanything + name: "intel-sycl-f16-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-depth-anything-cpp +- !!merge <<: *depthanything + name: "intel-sycl-f16-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-depth-anything-cpp +- !!merge <<: *depthanything + name: "vulkan-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-depth-anything-cpp +- !!merge <<: *depthanything + name: "vulkan-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-depth-anything-cpp +- &vllm + name: "vllm" + license: apache-2.0 + urls: + - https://github.com/vllm-project/vllm + tags: + - text-to-text + - multimodal + - GPTQ + - AWQ + - AutoRound + - INT4 + - INT8 + - FP8 + icon: https://raw.githubusercontent.com/vllm-project/vllm/main/docs/assets/logos/vllm-logo-text-dark.png + description: | + vLLM is a fast and easy-to-use library for LLM inference and serving. + Originally developed in the Sky Computing Lab at UC Berkeley, vLLM has evolved into a community-driven project with contributions from both academia and industry. + vLLM is fast with: + State-of-the-art serving throughput + Efficient management of attention key and value memory with PagedAttention + Continuous batching of incoming requests + Fast model execution with CUDA/HIP graph + Quantizations: GPTQ, AWQ, AutoRound, INT4, INT8, and FP8 + Optimized CUDA kernels, including integration with FlashAttention and FlashInfer + Speculative decoding + Chunked prefill + alias: "vllm" + capabilities: + nvidia: "cuda12-vllm" + amd: "rocm-vllm" + intel: "intel-vllm" + nvidia-cuda-12: "cuda12-vllm" + nvidia-cuda-13: "cuda13-vllm" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vllm" + cpu: "cpu-vllm" + metal: "metal-vllm" +- &sglang + name: "sglang" + license: apache-2.0 + urls: + - https://github.com/sgl-project/sglang + tags: + - text-to-text + - multimodal + icon: https://raw.githubusercontent.com/sgl-project/sglang/main/assets/logo.png + description: | + SGLang is a fast serving framework for large language models and vision language models. + It co-designs the backend runtime (RadixAttention, continuous batching, structured + decoding) and the frontend language to make interaction with models faster and more + controllable. Features include fast backend runtime, flexible frontend language, + extensive model support, and an active community. + alias: "sglang" + capabilities: + nvidia: "cuda12-sglang" + amd: "rocm-sglang" + intel: "intel-sglang" + nvidia-cuda-12: "cuda12-sglang" + nvidia-cuda-13: "cuda13-sglang" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-sglang" + cpu: "cpu-sglang" +- &vllm-omni + name: "vllm-omni" + license: apache-2.0 + urls: + - https://github.com/vllm-project/vllm-omni + tags: + - text-to-image + - image-generation + - text-to-video + - video-generation + - text-to-speech + - TTS + - multimodal + - LLM + icon: https://raw.githubusercontent.com/vllm-project/vllm/main/docs/assets/logos/vllm-logo-text-dark.png + description: | + vLLM-Omni is a unified interface for multimodal generation with vLLM. + It supports image generation (text-to-image, image editing), video generation + (text-to-video, image-to-video), text generation with multimodal inputs, and + text-to-speech generation. Only supports NVIDIA (CUDA) and ROCm platforms. + alias: "vllm-omni" + capabilities: + nvidia: "cuda12-vllm-omni" + amd: "rocm-vllm-omni" + nvidia-cuda-12: "cuda12-vllm-omni" + nvidia-cuda-13: "cuda13-vllm-omni" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vllm-omni" +- &longcat-video + name: "longcat-video" + alias: "longcat-video" + license: mit + urls: + - https://github.com/meituan-longcat/LongCat-Video + tags: + - text-to-video + - image-to-video + - audio-to-video + - avatar-generation + - video-generation + - CUDA + icon: https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/main/assets/longcat-video_logo.svg + description: | + LongCat-Video generation for text, image, and audio-conditioned avatars. + Supports LongCat-Video and LongCat-Video-Avatar-1.5, including multi-segment + talking-head continuation and an SDPA path for NVIDIA Blackwell ARM64 systems. + Requires Linux with an NVIDIA CUDA GPU; CPU, ROCm, and macOS are unsupported. + capabilities: + nvidia: "cuda12-longcat-video" + nvidia-cuda-12: "cuda12-longcat-video" + nvidia-cuda-13: "cuda13-longcat-video" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-longcat-video" +- &mlx + name: "mlx" + icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 + urls: + - https://github.com/ml-explore/mlx-lm + license: MIT + description: | + Run LLMs with MLX + tags: + - text-to-text + - LLM + - MLX + capabilities: + default: "cpu-mlx" + nvidia: "cuda12-mlx" + metal: "metal-mlx" + nvidia-cuda-12: "cuda12-mlx" + nvidia-cuda-13: "cuda13-mlx" + nvidia-l4t: "nvidia-l4t-mlx" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx" +- &mlx-vlm + name: "mlx-vlm" + icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 + urls: + - https://github.com/Blaizzy/mlx-vlm + license: MIT + description: | + Run Vision-Language Models with MLX + tags: + - text-to-text + - multimodal + - vision-language + - LLM + - MLX + capabilities: + default: "cpu-mlx-vlm" + nvidia: "cuda12-mlx-vlm" + metal: "metal-mlx-vlm" + nvidia-cuda-12: "cuda12-mlx-vlm" + nvidia-cuda-13: "cuda13-mlx-vlm" + nvidia-l4t: "nvidia-l4t-mlx-vlm" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-vlm" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-vlm" +- &mlx-audio + name: "mlx-audio" + icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 + urls: + - https://github.com/Blaizzy/mlx-audio + license: MIT + description: | + Run Audio Models with MLX + tags: + - audio-to-text + - audio-generation + - text-to-audio + - LLM + - MLX + capabilities: + default: "cpu-mlx-audio" + nvidia: "cuda12-mlx-audio" + metal: "metal-mlx-audio" + nvidia-cuda-12: "cuda12-mlx-audio" + nvidia-cuda-13: "cuda13-mlx-audio" + nvidia-l4t: "nvidia-l4t-mlx-audio" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-audio" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-audio" +- &mlx-distributed + name: "mlx-distributed" + icon: https://avatars.githubusercontent.com/u/102832242?s=200&v=4 + urls: + - https://github.com/ml-explore/mlx-lm + license: MIT + description: | + Run distributed LLM inference with MLX across multiple Apple Silicon Macs + tags: + - text-to-text + - LLM + - MLX + - distributed + capabilities: + default: "cpu-mlx-distributed" + nvidia: "cuda12-mlx-distributed" + metal: "metal-mlx-distributed" + nvidia-cuda-12: "cuda12-mlx-distributed" + nvidia-cuda-13: "cuda13-mlx-distributed" + nvidia-l4t: "nvidia-l4t-mlx-distributed" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-distributed" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-distributed" +- &rerankers + name: "rerankers" + alias: "rerankers" + capabilities: + nvidia: "cuda12-rerankers" + intel: "intel-rerankers" + amd: "rocm-rerankers" + metal: "metal-rerankers" +- &tinygrad + name: "tinygrad" + alias: "tinygrad" + license: MIT + description: | + tinygrad is a minimalist deep-learning framework with zero runtime + dependencies that targets CUDA, ROCm, Metal, WebGPU and CPU (CLANG). + The LocalAI tinygrad backend exposes a single multimodal runtime that + covers LLM text generation (Llama / Qwen / Mistral via safetensors or + GGUF) with native tool-call extraction, BERT-family embeddings, + Stable Diffusion 1.x / 2 / XL image generation, and Whisper speech-to-text. + + Single image: tinygrad generates its own GPU kernels and dlopens the + host driver libraries at runtime, so there is no per-toolkit build + split. The same image runs CPU-only or accelerates against + CUDA / ROCm / Metal when the host driver is visible. + urls: + - https://github.com/tinygrad/tinygrad + uri: "quay.io/go-skynet/local-ai-backends:latest-tinygrad" + mirrors: + - localai/localai-backends:latest-tinygrad + tags: + - text-to-text + - LLM + - embeddings + - image-generation + - transcription + - multimodal +- &transformers + name: "transformers" + icon: https://avatars.githubusercontent.com/u/25720743?s=200&v=4 + alias: "transformers" + license: apache-2.0 + description: | + Transformers acts as the model-definition framework for state-of-the-art machine learning models in text, computer vision, audio, video, and multimodal model, for both inference and training. + It centralizes the model definition so that this definition is agreed upon across the ecosystem. transformers is the pivot across frameworks: if a model definition is supported, it will be compatible with the majority of training frameworks (Axolotl, Unsloth, DeepSpeed, FSDP, PyTorch-Lightning, ...), inference engines (vLLM, SGLang, TGI, ...), and adjacent modeling libraries (llama.cpp, mlx, ...) which leverage the model definition from transformers. + urls: + - https://github.com/huggingface/transformers + tags: + - text-to-text + - multimodal + capabilities: + nvidia: "cuda12-transformers" + intel: "intel-transformers" + amd: "rocm-transformers" + metal: "metal-transformers" + nvidia-cuda-13: "cuda13-transformers" + nvidia-cuda-12: "cuda12-transformers" +- &diffusers + name: "diffusers" + icon: https://raw.githubusercontent.com/huggingface/diffusers/main/docs/source/en/imgs/diffusers_library.jpg + description: | + 🤗 Diffusers is the go-to library for state-of-the-art pretrained diffusion models for generating images, audio, and even 3D structures of molecules. Whether you're looking for a simple inference solution or training your own diffusion models, 🤗 Diffusers is a modular toolbox that supports both. + urls: + - https://github.com/huggingface/diffusers + tags: + - image-generation + - video-generation + - diffusion-models + license: apache-2.0 + alias: "diffusers" + capabilities: + nvidia: "cuda12-diffusers" + intel: "intel-diffusers" + amd: "rocm-diffusers" + nvidia-l4t: "nvidia-l4t-diffusers" + metal: "metal-diffusers" + default: "cpu-diffusers" + nvidia-cuda-13: "cuda13-diffusers" + nvidia-cuda-12: "cuda12-diffusers" + nvidia-l4t-cuda-12: "nvidia-l4t-diffusers" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-diffusers" +- &ace-step + name: "ace-step" + description: | + ACE-Step 1.5 is an open-source music generation model. It supports simple mode (natural language description) and advanced mode (caption, lyrics, think, bpm, keyscale, etc.). Uses in-process acestep (LLMHandler for metadata, DiT for audio). + urls: + - https://github.com/ace-step/ACE-Step-1.5 + tags: + - music-generation + - sound-generation + alias: "ace-step" + capabilities: + nvidia: "cuda12-ace-step" + intel: "intel-ace-step" + amd: "rocm-ace-step" + metal: "metal-ace-step" + default: "cpu-ace-step" + nvidia-cuda-13: "cuda13-ace-step" + nvidia-cuda-12: "cuda12-ace-step" +- !!merge <<: *ace-step + name: "ace-step-development" + capabilities: + nvidia: "cuda12-ace-step-development" + intel: "intel-ace-step-development" + amd: "rocm-ace-step-development" + metal: "metal-ace-step-development" + default: "cpu-ace-step-development" + nvidia-cuda-13: "cuda13-ace-step-development" + nvidia-cuda-12: "cuda12-ace-step-development" +- &acestepcpp + name: "acestep-cpp" + description: | + ACE-Step 1.5 C++ backend using GGML. Native C++ implementation of ACE-Step music generation with GPU support through GGML backends. + Generates stereo 48kHz audio from text descriptions and optional lyrics via a two-stage pipeline: text-to-code (ace-qwen3 LLM) + code-to-audio (DiT-VAE). + urls: + - https://github.com/ace-step/acestep.cpp + tags: + - music-generation + - sound-generation + alias: "acestep-cpp" + capabilities: + default: "cpu-acestep-cpp" + nvidia: "cuda12-acestep-cpp" + nvidia-cuda-13: "cuda13-acestep-cpp" + nvidia-cuda-12: "cuda12-acestep-cpp" + intel: "intel-sycl-f16-acestep-cpp" + metal: "metal-acestep-cpp" + amd: "rocm-acestep-cpp" + vulkan: "vulkan-acestep-cpp" + nvidia-l4t: "nvidia-l4t-arm64-acestep-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-acestep-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-acestep-cpp" +- &qwen3ttscpp + name: "qwen3-tts-cpp" + description: | + Qwen3-TTS C++ backend using GGML (qwentts.cpp). Native C++ text-to-speech + with streaming output, named speakers, voice design, and zero-shot voice + cloning. 24kHz mono, 11 languages with Mandarin dialects. 0.6B and 1.7B + models in Q8_0 / Q4_K_M. + urls: + - https://github.com/ServeurpersoCom/qwentts.cpp + tags: + - text-to-speech + - tts + - voice-cloning + - streaming + alias: "qwen3-tts-cpp" + capabilities: + default: "cpu-qwen3-tts-cpp" + nvidia: "cuda12-qwen3-tts-cpp" + nvidia-cuda-13: "cuda13-qwen3-tts-cpp" + nvidia-cuda-12: "cuda12-qwen3-tts-cpp" + intel: "intel-sycl-f16-qwen3-tts-cpp" + metal: "metal-qwen3-tts-cpp" + amd: "rocm-qwen3-tts-cpp" + vulkan: "vulkan-qwen3-tts-cpp" + nvidia-l4t: "nvidia-l4t-arm64-qwen3-tts-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-qwen3-tts-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-qwen3-tts-cpp" +- &mossttscpp + name: "moss-tts-cpp" + description: | + MOSS-TTS C++ backend using GGML (moss-tts.cpp). Native C++ text-to-speech + for the OpenMOSS MOSS-TTS-Local Transformer v1.5 model (a GPT-J local + transformer + MOSS-Audio-Tokenizer-v2 neural codec), running from a + self-contained GGUF with no Python at inference time. 48kHz stereo output + with reference-audio voice cloning. + urls: + - https://github.com/mudler/moss-tts.cpp + - https://huggingface.co/mudler/MOSS-TTS-Local-Transformer-v1.5-GGUF + tags: + - text-to-speech + - tts + - voice-cloning + alias: "moss-tts-cpp" + capabilities: + default: "cpu-moss-tts-cpp" + nvidia: "cuda12-moss-tts-cpp" + nvidia-cuda-13: "cuda13-moss-tts-cpp" + nvidia-cuda-12: "cuda12-moss-tts-cpp" + intel: "intel-sycl-f16-moss-tts-cpp" + metal: "metal-moss-tts-cpp" + amd: "rocm-moss-tts-cpp" + vulkan: "vulkan-moss-tts-cpp" + nvidia-l4t: "nvidia-l4t-arm64-moss-tts-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-moss-tts-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-moss-tts-cpp" +- !!merge <<: *mossttscpp + name: "moss-tts-cpp-development" + capabilities: + default: "cpu-moss-tts-cpp-development" + nvidia: "cuda12-moss-tts-cpp-development" + nvidia-cuda-13: "cuda13-moss-tts-cpp-development" + nvidia-cuda-12: "cuda12-moss-tts-cpp-development" + intel: "intel-sycl-f16-moss-tts-cpp-development" + metal: "metal-moss-tts-cpp-development" + amd: "rocm-moss-tts-cpp-development" + vulkan: "vulkan-moss-tts-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-moss-tts-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-moss-tts-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-moss-tts-cpp-development" +- &magpiettscpp + name: "magpie-tts-cpp" + description: | + Magpie TTS C++ backend using GGML (magpie-tts.cpp). Native C++ + text-to-speech for NVIDIA's Magpie TTS Multilingual 357M model (encoder + + autoregressive decoder over NanoCodec tokens), running from a single + self-contained GGUF (model, codec, tokenizer, G2P dictionaries) with no + Python at inference time. 22.05kHz mono output, 5 baked voices (Aria, + Jason, John, Leo, Sofia), 9+ languages. + urls: + - https://github.com/mudler/magpie-tts.cpp + - https://huggingface.co/mudler/magpie-tts.cpp-gguf + tags: + - text-to-speech + - tts + alias: "magpie-tts-cpp" + capabilities: + default: "cpu-magpie-tts-cpp" + nvidia: "cuda12-magpie-tts-cpp" + nvidia-cuda-13: "cuda13-magpie-tts-cpp" + nvidia-cuda-12: "cuda12-magpie-tts-cpp" + intel: "intel-sycl-f16-magpie-tts-cpp" + metal: "metal-magpie-tts-cpp" + amd: "rocm-magpie-tts-cpp" + vulkan: "vulkan-magpie-tts-cpp" + nvidia-l4t: "nvidia-l4t-arm64-magpie-tts-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-magpie-tts-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-magpie-tts-cpp" +- !!merge <<: *magpiettscpp + name: "magpie-tts-cpp-development" + capabilities: + default: "cpu-magpie-tts-cpp-development" + nvidia: "cuda12-magpie-tts-cpp-development" + nvidia-cuda-13: "cuda13-magpie-tts-cpp-development" + nvidia-cuda-12: "cuda12-magpie-tts-cpp-development" + intel: "intel-sycl-f16-magpie-tts-cpp-development" + metal: "metal-magpie-tts-cpp-development" + amd: "rocm-magpie-tts-cpp-development" + vulkan: "vulkan-magpie-tts-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-magpie-tts-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-magpie-tts-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-magpie-tts-cpp-development" +- &omnivoicecpp + name: "omnivoice-cpp" + description: | + OmniVoice C++ backend using GGML. Native text-to-speech with voice cloning + (reference audio + transcript) and voice design (attribute keywords: gender, + age, pitch, style, volume, emotion). 24kHz mono output, 646 languages. + Supports streaming synthesis. + urls: + - https://github.com/ServeurpersoCom/omnivoice.cpp + tags: + - text-to-speech + - tts + - voice-cloning + - voice-design + alias: "omnivoice-cpp" + capabilities: + default: "cpu-omnivoice-cpp" + nvidia: "cuda12-omnivoice-cpp" + nvidia-cuda-13: "cuda13-omnivoice-cpp" + nvidia-cuda-12: "cuda12-omnivoice-cpp" + intel: "intel-sycl-f16-omnivoice-cpp" + metal: "metal-omnivoice-cpp" + amd: "rocm-omnivoice-cpp" + vulkan: "vulkan-omnivoice-cpp" + nvidia-l4t: "nvidia-l4t-arm64-omnivoice-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-omnivoice-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-omnivoice-cpp" +- &vibevoicecpp + name: "vibevoice-cpp" + description: | + vibevoice.cpp C++ backend using GGML. Native C++ port of Microsoft VibeVoice for both + text-to-speech (with voice cloning via voice prompt GGUFs) and long-form ASR with + speaker diarization. Outputs 24kHz mono WAV; ASR returns per-speaker JSON segments. + urls: + - https://github.com/mudler/vibevoice.cpp + tags: + - text-to-speech + - tts + - speech-to-text + - asr + - voice-cloning + - diarization + alias: "vibevoice-cpp" + capabilities: + default: "cpu-vibevoice-cpp" + nvidia: "cuda12-vibevoice-cpp" + nvidia-cuda-13: "cuda13-vibevoice-cpp" + nvidia-cuda-12: "cuda12-vibevoice-cpp" + intel: "intel-sycl-f16-vibevoice-cpp" + metal: "metal-vibevoice-cpp" + amd: "rocm-vibevoice-cpp" + vulkan: "vulkan-vibevoice-cpp" + nvidia-l4t: "nvidia-l4t-arm64-vibevoice-cpp" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-vibevoice-cpp" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vibevoice-cpp" +- &localvqecpp + name: "localvqe" + description: | + LocalVQE C++ backend using GGML — joint acoustic echo cancellation, noise + suppression, and dereverberation (DeepVQE-style architecture). 16 kHz mono + in / out, supports both batch and low-latency streaming. Implements the + audio-transform capability. + urls: + - https://github.com/localai-org/LocalVQE + tags: + - audio-transform + - aec + - acoustic-echo-cancellation + - noise-suppression + - dereverberation + license: apache2 + alias: "localvqe" + # Upstream LocalVQE only supports CPU and Vulkan; no CUDA/ROCm/SYCL/Metal + # builds. GPU-class hardware that exposes a Vulkan ICD (NVIDIA, AMD, Intel + # discrete + iGPU, Tegra) routes to the Vulkan image; everything else + # falls back to the CPU build, which is already ~9× realtime on a desktop. + capabilities: + default: "cpu-localvqe" + nvidia: "vulkan-localvqe" + nvidia-cuda-12: "vulkan-localvqe" + nvidia-cuda-13: "vulkan-localvqe" + intel: "vulkan-localvqe" + amd: "vulkan-localvqe" + vulkan: "vulkan-localvqe" + nvidia-l4t: "vulkan-localvqe" + nvidia-l4t-cuda-12: "vulkan-localvqe" + nvidia-l4t-cuda-13: "vulkan-localvqe" + # Apple Silicon: CPU build (LocalVQE has no Metal path); still arm64-native. + metal: "metal-localvqe" +- &privacyfilter + name: "privacy-filter" + alias: "privacy-filter" + icon: https://cdn-avatars.huggingface.co/v1/production/uploads/5fd5e18a90b6dc4633f6d292/QPiv8pt4JNxr0FdGnpFef.png + description: | + Standalone GGML engine (privacy-filter.cpp) for the OpenMed privacy-filter + PII/NER token-classification model family. It runs the openai-privacy-filter + architecture (a gpt-oss-style sparse-MoE bidirectional token classifier) on + stock upstream GGML — no llama.cpp coupling and no Python — and serves the + TokenClassify RPC (constrained BIOES Viterbi decode into UTF-8 byte-offset + entity spans) used by LocalAI's NER PII redaction tier. + urls: + - https://github.com/localai-org/privacy-filter.cpp + tags: + - token-classification + - ner + - pii + - privacy + - CPU + - GPU + license: apache-2.0 + # Builds: CPU (amd64+arm64 manifest), Vulkan (amd64) and CUDA 13 (amd64). + # Only a host that actually reports CUDA 13 gets the CUDA image (it bundles + # the CUDA 13 runtime and needs a recent driver); every other GPU — including + # NVIDIA without a CUDA-13 toolkit, AMD and Intel — routes to the Vulkan + # image, which only needs a Vulkan ICD. Everything else (incl. arm64/Jetson, + # where Vulkan/CUDA images are a future add) falls back to the CPU build, + # already fast for this ~50M-active-param model. + capabilities: + default: "cpu-privacy-filter" + nvidia: "vulkan-privacy-filter" + nvidia-cuda-12: "vulkan-privacy-filter" + nvidia-cuda-13: "cuda13-privacy-filter" + amd: "vulkan-privacy-filter" + intel: "vulkan-privacy-filter" + vulkan: "vulkan-privacy-filter" + metal: "metal-privacy-filter" +- &faster-whisper + icon: https://avatars.githubusercontent.com/u/1520500?s=200&v=4 + description: | + faster-whisper is a reimplementation of OpenAI's Whisper model using CTranslate2, which is a fast inference engine for Transformer models. + This implementation is up to 4 times faster than openai/whisper for the same accuracy while using less memory. The efficiency can be further improved with 8-bit quantization on both CPU and GPU. + urls: + - https://github.com/SYSTRAN/faster-whisper + tags: + - speech-to-text + - Whisper + license: MIT + name: "faster-whisper" + capabilities: + default: "cpu-faster-whisper" + nvidia: "cuda12-faster-whisper" + intel: "intel-faster-whisper" + amd: "rocm-faster-whisper" + metal: "metal-faster-whisper" + nvidia-cuda-13: "cuda13-faster-whisper" + nvidia-cuda-12: "cuda12-faster-whisper" + nvidia-l4t: "nvidia-l4t-arm64-faster-whisper" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-faster-whisper" +- &moonshine + description: | + Moonshine is a fast, accurate, and efficient speech-to-text transcription model using ONNX Runtime. + It provides real-time transcription capabilities with support for multiple model sizes and GPU acceleration. + urls: + - https://github.com/moonshine-ai/moonshine + tags: + - speech-to-text + - transcription + - ONNX + license: MIT + name: "moonshine" + alias: "moonshine" + capabilities: + nvidia: "cuda12-moonshine" + metal: "metal-moonshine" + default: "cpu-moonshine" + nvidia-cuda-13: "cuda13-moonshine" + nvidia-cuda-12: "cuda12-moonshine" +- &whisperx + description: | + WhisperX provides fast automatic speech recognition with word-level timestamps, speaker diarization, + and forced alignment. Built on faster-whisper and pyannote-audio for high-accuracy transcription + with speaker identification. + urls: + - https://github.com/m-bain/whisperX + tags: + - speech-to-text + - diarization + - whisperx + license: BSD-4-Clause + name: "whisperx" + alias: "whisperx" + capabilities: + nvidia: "cuda12-whisperx" + metal: "metal-whisperx" + default: "cpu-whisperx" + nvidia-cuda-13: "cuda13-whisperx" + nvidia-cuda-12: "cuda12-whisperx" + nvidia-l4t: "nvidia-l4t-arm64-whisperx" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-whisperx" +- &kokoro + icon: https://avatars.githubusercontent.com/u/166769057?v=4 + description: | + Kokoro is an open-weight TTS model with 82 million parameters. Despite its lightweight architecture, it delivers comparable quality to larger models while being significantly faster and more cost-efficient. With Apache-licensed weights, Kokoro can be deployed anywhere from production environments to personal projects. + urls: + - https://huggingface.co/hexgrad/Kokoro-82M + - https://github.com/hexgrad/kokoro + tags: + - text-to-speech + - TTS + - LLM + license: apache-2.0 + alias: "kokoro" + name: "kokoro" + capabilities: + default: "cpu-kokoro" + nvidia: "cuda12-kokoro" + intel: "intel-kokoro" + amd: "rocm-kokoro" + nvidia-l4t: "nvidia-l4t-kokoro" + metal: "metal-kokoro" + nvidia-cuda-13: "cuda13-kokoro" + nvidia-cuda-12: "cuda12-kokoro" + nvidia-l4t-cuda-12: "nvidia-l4t-kokoro" +- &kokoros + icon: https://avatars.githubusercontent.com/u/166769057?v=4 + description: | + Kokoros is a pure Rust TTS backend using the Kokoro ONNX model (82M parameters). + It provides fast, high-quality text-to-speech with streaming support, built on + ONNX Runtime for efficient CPU inference. Supports English, Japanese, Mandarin + Chinese, and German. + urls: + - https://huggingface.co/hexgrad/Kokoro-82M + - https://github.com/lucasjinreal/Kokoros + tags: + - text-to-speech + - TTS + - Rust + - ONNX + license: apache-2.0 + alias: "kokoros" + name: "kokoros" + capabilities: + default: "cpu-kokoros" +- &coqui + urls: + - https://github.com/idiap/coqui-ai-TTS + description: | + 🐸 Coqui TTS is a library for advanced Text-to-Speech generation. + + 🚀 Pretrained models in +1100 languages. + + 🛠️ Tools for training new models and fine-tuning existing models in any language. + + 📚 Utilities for dataset analysis and curation. + tags: + - text-to-speech + - TTS + license: mpl-2.0 + name: "coqui" + alias: "coqui" + capabilities: + nvidia: "cuda12-coqui" + intel: "intel-coqui" + amd: "rocm-coqui" + metal: "metal-coqui" + nvidia-cuda-12: "cuda12-coqui" + icon: https://avatars.githubusercontent.com/u/1338804?s=200&v=4 +- &outetts + urls: + - https://github.com/OuteAI/outetts + description: | + OuteTTS is an open-weight text-to-speech model from OuteAI (OuteAI/OuteTTS-0.3-1B). + Supports custom speaker voices via audio path or default speakers. + tags: + - text-to-speech + - TTS + license: apache-2.0 + name: "outetts" + alias: "outetts" + capabilities: + default: "cpu-outetts" + nvidia-cuda-12: "cuda12-outetts" +- &chatterbox + urls: + - https://github.com/resemble-ai/chatterbox + description: | + Resemble AI's first production-grade open source TTS model. Licensed under MIT, Chatterbox has been benchmarked against leading closed-source systems like ElevenLabs, and is consistently preferred in side-by-side evaluations. + Whether you're working on memes, videos, games, or AI agents, Chatterbox brings your content to life. It's also the first open source TTS model to support emotion exaggeration control, a powerful feature that makes your voices stand out. + tags: + - text-to-speech + - TTS + license: MIT + icon: https://avatars.githubusercontent.com/u/49844015?s=200&v=4 + name: "chatterbox" + alias: "chatterbox" + capabilities: + nvidia: "cuda12-chatterbox" + metal: "metal-chatterbox" + default: "cpu-chatterbox" + nvidia-l4t: "nvidia-l4t-arm64-chatterbox" + nvidia-cuda-13: "cuda13-chatterbox" + nvidia-cuda-12: "cuda12-chatterbox" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-chatterbox" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-chatterbox" +- &vibevoice + urls: + - https://github.com/microsoft/VibeVoice + description: | + VibeVoice-Realtime is a real-time text-to-speech model that generates natural-sounding speech. + tags: + - text-to-speech + - TTS + license: mit + name: "vibevoice" + alias: "vibevoice" + capabilities: + nvidia: "cuda12-vibevoice" + intel: "intel-vibevoice" + amd: "rocm-vibevoice" + nvidia-l4t: "nvidia-l4t-vibevoice" + metal: "metal-vibevoice" + default: "cpu-vibevoice" + nvidia-cuda-13: "cuda13-vibevoice" + nvidia-cuda-12: "cuda12-vibevoice" + nvidia-l4t-cuda-12: "nvidia-l4t-vibevoice" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vibevoice" + icon: https://avatars.githubusercontent.com/u/6154722?s=200&v=4 +- &liquid-audio + urls: + - https://github.com/Liquid4All/liquid-audio + - https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B + description: | + LiquidAI LFM2 / LFM2.5 Audio Python backend. End-to-end speech-to-speech, ASR, + TTS (4 baked voices), and text chat from a single 1.5B model. Wraps the + upstream `liquid-audio` package; supports fine-tuning via LocalAI's + /v1/fine-tuning/jobs endpoint. + tags: + - speech-to-speech + - any-to-any + - text-to-speech + - speech-to-text + - TTS + - ASR + - realtime + license: LFM-Open-License-v1.0 + name: "liquid-audio" + alias: "liquid-audio" + capabilities: + nvidia: "cuda12-liquid-audio" + intel: "intel-liquid-audio" + amd: "rocm-liquid-audio" + default: "cpu-liquid-audio" + nvidia-cuda-13: "cuda13-liquid-audio" + nvidia-cuda-12: "cuda12-liquid-audio" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-liquid-audio" + metal: "metal-liquid-audio" + icon: https://cdn-avatars.huggingface.co/v1/production/uploads/61b8e2ba285851687028d395/7_6D7rWrLxp2hb6OHSV1p.png +- &qwen-tts + urls: + - https://github.com/QwenLM/Qwen3-TTS + description: | + Qwen3-TTS is a high-quality text-to-speech model supporting custom voice, voice design, and voice cloning. + tags: + - text-to-speech + - TTS + license: apache-2.0 + name: "qwen-tts" + alias: "qwen-tts" + capabilities: + nvidia: "cuda12-qwen-tts" + intel: "intel-qwen-tts" + amd: "rocm-qwen-tts" + nvidia-l4t: "nvidia-l4t-qwen-tts" + metal: "metal-qwen-tts" + default: "cpu-qwen-tts" + nvidia-cuda-13: "cuda13-qwen-tts" + nvidia-cuda-12: "cuda12-qwen-tts" + nvidia-l4t-cuda-12: "nvidia-l4t-qwen-tts" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-qwen-tts" + icon: https://cdn-avatars.huggingface.co/v1/production/uploads/620760a26e3b7210c2ff1943/-s1gyJfvbE1RgO5iBeNOi.png +- &fish-speech + urls: + - https://github.com/fishaudio/fish-speech + description: | + Fish Speech is a high-quality text-to-speech model supporting voice cloning via reference audio. + tags: + - text-to-speech + - TTS + - voice-cloning + license: apache-2.0 + name: "fish-speech" + alias: "fish-speech" + capabilities: + nvidia: "cuda12-fish-speech" + intel: "intel-fish-speech" + amd: "rocm-fish-speech" + nvidia-l4t: "nvidia-l4t-fish-speech" + default: "cpu-fish-speech" + nvidia-cuda-13: "cuda13-fish-speech" + nvidia-cuda-12: "cuda12-fish-speech" + nvidia-l4t-cuda-12: "nvidia-l4t-fish-speech" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-fish-speech" + icon: https://avatars.githubusercontent.com/u/148526220?s=200&v=4 +- &faster-qwen3-tts + urls: + - https://github.com/andimarafioti/faster-qwen3-tts + - https://pypi.org/project/faster-qwen3-tts/ + description: | + Real-time Qwen3-TTS inference using CUDA graph capture. Voice clone only; requires NVIDIA GPU with CUDA. + tags: + - text-to-speech + - TTS + - voice-clone + license: apache-2.0 + name: "faster-qwen3-tts" + alias: "faster-qwen3-tts" + capabilities: + nvidia: "cuda12-faster-qwen3-tts" + default: "cuda12-faster-qwen3-tts" + nvidia-cuda-13: "cuda13-faster-qwen3-tts" + nvidia-cuda-12: "cuda12-faster-qwen3-tts" + nvidia-l4t: "nvidia-l4t-faster-qwen3-tts" + nvidia-l4t-cuda-12: "nvidia-l4t-faster-qwen3-tts" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-faster-qwen3-tts" + icon: https://cdn-avatars.huggingface.co/v1/production/uploads/620760a26e3b7210c2ff1943/-s1gyJfvbE1RgO5iBeNOi.png +- &qwen-asr + urls: + - https://github.com/QwenLM/Qwen3-ASR + description: | + Qwen3-ASR is an automatic speech recognition model supporting multiple languages and batch inference. + tags: + - speech-recognition + - ASR + license: apache-2.0 + name: "qwen-asr" + alias: "qwen-asr" + capabilities: + nvidia: "cuda12-qwen-asr" + intel: "intel-qwen-asr" + amd: "rocm-qwen-asr" + nvidia-l4t: "nvidia-l4t-qwen-asr" + metal: "metal-qwen-asr" + default: "cpu-qwen-asr" + nvidia-cuda-13: "cuda13-qwen-asr" + nvidia-cuda-12: "cuda12-qwen-asr" + nvidia-l4t-cuda-12: "nvidia-l4t-qwen-asr" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-qwen-asr" + icon: https://cdn-avatars.huggingface.co/v1/production/uploads/620760a26e3b7210c2ff1943/-s1gyJfvbE1RgO5iBeNOi.png +- &nemo + urls: + - https://github.com/NVIDIA/NeMo + description: | + NVIDIA NEMO Toolkit for ASR provides state-of-the-art automatic speech recognition models including Parakeet models for various languages and use cases. + tags: + - speech-recognition + - ASR + - NVIDIA + license: apache-2.0 + name: "nemo" + alias: "nemo" + capabilities: + nvidia: "cuda12-nemo" + intel: "intel-nemo" + amd: "rocm-nemo" + metal: "metal-nemo" + default: "cpu-nemo" + nvidia-cuda-13: "cuda13-nemo" + nvidia-cuda-12: "cuda12-nemo" + icon: https://www.nvidia.com/favicon.ico +- &voxcpm + urls: + - https://github.com/ModelBest/VoxCPM + description: | + VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech. + tags: + - text-to-speech + - TTS + license: mit + name: "voxcpm" + alias: "voxcpm" + capabilities: + nvidia: "cuda12-voxcpm" + intel: "intel-voxcpm" + amd: "rocm-voxcpm" + metal: "metal-voxcpm" + default: "cpu-voxcpm" + nvidia-cuda-13: "cuda13-voxcpm" + nvidia-cuda-12: "cuda12-voxcpm" + icon: https://avatars.githubusercontent.com/u/6154722?s=200&v=4 +- &pocket-tts + urls: + - https://github.com/kyutai-labs/pocket-tts + description: | + Pocket TTS is a lightweight text-to-speech model designed to run efficiently on CPUs. + tags: + - text-to-speech + - TTS + license: mit + name: "pocket-tts" + alias: "pocket-tts" + capabilities: + nvidia: "cuda12-pocket-tts" + intel: "intel-pocket-tts" + amd: "rocm-pocket-tts" + nvidia-l4t: "nvidia-l4t-pocket-tts" + metal: "metal-pocket-tts" + default: "cpu-pocket-tts" + nvidia-cuda-13: "cuda13-pocket-tts" + nvidia-cuda-12: "cuda12-pocket-tts" + nvidia-l4t-cuda-12: "nvidia-l4t-pocket-tts" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-pocket-tts" + icon: https://avatars.githubusercontent.com/u/151010778?s=200&v=4 +- &piper + name: "piper" + icon: https://github.com/OHF-Voice/piper1-gpl/raw/main/etc/logo.png + urls: + - https://github.com/rhasspy/piper + - https://github.com/mudler/go-piper + license: MIT + description: | + A fast, local neural text to speech system + tags: + - text-to-speech + - TTS + capabilities: + default: "cpu-piper" + metal: "metal-piper" +- &opus + name: "opus" + alias: "opus" + capabilities: + default: "cpu-opus" + metal: "metal-opus" + urls: + - https://opus-codec.org/ + license: BSD-3-Clause + description: | + Opus audio codec backend for encoding and decoding audio. + Required for WebRTC transport in the Realtime API. + tags: + - audio-codec + - opus + - WebRTC + - realtime +- !!merge <<: *opus + name: "opus-development" + capabilities: + default: "cpu-opus-development" + metal: "metal-opus-development" +- &silero-vad + name: "silero-vad" + icon: https://user-images.githubusercontent.com/12515440/89997349-b3523080-dc94-11ea-9906-ca2e8bc50535.png + urls: + - https://github.com/snakers4/silero-vad + capabilities: + default: "cpu-silero-vad" + metal: "metal-silero-vad" + description: | + Silero VAD: pre-trained enterprise-grade Voice Activity Detector. + Silero VAD is a voice activity detection model that can be used to detect whether a given audio contains speech or not. + tags: + - voice-activity-detection + - VAD + - silero-vad + - CPU +- &local-store + name: "local-store" + urls: + - https://github.com/mudler/LocalAI + description: | + Local Store is a local-first, self-hosted, and open-source vector database. + tags: + - vector-database + - local-first + - open-source + - CPU + license: MIT + capabilities: + default: "cpu-local-store" + metal: "metal-local-store" +- &cloud-proxy + name: "cloud-proxy" + alias: "cloud-proxy" + urls: + - https://github.com/mudler/LocalAI/tree/master/backend/go/cloud-proxy + description: | + Forward OpenAI-compatible and Anthropic chat requests to external providers. + tags: + - text-to-text + - cloud + - proxy + - CPU + license: MIT + capabilities: + default: "cpu-cloud-proxy" + metal: "metal-cloud-proxy" +- &valkey-store + name: "valkey-store" + urls: + - https://github.com/mudler/LocalAI + description: | + Valkey Store is a Valkey Search (FT.*) backed vector store for LocalAI. It + persists vectors across restarts and supports opt-in HNSW indexing. Requires + a reachable Valkey Search server (valkey/valkey-bundle). + tags: + - vector-database + - valkey + - open-source + - CPU + license: MIT + capabilities: + default: "cpu-valkey-store" + metal: "metal-valkey-store" +- &kitten-tts + name: "kitten-tts" + urls: + - https://github.com/KittenML/KittenTTS + description: | + Kitten TTS is a text-to-speech model that can generate speech from text. + tags: + - text-to-speech + - TTS + license: apache-2.0 + capabilities: + default: "cpu-kitten-tts" + metal: "metal-kitten-tts" +- &neutts + name: "neutts" + urls: + - https://github.com/neuphonic/neutts-air + description: | + NeuTTS Air is the world’s first super-realistic, on-device, TTS speech language model with instant voice cloning. Built off a 0.5B LLM backbone, NeuTTS Air brings natural-sounding speech, real-time performance, built-in security and speaker cloning to your local device - unlocking a new category of embedded voice agents, assistants, toys, and compliance-safe apps. + tags: + - text-to-speech + - TTS + license: apache-2.0 + capabilities: + default: "cpu-neutts" + nvidia: "cuda12-neutts" + amd: "rocm-neutts" + nvidia-cuda-12: "cuda12-neutts" +- &sherpa-onnx + name: "sherpa-onnx" + alias: "sherpa-onnx" + urls: + - https://k2-fsa.github.io/sherpa/onnx/ + description: | + Sherpa-ONNX backend for text-to-speech (VITS, Matcha, Kokoro), speech-to-text (Whisper, Paraformer, SenseVoice, Omnilingual ASR CTC), and voice activity detection via ONNX Runtime. + Supports multi-speaker voices, 1600+ language ASR, and GPU acceleration. + tags: + - text-to-speech + - TTS + - speech-to-text + - ASR + capabilities: + default: "cpu-sherpa-onnx" + nvidia: "cuda12-sherpa-onnx" + nvidia-cuda-12: "cuda12-sherpa-onnx" + metal: "metal-sherpa-onnx" +- &supertonic + name: "supertonic" + alias: "supertonic" + urls: + - https://github.com/supertone-inc/supertonic + description: | + Supertonic backend: lightning-fast, on-device multilingual text-to-speech via ONNX Runtime. + Runs Supertone's flow-matching TTS model (Supertone/supertonic-3), 44.1kHz output, 31 languages, + multiple preset voice styles. No espeak-ng dependency. + tags: + - text-to-speech + - TTS + capabilities: + default: "cpu-supertonic" + metal: "metal-supertonic" +- !!merge <<: *neutts + name: "neutts-development" + capabilities: + default: "cpu-neutts-development" + nvidia: "cuda12-neutts-development" + amd: "rocm-neutts-development" + nvidia-cuda-12: "cuda12-neutts-development" +- !!merge <<: *llamacpp + name: "llama-cpp-development" + capabilities: + default: "cpu-llama-cpp-development" + nvidia: "cuda12-llama-cpp-development" + intel: "intel-sycl-f16-llama-cpp-development" + amd: "rocm-llama-cpp-development" + metal: "metal-llama-cpp-development" + vulkan: "vulkan-llama-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-llama-cpp-development" + nvidia-cuda-13: "cuda13-llama-cpp-development" + nvidia-cuda-12: "cuda12-llama-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-llama-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-llama-cpp-development" +- !!merge <<: *ikllamacpp + name: "ik-llama-cpp-development" + capabilities: + default: "cpu-ik-llama-cpp-development" +- !!merge <<: *turboquant + name: "turboquant-development" + capabilities: + default: "cpu-turboquant-development" + nvidia: "cuda12-turboquant-development" + intel: "intel-sycl-f16-turboquant-development" + amd: "rocm-turboquant-development" + vulkan: "vulkan-turboquant-development" + nvidia-l4t: "nvidia-l4t-arm64-turboquant-development" + nvidia-cuda-13: "cuda13-turboquant-development" + nvidia-cuda-12: "cuda12-turboquant-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-turboquant-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-turboquant-development" +- !!merge <<: *bonsai + name: "bonsai-development" + capabilities: + default: "cpu-bonsai-development" + nvidia: "cuda12-bonsai-development" + intel: "intel-sycl-f16-bonsai-development" + amd: "rocm-bonsai-development" + vulkan: "vulkan-bonsai-development" + nvidia-l4t: "nvidia-l4t-arm64-bonsai-development" + nvidia-cuda-13: "cuda13-bonsai-development" + nvidia-cuda-12: "cuda12-bonsai-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-bonsai-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-bonsai-development" +- !!merge <<: *ds4 + name: "ds4-development" + capabilities: + default: "cpu-ds4-development" + nvidia: "cuda13-ds4-development" + nvidia-cuda-13: "cuda13-ds4-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-ds4-development" + metal: "metal-ds4-development" + metal-darwin-arm64: "metal-ds4-development" +- !!merge <<: *audiocpp + name: "audio-cpp-development" + capabilities: + default: "cpu-audio-cpp-development" + nvidia: "cuda12-audio-cpp-development" + nvidia-cuda-12: "cuda12-audio-cpp-development" + nvidia-cuda-13: "cuda13-audio-cpp-development" + metal: "metal-audio-cpp-development" + metal-darwin-arm64: "metal-audio-cpp-development" +- !!merge <<: *stablediffusionggml + name: "stablediffusion-ggml-development" + capabilities: + default: "cpu-stablediffusion-ggml-development" + nvidia: "cuda12-stablediffusion-ggml-development" + intel: "intel-sycl-f16-stablediffusion-ggml-development" + amd: "rocm-stablediffusion-ggml-development" + vulkan: "vulkan-stablediffusion-ggml-development" + nvidia-l4t: "nvidia-l4t-arm64-stablediffusion-ggml-development" + metal: "metal-stablediffusion-ggml-development" + nvidia-cuda-13: "cuda13-stablediffusion-ggml-development" + nvidia-cuda-12: "cuda12-stablediffusion-ggml-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-stablediffusion-ggml-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-stablediffusion-ggml-development" +- !!merge <<: *trellis2cpp + name: "trellis2cpp-development" + capabilities: + default: "cpu-trellis2cpp-development" + nvidia: "cuda12-trellis2cpp-development" + vulkan: "vulkan-trellis2cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-trellis2cpp-development" + metal: "metal-trellis2cpp-development" + nvidia-cuda-13: "cuda13-trellis2cpp-development" + nvidia-cuda-12: "cuda12-trellis2cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-trellis2cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-trellis2cpp-development" +- !!merge <<: *neutts + name: "cpu-neutts" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-neutts" + mirrors: + - localai/localai-backends:latest-cpu-neutts +- !!merge <<: *neutts + name: "cuda12-neutts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-neutts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-neutts +- !!merge <<: *neutts + name: "rocm-neutts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-neutts" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-neutts +- !!merge <<: *neutts + name: "cpu-neutts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-neutts" + mirrors: + - localai/localai-backends:master-cpu-neutts +- !!merge <<: *neutts + name: "cuda12-neutts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-neutts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-neutts +- !!merge <<: *neutts + name: "rocm-neutts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-neutts" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-neutts +- !!merge <<: *mlx + name: "metal-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx +- !!merge <<: *mlx + name: "metal-mlx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-mlx +- !!merge <<: *mlx + name: "mlx-development" + capabilities: + default: "cpu-mlx-development" + nvidia: "cuda12-mlx-development" + metal: "metal-mlx-development" + nvidia-cuda-12: "cuda12-mlx-development" + nvidia-cuda-13: "cuda13-mlx-development" + nvidia-l4t: "nvidia-l4t-mlx-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-development" +- !!merge <<: *mlx-vlm + name: "metal-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-vlm" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx-vlm +- !!merge <<: *mlx-vlm + name: "metal-mlx-vlm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx-vlm" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-mlx-vlm +- !!merge <<: *mlx-vlm + name: "mlx-vlm-development" + capabilities: + default: "cpu-mlx-vlm-development" + nvidia: "cuda12-mlx-vlm-development" + metal: "metal-mlx-vlm-development" + nvidia-cuda-12: "cuda12-mlx-vlm-development" + nvidia-cuda-13: "cuda13-mlx-vlm-development" + nvidia-l4t: "nvidia-l4t-mlx-vlm-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-vlm-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-vlm-development" +- !!merge <<: *mlx-audio + name: "metal-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-audio" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx-audio +- !!merge <<: *mlx-audio + name: "metal-mlx-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx-audio" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-mlx-audio +- !!merge <<: *mlx-audio + name: "mlx-audio-development" + capabilities: + default: "cpu-mlx-audio-development" + nvidia: "cuda12-mlx-audio-development" + metal: "metal-mlx-audio-development" + nvidia-cuda-12: "cuda12-mlx-audio-development" + nvidia-cuda-13: "cuda13-mlx-audio-development" + nvidia-l4t: "nvidia-l4t-mlx-audio-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-audio-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-audio-development" +- !!merge <<: *mlx-distributed + name: "metal-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-mlx-distributed" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-mlx-distributed +- !!merge <<: *mlx-distributed + name: "metal-mlx-distributed-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-mlx-distributed" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-mlx-distributed +- !!merge <<: *mlx-distributed + name: "mlx-distributed-development" + capabilities: + default: "cpu-mlx-distributed-development" + nvidia: "cuda12-mlx-distributed-development" + metal: "metal-mlx-distributed-development" + nvidia-cuda-12: "cuda12-mlx-distributed-development" + nvidia-cuda-13: "cuda13-mlx-distributed-development" + nvidia-l4t: "nvidia-l4t-mlx-distributed-development" + nvidia-l4t-cuda-12: "nvidia-l4t-mlx-distributed-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-mlx-distributed-development" +## mlx +- !!merge <<: *mlx + name: "cpu-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-mlx" + mirrors: + - localai/localai-backends:latest-cpu-mlx +- !!merge <<: *mlx + name: "cpu-mlx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-mlx" + mirrors: + - localai/localai-backends:master-cpu-mlx +- !!merge <<: *mlx + name: "cuda12-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-mlx" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-mlx +- !!merge <<: *mlx + name: "cuda12-mlx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-mlx" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-mlx +- !!merge <<: *mlx + name: "cuda13-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-mlx" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-mlx +- !!merge <<: *mlx + name: "cuda13-mlx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-mlx" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-mlx +- !!merge <<: *mlx + name: "nvidia-l4t-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-mlx" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-mlx +- !!merge <<: *mlx + name: "nvidia-l4t-mlx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-mlx" + mirrors: + - localai/localai-backends:master-nvidia-l4t-mlx +- !!merge <<: *mlx + name: "cuda13-nvidia-l4t-arm64-mlx" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx +- !!merge <<: *mlx + name: "cuda13-nvidia-l4t-arm64-mlx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-mlx" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-mlx +## mlx-vlm +- !!merge <<: *mlx-vlm + name: "cpu-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-mlx-vlm" + mirrors: + - localai/localai-backends:latest-cpu-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cpu-mlx-vlm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-mlx-vlm" + mirrors: + - localai/localai-backends:master-cpu-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cuda12-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-mlx-vlm" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cuda12-mlx-vlm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-mlx-vlm" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cuda13-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-mlx-vlm" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cuda13-mlx-vlm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-mlx-vlm" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-mlx-vlm +- !!merge <<: *mlx-vlm + name: "nvidia-l4t-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-mlx-vlm" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-mlx-vlm +- !!merge <<: *mlx-vlm + name: "nvidia-l4t-mlx-vlm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-mlx-vlm" + mirrors: + - localai/localai-backends:master-nvidia-l4t-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cuda13-nvidia-l4t-arm64-mlx-vlm" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx-vlm" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx-vlm +- !!merge <<: *mlx-vlm + name: "cuda13-nvidia-l4t-arm64-mlx-vlm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-vlm" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-vlm +## mlx-audio +- !!merge <<: *mlx-audio + name: "cpu-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-mlx-audio" + mirrors: + - localai/localai-backends:latest-cpu-mlx-audio +- !!merge <<: *mlx-audio + name: "cpu-mlx-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-mlx-audio" + mirrors: + - localai/localai-backends:master-cpu-mlx-audio +- !!merge <<: *mlx-audio + name: "cuda12-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-mlx-audio" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-mlx-audio +- !!merge <<: *mlx-audio + name: "cuda12-mlx-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-mlx-audio" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-mlx-audio +- !!merge <<: *mlx-audio + name: "cuda13-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-mlx-audio" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-mlx-audio +- !!merge <<: *mlx-audio + name: "cuda13-mlx-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-mlx-audio" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-mlx-audio +- !!merge <<: *mlx-audio + name: "nvidia-l4t-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-mlx-audio" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-mlx-audio +- !!merge <<: *mlx-audio + name: "nvidia-l4t-mlx-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-mlx-audio" + mirrors: + - localai/localai-backends:master-nvidia-l4t-mlx-audio +- !!merge <<: *mlx-audio + name: "cuda13-nvidia-l4t-arm64-mlx-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx-audio" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx-audio +- !!merge <<: *mlx-audio + name: "cuda13-nvidia-l4t-arm64-mlx-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-audio" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-audio +## mlx-distributed +- !!merge <<: *mlx-distributed + name: "cpu-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-mlx-distributed" + mirrors: + - localai/localai-backends:latest-cpu-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cpu-mlx-distributed-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-mlx-distributed" + mirrors: + - localai/localai-backends:master-cpu-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cuda12-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-mlx-distributed" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cuda12-mlx-distributed-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-mlx-distributed" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cuda13-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-mlx-distributed" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cuda13-mlx-distributed-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-mlx-distributed" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-mlx-distributed +- !!merge <<: *mlx-distributed + name: "nvidia-l4t-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-mlx-distributed" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-mlx-distributed +- !!merge <<: *mlx-distributed + name: "nvidia-l4t-mlx-distributed-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-mlx-distributed" + mirrors: + - localai/localai-backends:master-nvidia-l4t-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cuda13-nvidia-l4t-arm64-mlx-distributed" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx-distributed" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-mlx-distributed +- !!merge <<: *mlx-distributed + name: "cuda13-nvidia-l4t-arm64-mlx-distributed-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-distributed" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-mlx-distributed +- !!merge <<: *kitten-tts + name: "cpu-kitten-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-kitten-tts" + mirrors: + - localai/localai-backends:latest-kitten-tts +- !!merge <<: *kitten-tts + name: "cpu-kitten-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-kitten-tts" + mirrors: + - localai/localai-backends:master-kitten-tts +- !!merge <<: *kitten-tts + name: "kitten-tts-development" + capabilities: + default: "cpu-kitten-tts-development" + metal: "metal-kitten-tts-development" +- !!merge <<: *kitten-tts + name: "metal-kitten-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-kitten-tts" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-kitten-tts +- !!merge <<: *kitten-tts + name: "metal-kitten-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-kitten-tts" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-kitten-tts +- !!merge <<: *local-store + name: "cpu-local-store" + alias: "local-store" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-local-store" + mirrors: + - localai/localai-backends:latest-cpu-local-store +- !!merge <<: *local-store + name: "cpu-local-store-development" + alias: "local-store" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-local-store" + mirrors: + - localai/localai-backends:master-cpu-local-store +- !!merge <<: *local-store + name: "local-store-development" + alias: "local-store" + capabilities: + default: "cpu-local-store-development" + metal: "metal-local-store-development" +- !!merge <<: *local-store + name: "metal-local-store" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-local-store" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-local-store +- !!merge <<: *local-store + name: "metal-local-store-development" + alias: "local-store" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-local-store" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-local-store +- !!merge <<: *cloud-proxy + name: "cpu-cloud-proxy" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-cloud-proxy" + mirrors: + - localai/localai-backends:latest-cpu-cloud-proxy +- !!merge <<: *cloud-proxy + name: "cpu-cloud-proxy-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-cloud-proxy" + mirrors: + - localai/localai-backends:master-cpu-cloud-proxy +- !!merge <<: *cloud-proxy + name: "cloud-proxy-development" + capabilities: + default: "cpu-cloud-proxy-development" + metal: "metal-cloud-proxy-development" +- !!merge <<: *cloud-proxy + name: "metal-cloud-proxy" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-cloud-proxy" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-cloud-proxy +- !!merge <<: *cloud-proxy + name: "metal-cloud-proxy-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-cloud-proxy" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-cloud-proxy +- !!merge <<: *valkey-store + name: "cpu-valkey-store" + alias: "valkey-store" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-valkey-store" + mirrors: + - localai/localai-backends:latest-cpu-valkey-store +- !!merge <<: *valkey-store + name: "cpu-valkey-store-development" + alias: "valkey-store" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-valkey-store" + mirrors: + - localai/localai-backends:master-cpu-valkey-store +- !!merge <<: *valkey-store + name: "valkey-store-development" + alias: "valkey-store" + capabilities: + default: "cpu-valkey-store-development" + metal: "metal-valkey-store-development" +- !!merge <<: *valkey-store + name: "metal-valkey-store" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-valkey-store" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-valkey-store +- !!merge <<: *valkey-store + name: "metal-valkey-store-development" + alias: "valkey-store" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-valkey-store" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-valkey-store +- !!merge <<: *opus + name: "cpu-opus" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-opus" + mirrors: + - localai/localai-backends:latest-cpu-opus +- !!merge <<: *opus + name: "cpu-opus-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-opus" + mirrors: + - localai/localai-backends:master-cpu-opus +- !!merge <<: *opus + name: "metal-opus" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-opus" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-opus +- !!merge <<: *opus + name: "metal-opus-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-opus" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-opus +- !!merge <<: *silero-vad + name: "cpu-silero-vad" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-silero-vad" + mirrors: + - localai/localai-backends:latest-cpu-silero-vad +- !!merge <<: *silero-vad + name: "cpu-silero-vad-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-silero-vad" + mirrors: + - localai/localai-backends:master-cpu-silero-vad +- !!merge <<: *silero-vad + name: "silero-vad-development" + capabilities: + default: "cpu-silero-vad-development" + metal: "metal-silero-vad-development" +- !!merge <<: *silero-vad + name: "metal-silero-vad" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-silero-vad" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-silero-vad +- !!merge <<: *silero-vad + name: "metal-silero-vad-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-silero-vad" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-silero-vad +- !!merge <<: *piper + name: "cpu-piper" + uri: "quay.io/go-skynet/local-ai-backends:latest-piper" + mirrors: + - localai/localai-backends:latest-piper +- !!merge <<: *piper + name: "cpu-piper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-piper" + mirrors: + - localai/localai-backends:master-piper +- !!merge <<: *piper + name: "piper-development" + capabilities: + default: "cpu-piper-development" + metal: "metal-piper-development" +- !!merge <<: *piper + name: "metal-piper" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-piper" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-piper +- !!merge <<: *piper + name: "metal-piper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-piper" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-piper +## llama-cpp +- !!merge <<: *llamacpp + name: "nvidia-l4t-arm64-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-llama-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-llama-cpp +- !!merge <<: *llamacpp + name: "nvidia-l4t-arm64-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-llama-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-llama-cpp +- !!merge <<: *llamacpp + name: "cuda13-nvidia-l4t-arm64-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-llama-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-llama-cpp +- !!merge <<: *llamacpp + name: "cuda13-nvidia-l4t-arm64-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-llama-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-llama-cpp +- !!merge <<: *llamacpp + name: "cpu-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-llama-cpp" + mirrors: + - localai/localai-backends:latest-cpu-llama-cpp +- !!merge <<: *llamacpp + name: "cpu-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-llama-cpp" + mirrors: + - localai/localai-backends:master-cpu-llama-cpp +- !!merge <<: *llamacpp + name: "cuda12-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-llama-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-llama-cpp +- !!merge <<: *llamacpp + name: "rocm-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-llama-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-llama-cpp +- !!merge <<: *llamacpp + name: "intel-sycl-f32-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-llama-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-llama-cpp +- !!merge <<: *llamacpp + name: "intel-sycl-f16-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-llama-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-llama-cpp +- !!merge <<: *llamacpp + name: "vulkan-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-llama-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-llama-cpp +- !!merge <<: *llamacpp + name: "vulkan-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-llama-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-llama-cpp +- !!merge <<: *llamacpp + name: "metal-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-llama-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-llama-cpp +- !!merge <<: *llamacpp + name: "metal-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-llama-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-llama-cpp +- !!merge <<: *llamacpp + name: "cuda12-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-llama-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-llama-cpp +- !!merge <<: *llamacpp + name: "rocm-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-llama-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-llama-cpp +- !!merge <<: *llamacpp + name: "intel-sycl-f32-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-llama-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-llama-cpp +- !!merge <<: *llamacpp + name: "intel-sycl-f16-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-llama-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-llama-cpp +- !!merge <<: *llamacpp + name: "cuda13-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-llama-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-llama-cpp +- !!merge <<: *llamacpp + name: "cuda13-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-llama-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-llama-cpp +## ik-llama-cpp +- !!merge <<: *ikllamacpp + name: "cpu-ik-llama-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-ik-llama-cpp" + mirrors: + - localai/localai-backends:latest-cpu-ik-llama-cpp +- !!merge <<: *ikllamacpp + name: "cpu-ik-llama-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-ik-llama-cpp" + mirrors: + - localai/localai-backends:master-cpu-ik-llama-cpp +## turboquant +- !!merge <<: *turboquant + name: "cpu-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-turboquant" + mirrors: + - localai/localai-backends:latest-cpu-turboquant +- !!merge <<: *turboquant + name: "cpu-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-turboquant" + mirrors: + - localai/localai-backends:master-cpu-turboquant +- !!merge <<: *turboquant + name: "cuda12-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-turboquant" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-turboquant +- !!merge <<: *turboquant + name: "cuda12-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-turboquant" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-turboquant +- !!merge <<: *turboquant + name: "cuda13-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-turboquant" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-turboquant +- !!merge <<: *turboquant + name: "cuda13-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-turboquant" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-turboquant +- !!merge <<: *turboquant + name: "rocm-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-turboquant" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-turboquant +- !!merge <<: *turboquant + name: "rocm-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-turboquant" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-turboquant +- !!merge <<: *turboquant + name: "intel-sycl-f32-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-turboquant" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-turboquant +- !!merge <<: *turboquant + name: "intel-sycl-f32-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-turboquant" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-turboquant +- !!merge <<: *turboquant + name: "intel-sycl-f16-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-turboquant" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-turboquant +- !!merge <<: *turboquant + name: "intel-sycl-f16-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-turboquant" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-turboquant +- !!merge <<: *turboquant + name: "vulkan-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-turboquant" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-turboquant +- !!merge <<: *turboquant + name: "vulkan-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-turboquant" + mirrors: + - localai/localai-backends:master-gpu-vulkan-turboquant +- !!merge <<: *turboquant + name: "nvidia-l4t-arm64-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-turboquant" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-turboquant +- !!merge <<: *turboquant + name: "nvidia-l4t-arm64-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-turboquant" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-turboquant +- !!merge <<: *turboquant + name: "cuda13-nvidia-l4t-arm64-turboquant" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-turboquant" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-turboquant +- !!merge <<: *turboquant + name: "cuda13-nvidia-l4t-arm64-turboquant-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-turboquant" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-turboquant +## bonsai +- !!merge <<: *bonsai + name: "cpu-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-bonsai" + mirrors: + - localai/localai-backends:latest-cpu-bonsai +- !!merge <<: *bonsai + name: "cpu-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-bonsai" + mirrors: + - localai/localai-backends:master-cpu-bonsai +- !!merge <<: *bonsai + name: "cuda12-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-bonsai" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-bonsai +- !!merge <<: *bonsai + name: "cuda12-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-bonsai" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-bonsai +- !!merge <<: *bonsai + name: "cuda13-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-bonsai" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-bonsai +- !!merge <<: *bonsai + name: "cuda13-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-bonsai" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-bonsai +- !!merge <<: *bonsai + name: "rocm-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-bonsai" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-bonsai +- !!merge <<: *bonsai + name: "rocm-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-bonsai" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-bonsai +- !!merge <<: *bonsai + name: "intel-sycl-f32-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-bonsai" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-bonsai +- !!merge <<: *bonsai + name: "intel-sycl-f32-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-bonsai" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-bonsai +- !!merge <<: *bonsai + name: "intel-sycl-f16-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-bonsai" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-bonsai +- !!merge <<: *bonsai + name: "intel-sycl-f16-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-bonsai" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-bonsai +- !!merge <<: *bonsai + name: "vulkan-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-bonsai" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-bonsai +- !!merge <<: *bonsai + name: "vulkan-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-bonsai" + mirrors: + - localai/localai-backends:master-gpu-vulkan-bonsai +- !!merge <<: *bonsai + name: "nvidia-l4t-arm64-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-bonsai" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-bonsai +- !!merge <<: *bonsai + name: "nvidia-l4t-arm64-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-bonsai" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-bonsai +- !!merge <<: *bonsai + name: "cuda13-nvidia-l4t-arm64-bonsai" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-bonsai" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-bonsai +- !!merge <<: *bonsai + name: "cuda13-nvidia-l4t-arm64-bonsai-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-bonsai" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-bonsai +## ds4 +- !!merge <<: *ds4 + name: "cpu-ds4" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-ds4" + mirrors: + - localai/localai-backends:latest-cpu-ds4 +- !!merge <<: *ds4 + name: "cpu-ds4-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-ds4" + mirrors: + - localai/localai-backends:master-cpu-ds4 +- !!merge <<: *ds4 + name: "cuda13-ds4" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-ds4" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-ds4 +- !!merge <<: *ds4 + name: "cuda13-ds4-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-ds4" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-ds4 +- !!merge <<: *ds4 + name: "cuda13-nvidia-l4t-arm64-ds4" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-ds4" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-ds4 +- !!merge <<: *ds4 + name: "cuda13-nvidia-l4t-arm64-ds4-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-ds4" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-ds4 +- !!merge <<: *ds4 + name: "metal-ds4" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-ds4" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-ds4 +- !!merge <<: *ds4 + name: "metal-ds4-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-ds4" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-ds4 +## whisper +- !!merge <<: *whispercpp + name: "whisper-development" + capabilities: + default: "cpu-whisper-development" + nvidia: "cuda12-whisper-development" + intel: "intel-sycl-f16-whisper-development" + metal: "metal-whisper-development" + amd: "rocm-whisper-development" + vulkan: "vulkan-whisper-development" + nvidia-l4t: "nvidia-l4t-arm64-whisper-development" + nvidia-cuda-13: "cuda13-whisper-development" + nvidia-cuda-12: "cuda12-whisper-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-whisper-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-whisper-development" +- !!merge <<: *whispercpp + name: "nvidia-l4t-arm64-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-whisper" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-whisper +- !!merge <<: *whispercpp + name: "nvidia-l4t-arm64-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-whisper" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-whisper +- !!merge <<: *whispercpp + name: "cuda13-nvidia-l4t-arm64-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-whisper" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-whisper +- !!merge <<: *whispercpp + name: "cuda13-nvidia-l4t-arm64-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-whisper" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-whisper +- !!merge <<: *whispercpp + name: "cpu-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-whisper" + mirrors: + - localai/localai-backends:latest-cpu-whisper +- !!merge <<: *whispercpp + name: "metal-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-whisper" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-whisper +- !!merge <<: *whispercpp + name: "metal-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-whisper" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-whisper +- !!merge <<: *whispercpp + name: "cpu-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-whisper" + mirrors: + - localai/localai-backends:master-cpu-whisper +- !!merge <<: *whispercpp + name: "cuda12-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-whisper" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-whisper +- !!merge <<: *whispercpp + name: "rocm-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-whisper" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-whisper +- !!merge <<: *whispercpp + name: "intel-sycl-f32-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-whisper" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-whisper +- !!merge <<: *whispercpp + name: "intel-sycl-f16-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-whisper" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-whisper +- !!merge <<: *whispercpp + name: "vulkan-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-whisper" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-whisper +- !!merge <<: *whispercpp + name: "vulkan-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-whisper" + mirrors: + - localai/localai-backends:master-gpu-vulkan-whisper +- !!merge <<: *whispercpp + name: "metal-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-whisper" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-whisper +- !!merge <<: *whispercpp + name: "metal-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-whisper" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-whisper +- !!merge <<: *whispercpp + name: "cuda12-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-whisper" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-whisper +- !!merge <<: *whispercpp + name: "rocm-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-whisper" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-whisper +- !!merge <<: *whispercpp + name: "intel-sycl-f32-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-whisper" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-whisper +- !!merge <<: *whispercpp + name: "intel-sycl-f16-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-whisper" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-whisper +- !!merge <<: *whispercpp + name: "cuda13-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-whisper" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-whisper +- !!merge <<: *whispercpp + name: "cuda13-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-whisper" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-whisper +## crispasr +- !!merge <<: *crispasr + name: "crispasr-development" + capabilities: + default: "cpu-crispasr-development" + nvidia: "cuda12-crispasr-development" + intel: "intel-sycl-f16-crispasr-development" + metal: "metal-crispasr-development" + amd: "rocm-crispasr-development" + vulkan: "vulkan-crispasr-development" + nvidia-l4t: "nvidia-l4t-arm64-crispasr-development" + nvidia-cuda-13: "cuda13-crispasr-development" + nvidia-cuda-12: "cuda12-crispasr-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-crispasr-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-crispasr-development" +- !!merge <<: *crispasr + name: "nvidia-l4t-arm64-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-crispasr" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-crispasr +- !!merge <<: *crispasr + name: "nvidia-l4t-arm64-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-crispasr" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-crispasr +- !!merge <<: *crispasr + name: "cuda13-nvidia-l4t-arm64-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-crispasr" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-crispasr +- !!merge <<: *crispasr + name: "cuda13-nvidia-l4t-arm64-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-crispasr" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-crispasr +- !!merge <<: *crispasr + name: "cpu-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-crispasr" + mirrors: + - localai/localai-backends:latest-cpu-crispasr +- !!merge <<: *crispasr + name: "metal-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-crispasr" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-crispasr +- !!merge <<: *crispasr + name: "metal-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-crispasr" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-crispasr +- !!merge <<: *crispasr + name: "cpu-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-crispasr" + mirrors: + - localai/localai-backends:master-cpu-crispasr +- !!merge <<: *crispasr + name: "cuda12-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-crispasr" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-crispasr +- !!merge <<: *crispasr + name: "rocm-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-crispasr" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-crispasr +- !!merge <<: *crispasr + name: "intel-sycl-f32-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-crispasr" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-crispasr +- !!merge <<: *crispasr + name: "intel-sycl-f16-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-crispasr" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-crispasr +- !!merge <<: *crispasr + name: "vulkan-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-crispasr" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-crispasr +- !!merge <<: *crispasr + name: "vulkan-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-crispasr" + mirrors: + - localai/localai-backends:master-gpu-vulkan-crispasr +- !!merge <<: *crispasr + name: "metal-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-crispasr" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-crispasr +- !!merge <<: *crispasr + name: "metal-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-crispasr" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-crispasr +- !!merge <<: *crispasr + name: "cuda12-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-crispasr" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-crispasr +- !!merge <<: *crispasr + name: "rocm-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-crispasr" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-crispasr +- !!merge <<: *crispasr + name: "intel-sycl-f32-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-crispasr" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-crispasr +- !!merge <<: *crispasr + name: "intel-sycl-f16-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-crispasr" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-crispasr +- !!merge <<: *crispasr + name: "cuda13-crispasr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-crispasr" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-crispasr +- !!merge <<: *crispasr + name: "cuda13-crispasr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-crispasr" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-crispasr +## parakeet-cpp +- !!merge <<: *parakeetcpp + name: "parakeet-cpp-development" + capabilities: + default: "cpu-parakeet-cpp-development" + nvidia: "cuda12-parakeet-cpp-development" + intel: "intel-sycl-f16-parakeet-cpp-development" + metal: "metal-parakeet-cpp-development" + amd: "rocm-parakeet-cpp-development" + vulkan: "vulkan-parakeet-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-parakeet-cpp-development" + nvidia-cuda-13: "cuda13-parakeet-cpp-development" + nvidia-cuda-12: "cuda12-parakeet-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-parakeet-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-parakeet-cpp-development" +- !!merge <<: *parakeetcpp + name: "nvidia-l4t-arm64-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "nvidia-l4t-arm64-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-parakeet-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cuda13-nvidia-l4t-arm64-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cuda13-nvidia-l4t-arm64-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-parakeet-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cpu-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-cpu-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cpu-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-parakeet-cpp" + mirrors: + - localai/localai-backends:master-cpu-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "metal-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "metal-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-parakeet-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cuda12-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cuda12-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-parakeet-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "rocm-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "rocm-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-parakeet-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "intel-sycl-f32-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "intel-sycl-f32-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-parakeet-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "intel-sycl-f16-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "intel-sycl-f16-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-parakeet-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "vulkan-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "vulkan-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-parakeet-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cuda13-parakeet-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-parakeet-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-parakeet-cpp +- !!merge <<: *parakeetcpp + name: "cuda13-parakeet-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-parakeet-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-parakeet-cpp +## nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "nemo-speech-cpp-development" + capabilities: + default: "cpu-nemo-speech-cpp-development" + nvidia: "cuda12-nemo-speech-cpp-development" + metal: "metal-nemo-speech-cpp-development" + vulkan: "vulkan-nemo-speech-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-nemo-speech-cpp-development" + nvidia-cuda-13: "cuda13-nemo-speech-cpp-development" + nvidia-cuda-12: "cuda12-nemo-speech-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-nemo-speech-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-nemo-speech-cpp-development" +- !!merge <<: *nemospeechcpp + name: "cpu-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-cpu-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cpu-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-cpu-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cuda12-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cuda12-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cuda13-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cuda13-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "vulkan-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "vulkan-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "nvidia-l4t-arm64-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "nvidia-l4t-arm64-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cuda13-nvidia-l4t-arm64-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "cuda13-nvidia-l4t-arm64-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "metal-nemo-speech-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-nemo-speech-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-nemo-speech-cpp +- !!merge <<: *nemospeechcpp + name: "metal-nemo-speech-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-nemo-speech-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-nemo-speech-cpp +## moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "moss-transcribe-cpp-development" + capabilities: + default: "cpu-moss-transcribe-cpp-development" + nvidia: "cuda12-moss-transcribe-cpp-development" + intel: "intel-sycl-f16-moss-transcribe-cpp-development" + metal: "metal-moss-transcribe-cpp-development" + amd: "rocm-moss-transcribe-cpp-development" + vulkan: "vulkan-moss-transcribe-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-moss-transcribe-cpp-development" + nvidia-cuda-13: "cuda13-moss-transcribe-cpp-development" + nvidia-cuda-12: "cuda12-moss-transcribe-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-moss-transcribe-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-moss-transcribe-cpp-development" +- !!merge <<: *mosstranscribecpp + name: "nvidia-l4t-arm64-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "nvidia-l4t-arm64-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cuda13-nvidia-l4t-arm64-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cuda13-nvidia-l4t-arm64-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cpu-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-cpu-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cpu-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-cpu-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "metal-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "metal-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cuda12-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cuda12-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "rocm-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "rocm-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "intel-sycl-f32-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "intel-sycl-f32-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "intel-sycl-f16-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "intel-sycl-f16-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "vulkan-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "vulkan-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cuda13-moss-transcribe-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-moss-transcribe-cpp +- !!merge <<: *mosstranscribecpp + name: "cuda13-moss-transcribe-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-moss-transcribe-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-moss-transcribe-cpp +## ced +- !!merge <<: *ced + name: "ced-development" + capabilities: + default: "cpu-ced-development" + nvidia: "cuda12-ced-development" + intel: "intel-sycl-f16-ced-development" + metal: "metal-ced-development" + amd: "rocm-ced-development" + vulkan: "vulkan-ced-development" + nvidia-l4t: "nvidia-l4t-arm64-ced-development" + nvidia-cuda-13: "cuda13-ced-development" + nvidia-cuda-12: "cuda12-ced-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-ced-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-ced-development" +- !!merge <<: *ced + name: "nvidia-l4t-arm64-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-ced" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-ced +- !!merge <<: *ced + name: "nvidia-l4t-arm64-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-ced" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-ced +- !!merge <<: *ced + name: "cuda13-nvidia-l4t-arm64-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-ced" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-ced +- !!merge <<: *ced + name: "cuda13-nvidia-l4t-arm64-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-ced" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-ced +- !!merge <<: *ced + name: "cpu-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-ced" + mirrors: + - localai/localai-backends:latest-cpu-ced +- !!merge <<: *ced + name: "cpu-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-ced" + mirrors: + - localai/localai-backends:master-cpu-ced +- !!merge <<: *ced + name: "metal-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-ced" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-ced +- !!merge <<: *ced + name: "metal-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-ced" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-ced +- !!merge <<: *ced + name: "cuda12-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-ced" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-ced +- !!merge <<: *ced + name: "cuda12-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-ced" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-ced +- !!merge <<: *ced + name: "rocm-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-ced" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-ced +- !!merge <<: *ced + name: "rocm-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-ced" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-ced +- !!merge <<: *ced + name: "intel-sycl-f32-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-ced" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-ced +- !!merge <<: *ced + name: "intel-sycl-f32-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-ced" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-ced +- !!merge <<: *ced + name: "intel-sycl-f16-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-ced" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-ced +- !!merge <<: *ced + name: "intel-sycl-f16-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-ced" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-ced +- !!merge <<: *ced + name: "vulkan-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-ced" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-ced +- !!merge <<: *ced + name: "vulkan-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-ced" + mirrors: + - localai/localai-backends:master-gpu-vulkan-ced +- !!merge <<: *ced + name: "cuda13-ced" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-ced" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-ced +- !!merge <<: *ced + name: "cuda13-ced-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-ced" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-ced +## voice-detect +- !!merge <<: *voicedetect + name: "voice-detect-development" + capabilities: + default: "cpu-voice-detect-development" + nvidia: "cuda12-voice-detect-development" + intel: "intel-sycl-f16-voice-detect-development" + metal: "metal-voice-detect-development" + amd: "rocm-voice-detect-development" + vulkan: "vulkan-voice-detect-development" + nvidia-l4t: "nvidia-l4t-arm64-voice-detect-development" + nvidia-cuda-13: "cuda13-voice-detect-development" + nvidia-cuda-12: "cuda12-voice-detect-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-voice-detect-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-voice-detect-development" +- !!merge <<: *voicedetect + name: "nvidia-l4t-arm64-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-voice-detect" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-voice-detect +- !!merge <<: *voicedetect + name: "nvidia-l4t-arm64-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-voice-detect" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-voice-detect +- !!merge <<: *voicedetect + name: "cuda13-nvidia-l4t-arm64-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-voice-detect" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-voice-detect +- !!merge <<: *voicedetect + name: "cuda13-nvidia-l4t-arm64-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-voice-detect" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-voice-detect +- !!merge <<: *voicedetect + name: "cpu-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-voice-detect" + mirrors: + - localai/localai-backends:latest-cpu-voice-detect +- !!merge <<: *voicedetect + name: "cpu-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-voice-detect" + mirrors: + - localai/localai-backends:master-cpu-voice-detect +- !!merge <<: *voicedetect + name: "metal-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-voice-detect" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-voice-detect +- !!merge <<: *voicedetect + name: "metal-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-voice-detect" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-voice-detect +- !!merge <<: *voicedetect + name: "cuda12-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-voice-detect" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-voice-detect +- !!merge <<: *voicedetect + name: "cuda12-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-voice-detect" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-voice-detect +- !!merge <<: *voicedetect + name: "rocm-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-voice-detect" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-voice-detect +- !!merge <<: *voicedetect + name: "rocm-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-voice-detect" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-voice-detect +- !!merge <<: *voicedetect + name: "intel-sycl-f32-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-voice-detect" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-voice-detect +- !!merge <<: *voicedetect + name: "intel-sycl-f32-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-voice-detect" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-voice-detect +- !!merge <<: *voicedetect + name: "intel-sycl-f16-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-voice-detect" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-voice-detect +- !!merge <<: *voicedetect + name: "intel-sycl-f16-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-voice-detect" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-voice-detect +- !!merge <<: *voicedetect + name: "vulkan-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-voice-detect" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-voice-detect +- !!merge <<: *voicedetect + name: "vulkan-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-voice-detect" + mirrors: + - localai/localai-backends:master-gpu-vulkan-voice-detect +- !!merge <<: *voicedetect + name: "cuda13-voice-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-voice-detect" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-voice-detect +- !!merge <<: *voicedetect + name: "cuda13-voice-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-voice-detect" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-voice-detect +## face-detect +- !!merge <<: *facedetect + name: "face-detect-development" + capabilities: + default: "cpu-face-detect-development" + nvidia: "cuda12-face-detect-development" + intel: "intel-sycl-f16-face-detect-development" + metal: "metal-face-detect-development" + amd: "rocm-face-detect-development" + vulkan: "vulkan-face-detect-development" + nvidia-l4t: "nvidia-l4t-arm64-face-detect-development" + nvidia-cuda-13: "cuda13-face-detect-development" + nvidia-cuda-12: "cuda12-face-detect-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-face-detect-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-face-detect-development" +- !!merge <<: *facedetect + name: "nvidia-l4t-arm64-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-face-detect" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-face-detect +- !!merge <<: *facedetect + name: "nvidia-l4t-arm64-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-face-detect" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-face-detect +- !!merge <<: *facedetect + name: "cuda13-nvidia-l4t-arm64-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-face-detect" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-face-detect +- !!merge <<: *facedetect + name: "cuda13-nvidia-l4t-arm64-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-face-detect" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-face-detect +- !!merge <<: *facedetect + name: "cpu-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-face-detect" + mirrors: + - localai/localai-backends:latest-cpu-face-detect +- !!merge <<: *facedetect + name: "cpu-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-face-detect" + mirrors: + - localai/localai-backends:master-cpu-face-detect +- !!merge <<: *facedetect + name: "metal-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-face-detect" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-face-detect +- !!merge <<: *facedetect + name: "metal-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-face-detect" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-face-detect +- !!merge <<: *facedetect + name: "cuda12-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-face-detect" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-face-detect +- !!merge <<: *facedetect + name: "cuda12-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-face-detect" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-face-detect +- !!merge <<: *facedetect + name: "rocm-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-face-detect" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-face-detect +- !!merge <<: *facedetect + name: "rocm-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-face-detect" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-face-detect +- !!merge <<: *facedetect + name: "intel-sycl-f32-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-face-detect" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-face-detect +- !!merge <<: *facedetect + name: "intel-sycl-f32-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-face-detect" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-face-detect +- !!merge <<: *facedetect + name: "intel-sycl-f16-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-face-detect" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-face-detect +- !!merge <<: *facedetect + name: "intel-sycl-f16-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-face-detect" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-face-detect +- !!merge <<: *facedetect + name: "vulkan-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-face-detect" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-face-detect +- !!merge <<: *facedetect + name: "vulkan-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-face-detect" + mirrors: + - localai/localai-backends:master-gpu-vulkan-face-detect +- !!merge <<: *facedetect + name: "cuda13-face-detect" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-face-detect" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-face-detect +- !!merge <<: *facedetect + name: "cuda13-face-detect-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-face-detect" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-face-detect +## stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cpu-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-cpu-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cpu-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-cpu-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "metal-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "metal-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "vulkan-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "vulkan-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-gpu-vulkan-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cuda12-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "rocm-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "intel-sycl-f32-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-stablediffusion-ggml" +- !!merge <<: *stablediffusionggml + name: "intel-sycl-f16-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cuda12-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "rocm-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "intel-sycl-f32-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "intel-sycl-f16-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "nvidia-l4t-arm64-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "nvidia-l4t-arm64-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cuda13-nvidia-l4t-arm64-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cuda13-nvidia-l4t-arm64-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cuda13-stablediffusion-ggml" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-stablediffusion-ggml" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-stablediffusion-ggml +- !!merge <<: *stablediffusionggml + name: "cuda13-stablediffusion-ggml-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-stablediffusion-ggml" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-stablediffusion-ggml +## trellis2cpp +- !!merge <<: *trellis2cpp + name: "cpu-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-trellis2cpp" + mirrors: + - localai/localai-backends:latest-cpu-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cpu-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-trellis2cpp" + mirrors: + - localai/localai-backends:master-cpu-trellis2cpp +- !!merge <<: *trellis2cpp + name: "metal-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-trellis2cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-trellis2cpp +- !!merge <<: *trellis2cpp + name: "metal-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-trellis2cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-trellis2cpp +- !!merge <<: *trellis2cpp + name: "vulkan-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-trellis2cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-trellis2cpp +- !!merge <<: *trellis2cpp + name: "vulkan-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-trellis2cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cuda12-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-trellis2cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cuda12-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-trellis2cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cuda13-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-trellis2cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cuda13-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-trellis2cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-trellis2cpp +- !!merge <<: *trellis2cpp + name: "nvidia-l4t-arm64-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-trellis2cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-trellis2cpp +- !!merge <<: *trellis2cpp + name: "nvidia-l4t-arm64-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-trellis2cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cuda13-nvidia-l4t-arm64-trellis2cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-trellis2cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-trellis2cpp +- !!merge <<: *trellis2cpp + name: "cuda13-nvidia-l4t-arm64-trellis2cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-trellis2cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-trellis2cpp +## privacy-filter +- !!merge <<: *privacyfilter + name: "cpu-privacy-filter" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-privacy-filter" + mirrors: + - localai/localai-backends:latest-cpu-privacy-filter +- !!merge <<: *privacyfilter + name: "cpu-privacy-filter-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-privacy-filter" + mirrors: + - localai/localai-backends:master-cpu-privacy-filter +- !!merge <<: *privacyfilter + name: "vulkan-privacy-filter" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-privacy-filter" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-privacy-filter +- !!merge <<: *privacyfilter + name: "vulkan-privacy-filter-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-privacy-filter" + mirrors: + - localai/localai-backends:master-gpu-vulkan-privacy-filter +- !!merge <<: *privacyfilter + name: "metal-privacy-filter" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-privacy-filter" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-privacy-filter +- !!merge <<: *privacyfilter + name: "metal-privacy-filter-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-privacy-filter" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-privacy-filter +- !!merge <<: *privacyfilter + name: "cuda13-privacy-filter" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-privacy-filter" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-privacy-filter +- !!merge <<: *privacyfilter + name: "cuda13-privacy-filter-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-privacy-filter" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-privacy-filter +# vllm +- !!merge <<: *vllm + name: "vllm-development" + capabilities: + nvidia: "cuda12-vllm-development" + amd: "rocm-vllm-development" + intel: "intel-vllm-development" + nvidia-cuda-12: "cuda12-vllm-development" + nvidia-cuda-13: "cuda13-vllm-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vllm-development" + cpu: "cpu-vllm-development" + metal: "metal-vllm-development" +- !!merge <<: *vllm + name: "metal-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-vllm" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-vllm +- !!merge <<: *vllm + name: "metal-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-vllm" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-vllm +- !!merge <<: *vllm + name: "cuda12-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-vllm" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-vllm +- !!merge <<: *vllm + name: "cuda13-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-vllm" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-vllm +- !!merge <<: *vllm + name: "cuda13-nvidia-l4t-arm64-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-vllm" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-vllm +- !!merge <<: *vllm + name: "rocm-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-vllm" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-vllm +- !!merge <<: *vllm + name: "intel-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-vllm" + mirrors: + - localai/localai-backends:latest-gpu-intel-vllm +- !!merge <<: *vllm + name: "cpu-vllm" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-vllm" + mirrors: + - localai/localai-backends:latest-cpu-vllm +- !!merge <<: *vllm + name: "cuda12-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-vllm" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-vllm +- !!merge <<: *vllm + name: "cuda13-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-vllm" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-vllm +- !!merge <<: *vllm + name: "cuda13-nvidia-l4t-arm64-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-vllm" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-vllm +- !!merge <<: *vllm + name: "rocm-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-vllm" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-vllm +- !!merge <<: *vllm + name: "intel-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-vllm" + mirrors: + - localai/localai-backends:master-gpu-intel-vllm +- !!merge <<: *vllm + name: "cpu-vllm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-vllm" + mirrors: + - localai/localai-backends:master-cpu-vllm +# sglang +- !!merge <<: *sglang + name: "sglang-development" + capabilities: + nvidia: "cuda12-sglang-development" + amd: "rocm-sglang-development" + intel: "intel-sglang-development" + nvidia-cuda-12: "cuda12-sglang-development" + nvidia-cuda-13: "cuda13-sglang-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-sglang-development" + cpu: "cpu-sglang-development" +- !!merge <<: *sglang + name: "cuda12-sglang" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-sglang" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-sglang +- !!merge <<: *sglang + name: "cuda13-sglang" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-sglang" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-sglang +- !!merge <<: *sglang + name: "cuda13-nvidia-l4t-arm64-sglang" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-sglang" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-sglang +- !!merge <<: *sglang + name: "rocm-sglang" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-sglang" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-sglang +- !!merge <<: *sglang + name: "intel-sglang" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sglang" + mirrors: + - localai/localai-backends:latest-gpu-intel-sglang +- !!merge <<: *sglang + name: "cpu-sglang" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-sglang" + mirrors: + - localai/localai-backends:latest-cpu-sglang +- !!merge <<: *sglang + name: "cuda12-sglang-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-sglang" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-sglang +- !!merge <<: *sglang + name: "cuda13-sglang-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-sglang" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-sglang +- !!merge <<: *sglang + name: "cuda13-nvidia-l4t-arm64-sglang-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-sglang" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-sglang +- !!merge <<: *sglang + name: "rocm-sglang-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-sglang" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-sglang +- !!merge <<: *sglang + name: "intel-sglang-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sglang" + mirrors: + - localai/localai-backends:master-gpu-intel-sglang +- !!merge <<: *sglang + name: "cpu-sglang-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-sglang" + mirrors: + - localai/localai-backends:master-cpu-sglang +# vllm-omni +- !!merge <<: *vllm-omni + name: "vllm-omni-development" + capabilities: + nvidia: "cuda12-vllm-omni-development" + amd: "rocm-vllm-omni-development" + nvidia-cuda-12: "cuda12-vllm-omni-development" + nvidia-cuda-13: "cuda13-vllm-omni-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vllm-omni-development" +- !!merge <<: *vllm-omni + name: "cuda12-vllm-omni" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-vllm-omni" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-vllm-omni +- !!merge <<: *vllm-omni + name: "cuda13-vllm-omni" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-vllm-omni" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-vllm-omni +- !!merge <<: *vllm-omni + name: "cuda13-nvidia-l4t-arm64-vllm-omni" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-vllm-omni" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-vllm-omni +- !!merge <<: *vllm-omni + name: "rocm-vllm-omni" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-vllm-omni" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-vllm-omni +- !!merge <<: *vllm-omni + name: "cuda12-vllm-omni-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-vllm-omni" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-vllm-omni +- !!merge <<: *vllm-omni + name: "cuda13-vllm-omni-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-vllm-omni" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-vllm-omni +- !!merge <<: *vllm-omni + name: "cuda13-nvidia-l4t-arm64-vllm-omni-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-vllm-omni" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-vllm-omni +- !!merge <<: *vllm-omni + name: "rocm-vllm-omni-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-vllm-omni" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-vllm-omni +# longcat-video +- !!merge <<: *longcat-video + name: "longcat-video-development" + capabilities: + nvidia: "cuda12-longcat-video-development" + nvidia-cuda-12: "cuda12-longcat-video-development" + nvidia-cuda-13: "cuda13-longcat-video-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-longcat-video-development" +- !!merge <<: *longcat-video + name: "cuda12-longcat-video" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-longcat-video" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-longcat-video +- !!merge <<: *longcat-video + name: "cuda13-longcat-video" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-longcat-video" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-longcat-video +- !!merge <<: *longcat-video + name: "cuda13-nvidia-l4t-arm64-longcat-video" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-longcat-video" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-longcat-video +- !!merge <<: *longcat-video + name: "cuda12-longcat-video-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-longcat-video" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-longcat-video +- !!merge <<: *longcat-video + name: "cuda13-longcat-video-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-longcat-video" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-longcat-video +- !!merge <<: *longcat-video + name: "cuda13-nvidia-l4t-arm64-longcat-video-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-longcat-video" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-longcat-video +# rfdetr +- !!merge <<: *rfdetr + name: "rfdetr-development" + capabilities: + nvidia: "cuda12-rfdetr-development" + intel: "intel-rfdetr-development" + #amd: "rocm-rfdetr-development" + nvidia-l4t: "nvidia-l4t-arm64-rfdetr-development" + metal: "metal-rfdetr-development" + default: "cpu-rfdetr-development" + nvidia-cuda-13: "cuda13-rfdetr-development" +- !!merge <<: *rfdetr + name: "cuda12-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-rfdetr" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-rfdetr +- !!merge <<: *rfdetr + name: "intel-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-rfdetr" + mirrors: + - localai/localai-backends:latest-gpu-intel-rfdetr +# - !!merge <<: *rfdetr +# name: "rocm-rfdetr" +# uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-hipblas-rfdetr" +# mirrors: +# - localai/localai-backends:latest-gpu-hipblas-rfdetr +- !!merge <<: *rfdetr + name: "nvidia-l4t-arm64-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-rfdetr" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-rfdetr +- !!merge <<: *rfdetr + name: "nvidia-l4t-arm64-rfdetr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-rfdetr" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-rfdetr +- !!merge <<: *rfdetr + name: "cpu-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-rfdetr" + mirrors: + - localai/localai-backends:latest-cpu-rfdetr +- !!merge <<: *rfdetr + name: "cuda12-rfdetr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-rfdetr" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-rfdetr +- !!merge <<: *rfdetr + name: "intel-rfdetr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-rfdetr" + mirrors: + - localai/localai-backends:master-gpu-intel-rfdetr +# - !!merge <<: *rfdetr +# name: "rocm-rfdetr-development" +# uri: "quay.io/go-skynet/local-ai-backends:master-gpu-hipblas-rfdetr" +# mirrors: +# - localai/localai-backends:master-gpu-hipblas-rfdetr +- !!merge <<: *rfdetr + name: "cpu-rfdetr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-rfdetr" + mirrors: + - localai/localai-backends:master-cpu-rfdetr +- !!merge <<: *rfdetr + name: "intel-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-rfdetr" + mirrors: + - localai/localai-backends:latest-gpu-intel-rfdetr +- !!merge <<: *rfdetr + name: "cuda13-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-rfdetr" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-rfdetr +- !!merge <<: *rfdetr + name: "cuda13-rfdetr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-rfdetr" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-rfdetr +- !!merge <<: *rfdetr + name: "metal-rfdetr" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-rfdetr" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-rfdetr +- !!merge <<: *rfdetr + name: "metal-rfdetr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-rfdetr" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-rfdetr +## sam3-cpp +- !!merge <<: *sam3cpp + name: "sam3-cpp-development" + capabilities: + default: "cpu-sam3-cpp-development" + nvidia: "cuda12-sam3-cpp-development" + nvidia-cuda-12: "cuda12-sam3-cpp-development" + nvidia-cuda-13: "cuda13-sam3-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-sam3-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-sam3-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-sam3-cpp-development" + intel: "intel-sycl-f32-sam3-cpp-development" + vulkan: "vulkan-sam3-cpp-development" + metal: "metal-sam3-cpp-development" +- !!merge <<: *sam3cpp + name: "cpu-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-sam3-cpp" + mirrors: + - localai/localai-backends:latest-cpu-sam3-cpp +- !!merge <<: *sam3cpp + name: "cpu-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-sam3-cpp" + mirrors: + - localai/localai-backends:master-cpu-sam3-cpp +- !!merge <<: *sam3cpp + name: "metal-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "metal-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "cuda12-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-sam3-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-sam3-cpp +- !!merge <<: *sam3cpp + name: "cuda12-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-sam3-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-sam3-cpp +- !!merge <<: *sam3cpp + name: "cuda13-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-sam3-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-sam3-cpp +- !!merge <<: *sam3cpp + name: "cuda13-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-sam3-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-sam3-cpp +- !!merge <<: *sam3cpp + name: "nvidia-l4t-arm64-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "nvidia-l4t-arm64-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "cuda13-nvidia-l4t-arm64-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "cuda13-nvidia-l4t-arm64-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "intel-sycl-f32-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-sam3-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-sam3-cpp +- !!merge <<: *sam3cpp + name: "intel-sycl-f32-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-sam3-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-sam3-cpp +- !!merge <<: *sam3cpp + name: "vulkan-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-sam3-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-sam3-cpp +- !!merge <<: *sam3cpp + name: "vulkan-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-sam3-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-sam3-cpp +## rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "rfdetr-cpp-development" + capabilities: + default: "cpu-rfdetr-cpp-development" + nvidia: "cuda12-rfdetr-cpp-development" + nvidia-cuda-12: "cuda12-rfdetr-cpp-development" + nvidia-cuda-13: "cuda13-rfdetr-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-rfdetr-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-rfdetr-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-rfdetr-cpp-development" + intel: "intel-sycl-f32-rfdetr-cpp-development" + vulkan: "vulkan-rfdetr-cpp-development" + metal: "metal-rfdetr-cpp-development" +- !!merge <<: *rfdetrcpp + name: "cpu-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-cpu-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cpu-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-cpu-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "metal-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "metal-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cuda12-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cuda12-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cuda13-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cuda13-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "nvidia-l4t-arm64-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "nvidia-l4t-arm64-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cuda13-nvidia-l4t-arm64-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "cuda13-nvidia-l4t-arm64-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "intel-sycl-f32-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "intel-sycl-f32-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "intel-sycl-f16-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "intel-sycl-f16-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "vulkan-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "vulkan-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-rfdetr-cpp +## Rerankers +- !!merge <<: *rerankers + name: "rerankers-development" + capabilities: + nvidia: "cuda12-rerankers-development" + intel: "intel-rerankers-development" + amd: "rocm-rerankers-development" + metal: "metal-rerankers-development" + nvidia-cuda-13: "cuda13-rerankers-development" +- !!merge <<: *rerankers + name: "cuda12-rerankers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-rerankers" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-rerankers +- !!merge <<: *rerankers + name: "intel-rerankers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-rerankers" + mirrors: + - localai/localai-backends:latest-gpu-intel-rerankers +- !!merge <<: *rerankers + name: "rocm-rerankers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-rerankers" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-rerankers +- !!merge <<: *rerankers + name: "cuda12-rerankers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-rerankers" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-rerankers +- !!merge <<: *rerankers + name: "rocm-rerankers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-rerankers" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-rerankers +- !!merge <<: *rerankers + name: "intel-rerankers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-rerankers" + mirrors: + - localai/localai-backends:master-gpu-intel-rerankers +- !!merge <<: *rerankers + name: "cuda13-rerankers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-rerankers" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-rerankers +- !!merge <<: *rerankers + name: "cuda13-rerankers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-rerankers" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-rerankers +- !!merge <<: *rerankers + name: "metal-rerankers" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-rerankers" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-rerankers +- !!merge <<: *rerankers + name: "metal-rerankers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-rerankers" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-rerankers +## tinygrad +## Single image — the meta anchor above carries the latest uri directly +## since there is only one variant. The development entry below points at +## the master tag. +- !!merge <<: *tinygrad + name: "tinygrad-development" + uri: "quay.io/go-skynet/local-ai-backends:master-tinygrad" + mirrors: + - localai/localai-backends:master-tinygrad +## Transformers +- !!merge <<: *transformers + name: "transformers-development" + capabilities: + nvidia: "cuda12-transformers-development" + intel: "intel-transformers-development" + amd: "rocm-transformers-development" + metal: "metal-transformers-development" + nvidia-cuda-13: "cuda13-transformers-development" +- !!merge <<: *transformers + name: "cuda12-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-transformers" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-transformers +- !!merge <<: *transformers + name: "rocm-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-transformers" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-transformers +- !!merge <<: *transformers + name: "intel-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-transformers" + mirrors: + - localai/localai-backends:latest-gpu-intel-transformers +- !!merge <<: *transformers + name: "cuda12-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-transformers" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-transformers +- !!merge <<: *transformers + name: "rocm-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-transformers" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-transformers +- !!merge <<: *transformers + name: "intel-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-transformers" + mirrors: + - localai/localai-backends:master-gpu-intel-transformers +- !!merge <<: *transformers + name: "cuda13-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-transformers" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-transformers +- !!merge <<: *transformers + name: "cuda13-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-transformers" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-transformers +- !!merge <<: *transformers + name: "metal-transformers" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-transformers" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-transformers +- !!merge <<: *transformers + name: "metal-transformers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-transformers" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-transformers +## Diffusers +- !!merge <<: *diffusers + name: "diffusers-development" + capabilities: + nvidia: "cuda12-diffusers-development" + intel: "intel-diffusers-development" + amd: "rocm-diffusers-development" + nvidia-l4t: "nvidia-l4t-diffusers-development" + metal: "metal-diffusers-development" + default: "cpu-diffusers-development" + nvidia-cuda-13: "cuda13-diffusers-development" +- !!merge <<: *diffusers + name: "cpu-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-diffusers" + mirrors: + - localai/localai-backends:latest-cpu-diffusers +- !!merge <<: *diffusers + name: "cpu-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-diffusers" + mirrors: + - localai/localai-backends:master-cpu-diffusers +- !!merge <<: *diffusers + name: "nvidia-l4t-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-diffusers" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-diffusers +- !!merge <<: *diffusers + name: "nvidia-l4t-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-diffusers" + mirrors: + - localai/localai-backends:master-nvidia-l4t-diffusers +- !!merge <<: *diffusers + name: "cuda13-nvidia-l4t-arm64-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-diffusers" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-diffusers +- !!merge <<: *diffusers + name: "cuda13-nvidia-l4t-arm64-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-diffusers" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-diffusers +- !!merge <<: *diffusers + name: "cuda12-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-diffusers" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-diffusers +- !!merge <<: *diffusers + name: "rocm-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-diffusers" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-diffusers +- !!merge <<: *diffusers + name: "intel-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-diffusers" + mirrors: + - localai/localai-backends:latest-gpu-intel-diffusers +- !!merge <<: *diffusers + name: "cuda12-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-diffusers" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-diffusers +- !!merge <<: *diffusers + name: "rocm-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-diffusers" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-diffusers +- !!merge <<: *diffusers + name: "intel-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-diffusers" + mirrors: + - localai/localai-backends:master-gpu-intel-diffusers +- !!merge <<: *diffusers + name: "cuda13-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-diffusers" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-diffusers +- !!merge <<: *diffusers + name: "cuda13-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-diffusers" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-diffusers +- !!merge <<: *diffusers + name: "metal-diffusers" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-diffusers" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-diffusers +- !!merge <<: *diffusers + name: "metal-diffusers-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-diffusers" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-diffusers +## ace-step +- !!merge <<: *ace-step + name: "cpu-ace-step" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-ace-step" + mirrors: + - localai/localai-backends:latest-cpu-ace-step +- !!merge <<: *ace-step + name: "cpu-ace-step-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-ace-step" + mirrors: + - localai/localai-backends:master-cpu-ace-step +- !!merge <<: *ace-step + name: "cuda12-ace-step" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-ace-step" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-ace-step +- !!merge <<: *ace-step + name: "cuda12-ace-step-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-ace-step" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-ace-step +- !!merge <<: *ace-step + name: "cuda13-ace-step" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-ace-step" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-ace-step +- !!merge <<: *ace-step + name: "cuda13-ace-step-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-ace-step" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-ace-step +- !!merge <<: *ace-step + name: "rocm-ace-step" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-ace-step" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-ace-step +- !!merge <<: *ace-step + name: "rocm-ace-step-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-ace-step" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-ace-step +- !!merge <<: *ace-step + name: "intel-ace-step" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-ace-step" + mirrors: + - localai/localai-backends:latest-gpu-intel-ace-step +- !!merge <<: *ace-step + name: "intel-ace-step-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-ace-step" + mirrors: + - localai/localai-backends:master-gpu-intel-ace-step +- !!merge <<: *ace-step + name: "metal-ace-step" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-ace-step" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-ace-step +- !!merge <<: *ace-step + name: "metal-ace-step-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-ace-step" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-ace-step +## acestep-cpp +- !!merge <<: *acestepcpp + name: "nvidia-l4t-arm64-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-acestep-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-acestep-cpp +- !!merge <<: *acestepcpp + name: "nvidia-l4t-arm64-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-acestep-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-acestep-cpp +- !!merge <<: *acestepcpp + name: "cuda13-nvidia-l4t-arm64-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-acestep-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-acestep-cpp +- !!merge <<: *acestepcpp + name: "cuda13-nvidia-l4t-arm64-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-acestep-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-acestep-cpp +- !!merge <<: *acestepcpp + name: "cpu-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-acestep-cpp" + mirrors: + - localai/localai-backends:latest-cpu-acestep-cpp +- !!merge <<: *acestepcpp + name: "metal-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-acestep-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-acestep-cpp +- !!merge <<: *acestepcpp + name: "metal-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-acestep-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-acestep-cpp +- !!merge <<: *acestepcpp + name: "cpu-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-acestep-cpp" + mirrors: + - localai/localai-backends:master-cpu-acestep-cpp +- !!merge <<: *acestepcpp + name: "cuda12-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-acestep-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-acestep-cpp +- !!merge <<: *acestepcpp + name: "rocm-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-acestep-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-acestep-cpp +- !!merge <<: *acestepcpp + name: "intel-sycl-f32-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-acestep-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-acestep-cpp +- !!merge <<: *acestepcpp + name: "intel-sycl-f16-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-acestep-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-acestep-cpp +- !!merge <<: *acestepcpp + name: "vulkan-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-acestep-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-acestep-cpp +- !!merge <<: *acestepcpp + name: "vulkan-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-acestep-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-acestep-cpp +- !!merge <<: *acestepcpp + name: "cuda12-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-acestep-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-acestep-cpp +- !!merge <<: *acestepcpp + name: "rocm-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-acestep-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-acestep-cpp +- !!merge <<: *acestepcpp + name: "intel-sycl-f32-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-acestep-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-acestep-cpp +- !!merge <<: *acestepcpp + name: "intel-sycl-f16-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-acestep-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-acestep-cpp +- !!merge <<: *acestepcpp + name: "cuda13-acestep-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-acestep-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-acestep-cpp +- !!merge <<: *acestepcpp + name: "cuda13-acestep-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-acestep-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-acestep-cpp +## qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "nvidia-l4t-arm64-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "nvidia-l4t-arm64-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cuda13-nvidia-l4t-arm64-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cuda13-nvidia-l4t-arm64-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cpu-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-cpu-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "metal-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "metal-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cpu-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-cpu-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cuda12-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "rocm-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "intel-sycl-f32-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "intel-sycl-f16-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "vulkan-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "vulkan-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cuda12-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "rocm-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "intel-sycl-f32-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "intel-sycl-f16-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cuda13-qwen3-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-qwen3-tts-cpp +- !!merge <<: *qwen3ttscpp + name: "cuda13-qwen3-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-qwen3-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-qwen3-tts-cpp +## moss-tts-cpp +- !!merge <<: *mossttscpp + name: "nvidia-l4t-arm64-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "nvidia-l4t-arm64-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cuda13-nvidia-l4t-arm64-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cuda13-nvidia-l4t-arm64-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cpu-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-cpu-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "metal-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "metal-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cpu-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-cpu-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cuda12-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "rocm-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "intel-sycl-f32-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "intel-sycl-f16-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "vulkan-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "vulkan-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cuda12-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "rocm-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "intel-sycl-f32-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "intel-sycl-f16-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cuda13-moss-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-moss-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-moss-tts-cpp +- !!merge <<: *mossttscpp + name: "cuda13-moss-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-moss-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-moss-tts-cpp +## magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "nvidia-l4t-arm64-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "nvidia-l4t-arm64-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cuda13-nvidia-l4t-arm64-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cuda13-nvidia-l4t-arm64-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cpu-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-cpu-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "metal-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "metal-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cpu-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-cpu-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cuda12-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "rocm-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "intel-sycl-f32-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "intel-sycl-f16-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "vulkan-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "vulkan-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cuda12-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "rocm-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "intel-sycl-f32-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "intel-sycl-f16-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cuda13-magpie-tts-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-magpie-tts-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-magpie-tts-cpp +- !!merge <<: *magpiettscpp + name: "cuda13-magpie-tts-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-magpie-tts-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-magpie-tts-cpp +## omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "omnivoice-cpp-development" + capabilities: + default: "cpu-omnivoice-cpp-development" + nvidia: "cuda12-omnivoice-cpp-development" + nvidia-cuda-13: "cuda13-omnivoice-cpp-development" + nvidia-cuda-12: "cuda12-omnivoice-cpp-development" + intel: "intel-sycl-f16-omnivoice-cpp-development" + metal: "metal-omnivoice-cpp-development" + amd: "rocm-omnivoice-cpp-development" + vulkan: "vulkan-omnivoice-cpp-development" + nvidia-l4t: "nvidia-l4t-arm64-omnivoice-cpp-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-omnivoice-cpp-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-omnivoice-cpp-development" +- !!merge <<: *omnivoicecpp + name: "nvidia-l4t-arm64-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "nvidia-l4t-arm64-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cuda13-nvidia-l4t-arm64-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cuda13-nvidia-l4t-arm64-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cpu-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-cpu-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "metal-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "metal-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cpu-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-cpu-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cuda12-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "rocm-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "intel-sycl-f32-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "intel-sycl-f16-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "vulkan-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "vulkan-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cuda12-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "rocm-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "intel-sycl-f32-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "intel-sycl-f16-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cuda13-omnivoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-omnivoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-omnivoice-cpp +- !!merge <<: *omnivoicecpp + name: "cuda13-omnivoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-omnivoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-omnivoice-cpp +## vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "nvidia-l4t-arm64-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "nvidia-l4t-arm64-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cuda13-nvidia-l4t-arm64-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cuda13-nvidia-l4t-arm64-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cpu-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-cpu-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "metal-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "metal-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cpu-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-cpu-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cuda12-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "rocm-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "intel-sycl-f32-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f32-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f32-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "intel-sycl-f16-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-sycl-f16-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-intel-sycl-f16-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "vulkan-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "vulkan-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cuda12-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "rocm-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "intel-sycl-f32-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f32-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f32-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "intel-sycl-f16-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-sycl-f16-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-intel-sycl-f16-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cuda13-vibevoice-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-vibevoice-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-vibevoice-cpp +- !!merge <<: *vibevoicecpp + name: "cuda13-vibevoice-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-vibevoice-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-vibevoice-cpp +## localvqe +- !!merge <<: *localvqecpp + name: "cpu-localvqe" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-localvqe" + mirrors: + - localai/localai-backends:latest-cpu-localvqe +- !!merge <<: *localvqecpp + name: "cpu-localvqe-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-localvqe" + mirrors: + - localai/localai-backends:master-cpu-localvqe +- !!merge <<: *localvqecpp + name: "vulkan-localvqe" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-localvqe" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-localvqe +- !!merge <<: *localvqecpp + name: "vulkan-localvqe-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-localvqe" + mirrors: + - localai/localai-backends:master-gpu-vulkan-localvqe +- !!merge <<: *localvqecpp + name: "metal-localvqe" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-localvqe" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-localvqe +- !!merge <<: *localvqecpp + name: "metal-localvqe-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-localvqe" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-localvqe +## kokoro +- !!merge <<: *kokoro + name: "kokoro-development" + capabilities: + default: "cpu-kokoro-development" + nvidia: "cuda12-kokoro-development" + intel: "intel-kokoro-development" + amd: "rocm-kokoro-development" + nvidia-l4t: "nvidia-l4t-kokoro-development" + metal: "metal-kokoro-development" +- !!merge <<: *kokoro + name: "cpu-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-kokoro" + mirrors: + - localai/localai-backends:latest-cpu-kokoro +- !!merge <<: *kokoro + name: "cpu-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-kokoro" + mirrors: + - localai/localai-backends:master-cpu-kokoro +- !!merge <<: *kokoro + name: "cuda12-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-kokoro" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-kokoro +- !!merge <<: *kokoro + name: "rocm-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-kokoro" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-kokoro +- !!merge <<: *kokoro + name: "intel-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-kokoro" + mirrors: + - localai/localai-backends:latest-gpu-intel-kokoro +- !!merge <<: *kokoro + name: "intel-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-kokoro" + mirrors: + - localai/localai-backends:master-gpu-intel-kokoro +- !!merge <<: *kokoro + name: "nvidia-l4t-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-kokoro" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-kokoro +- !!merge <<: *kokoro + name: "nvidia-l4t-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-kokoro" + mirrors: + - localai/localai-backends:master-nvidia-l4t-kokoro +- !!merge <<: *kokoro + name: "cuda12-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-kokoro" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-kokoro +- !!merge <<: *kokoro + name: "rocm-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-kokoro" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-kokoro +- !!merge <<: *kokoro + name: "cuda13-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-kokoro" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-kokoro +- !!merge <<: *kokoro + name: "cuda13-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-kokoro" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-kokoro +- !!merge <<: *kokoro + name: "metal-kokoro" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-kokoro" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-kokoro +- !!merge <<: *kokoro + name: "metal-kokoro-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-kokoro" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-kokoro +## kokoros (Rust) +- !!merge <<: *kokoros + name: "kokoros-development" + capabilities: + default: "cpu-kokoros-development" +- !!merge <<: *kokoros + name: "cpu-kokoros" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-kokoros" + mirrors: + - localai/localai-backends:latest-cpu-kokoros +- !!merge <<: *kokoros + name: "cpu-kokoros-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-kokoros" + mirrors: + - localai/localai-backends:master-cpu-kokoros +## faster-whisper +- !!merge <<: *faster-whisper + name: "faster-whisper-development" + capabilities: + default: "cpu-faster-whisper-development" + nvidia: "cuda12-faster-whisper-development" + intel: "intel-faster-whisper-development" + amd: "rocm-faster-whisper-development" + metal: "metal-faster-whisper-development" + nvidia-cuda-13: "cuda13-faster-whisper-development" + nvidia-l4t: "nvidia-l4t-arm64-faster-whisper-development" +- !!merge <<: *faster-whisper + name: "cuda12-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-faster-whisper" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-faster-whisper +- !!merge <<: *faster-whisper + name: "rocm-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-faster-whisper" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-faster-whisper +- !!merge <<: *faster-whisper + name: "intel-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-faster-whisper" + mirrors: + - localai/localai-backends:latest-gpu-intel-faster-whisper +- !!merge <<: *faster-whisper + name: "intel-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-faster-whisper" + mirrors: + - localai/localai-backends:master-gpu-intel-faster-whisper +- !!merge <<: *faster-whisper + name: "cuda13-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-faster-whisper" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-faster-whisper +- !!merge <<: *faster-whisper + name: "cuda13-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-faster-whisper" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-faster-whisper +- !!merge <<: *faster-whisper + name: "metal-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-faster-whisper" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-faster-whisper +- !!merge <<: *faster-whisper + name: "metal-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-faster-whisper" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-faster-whisper +- !!merge <<: *faster-whisper + name: "cuda12-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-faster-whisper" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-faster-whisper +- !!merge <<: *faster-whisper + name: "rocm-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-faster-whisper" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-faster-whisper +- !!merge <<: *faster-whisper + name: "cpu-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-faster-whisper" + mirrors: + - localai/localai-backends:latest-cpu-faster-whisper +- !!merge <<: *faster-whisper + name: "cpu-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-faster-whisper" + mirrors: + - localai/localai-backends:master-cpu-faster-whisper +- !!merge <<: *faster-whisper + name: "nvidia-l4t-arm64-faster-whisper" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-faster-whisper" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-faster-whisper +- !!merge <<: *faster-whisper + name: "nvidia-l4t-arm64-faster-whisper-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-faster-whisper" + mirrors: + - localai/localai-backends:master-nvidia-l4t-faster-whisper +## moonshine +- !!merge <<: *moonshine + name: "moonshine-development" + capabilities: + nvidia: "cuda12-moonshine-development" + default: "cpu-moonshine-development" + nvidia-cuda-13: "cuda13-moonshine-development" + nvidia-cuda-12: "cuda12-moonshine-development" +- !!merge <<: *moonshine + name: "cpu-moonshine" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-moonshine" + mirrors: + - localai/localai-backends:latest-cpu-moonshine +- !!merge <<: *moonshine + name: "cpu-moonshine-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-moonshine" + mirrors: + - localai/localai-backends:master-cpu-moonshine +- !!merge <<: *moonshine + name: "cuda12-moonshine" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-moonshine" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-moonshine +- !!merge <<: *moonshine + name: "cuda12-moonshine-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-moonshine" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-moonshine +- !!merge <<: *moonshine + name: "cuda13-moonshine" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-moonshine" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-moonshine +- !!merge <<: *moonshine + name: "cuda13-moonshine-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-moonshine" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-moonshine +- !!merge <<: *moonshine + name: "metal-moonshine" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-moonshine" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-moonshine +- !!merge <<: *moonshine + name: "metal-moonshine-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-moonshine" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-moonshine +## whisperx +- !!merge <<: *whisperx + name: "whisperx-development" + capabilities: + nvidia: "cuda12-whisperx-development" + metal: "metal-whisperx-development" + default: "cpu-whisperx-development" + nvidia-cuda-13: "cuda13-whisperx-development" + nvidia-cuda-12: "cuda12-whisperx-development" + nvidia-l4t: "nvidia-l4t-arm64-whisperx-development" +- !!merge <<: *whisperx + name: "cpu-whisperx" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-whisperx" + mirrors: + - localai/localai-backends:latest-cpu-whisperx +- !!merge <<: *whisperx + name: "cpu-whisperx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-whisperx" + mirrors: + - localai/localai-backends:master-cpu-whisperx +- !!merge <<: *whisperx + name: "cuda12-whisperx" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-whisperx" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-whisperx +- !!merge <<: *whisperx + name: "cuda12-whisperx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-whisperx" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-whisperx +- !!merge <<: *whisperx + name: "cuda13-whisperx" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-whisperx" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-whisperx +- !!merge <<: *whisperx + name: "cuda13-whisperx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-whisperx" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-whisperx +- !!merge <<: *whisperx + name: "metal-whisperx" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-whisperx" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-whisperx +- !!merge <<: *whisperx + name: "metal-whisperx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-whisperx" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-whisperx +- !!merge <<: *whisperx + name: "nvidia-l4t-arm64-whisperx" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-whisperx" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-whisperx +- !!merge <<: *whisperx + name: "nvidia-l4t-arm64-whisperx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-whisperx" + mirrors: + - localai/localai-backends:master-nvidia-l4t-whisperx +## coqui + +- !!merge <<: *coqui + name: "coqui-development" + capabilities: + nvidia: "cuda12-coqui-development" + intel: "intel-coqui-development" + amd: "rocm-coqui-development" + metal: "metal-coqui-development" +- !!merge <<: *coqui + name: "cuda12-coqui" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-coqui" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-coqui +- !!merge <<: *coqui + name: "cuda12-coqui-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-coqui" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-coqui +- !!merge <<: *coqui + name: "rocm-coqui-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-coqui" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-coqui +- !!merge <<: *coqui + name: "intel-coqui" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-coqui" + mirrors: + - localai/localai-backends:latest-gpu-intel-coqui +- !!merge <<: *coqui + name: "intel-coqui-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-coqui" + mirrors: + - localai/localai-backends:master-gpu-intel-coqui +- !!merge <<: *coqui + name: "rocm-coqui" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-coqui" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-coqui +- !!merge <<: *coqui + name: "metal-coqui" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-coqui" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-coqui +- !!merge <<: *coqui + name: "metal-coqui-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-coqui" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-coqui +## outetts +- !!merge <<: *outetts + name: "outetts-development" + capabilities: + default: "cpu-outetts-development" + nvidia-cuda-12: "cuda12-outetts-development" +- !!merge <<: *outetts + name: "cpu-outetts" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-outetts" + mirrors: + - localai/localai-backends:latest-cpu-outetts +- !!merge <<: *outetts + name: "cpu-outetts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-outetts" + mirrors: + - localai/localai-backends:master-cpu-outetts +- !!merge <<: *outetts + name: "cuda12-outetts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-outetts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-outetts +- !!merge <<: *outetts + name: "cuda12-outetts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-outetts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-outetts +## chatterbox +- !!merge <<: *chatterbox + name: "chatterbox-development" + capabilities: + nvidia: "cuda12-chatterbox-development" + metal: "metal-chatterbox-development" + default: "cpu-chatterbox-development" + nvidia-l4t: "nvidia-l4t-arm64-chatterbox" + nvidia-cuda-13: "cuda13-chatterbox-development" + nvidia-cuda-12: "cuda12-chatterbox-development" + nvidia-l4t-cuda-12: "nvidia-l4t-arm64-chatterbox" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-chatterbox-development" +- !!merge <<: *chatterbox + name: "cpu-chatterbox" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-chatterbox" + mirrors: + - localai/localai-backends:latest-cpu-chatterbox +- !!merge <<: *chatterbox + name: "cpu-chatterbox-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-chatterbox" + mirrors: + - localai/localai-backends:master-cpu-chatterbox +- !!merge <<: *chatterbox + name: "nvidia-l4t-arm64-chatterbox" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-arm64-chatterbox" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-arm64-chatterbox +- !!merge <<: *chatterbox + name: "nvidia-l4t-arm64-chatterbox-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-arm64-chatterbox" + mirrors: + - localai/localai-backends:master-nvidia-l4t-arm64-chatterbox +- !!merge <<: *chatterbox + name: "metal-chatterbox" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-chatterbox" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-chatterbox +- !!merge <<: *chatterbox + name: "metal-chatterbox-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-chatterbox" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-chatterbox +- !!merge <<: *chatterbox + name: "cuda12-chatterbox-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-chatterbox" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-chatterbox +- !!merge <<: *chatterbox + name: "cuda12-chatterbox" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-chatterbox" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-chatterbox +- !!merge <<: *chatterbox + name: "cuda13-chatterbox" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-chatterbox" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-chatterbox +- !!merge <<: *chatterbox + name: "cuda13-chatterbox-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-chatterbox" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-chatterbox +- !!merge <<: *chatterbox + name: "cuda13-nvidia-l4t-arm64-chatterbox" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-chatterbox" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-chatterbox +- !!merge <<: *chatterbox + name: "cuda13-nvidia-l4t-arm64-chatterbox-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-chatterbox" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-chatterbox +## vibevoice +- !!merge <<: *vibevoice + name: "vibevoice-development" + capabilities: + nvidia: "cuda12-vibevoice-development" + intel: "intel-vibevoice-development" + amd: "rocm-vibevoice-development" + nvidia-l4t: "nvidia-l4t-vibevoice-development" + metal: "metal-vibevoice-development" + default: "cpu-vibevoice-development" + nvidia-cuda-13: "cuda13-vibevoice-development" + nvidia-cuda-12: "cuda12-vibevoice-development" + nvidia-l4t-cuda-12: "nvidia-l4t-vibevoice-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-vibevoice-development" +- !!merge <<: *vibevoice + name: "cpu-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-vibevoice" + mirrors: + - localai/localai-backends:latest-cpu-vibevoice +- !!merge <<: *vibevoice + name: "cpu-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-vibevoice" + mirrors: + - localai/localai-backends:master-cpu-vibevoice +- !!merge <<: *vibevoice + name: "cuda12-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-vibevoice" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-vibevoice +- !!merge <<: *vibevoice + name: "cuda12-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-vibevoice" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-vibevoice +- !!merge <<: *vibevoice + name: "cuda13-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-vibevoice" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-vibevoice +- !!merge <<: *vibevoice + name: "cuda13-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-vibevoice" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-vibevoice +- !!merge <<: *vibevoice + name: "intel-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-vibevoice" + mirrors: + - localai/localai-backends:latest-gpu-intel-vibevoice +- !!merge <<: *vibevoice + name: "intel-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-vibevoice" + mirrors: + - localai/localai-backends:master-gpu-intel-vibevoice +- !!merge <<: *vibevoice + name: "rocm-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-vibevoice" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-vibevoice +- !!merge <<: *vibevoice + name: "rocm-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-vibevoice" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-vibevoice +- !!merge <<: *vibevoice + name: "nvidia-l4t-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-vibevoice" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-vibevoice +- !!merge <<: *vibevoice + name: "nvidia-l4t-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-vibevoice" + mirrors: + - localai/localai-backends:master-nvidia-l4t-vibevoice +- !!merge <<: *vibevoice + name: "cuda13-nvidia-l4t-arm64-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-vibevoice" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-vibevoice +- !!merge <<: *vibevoice + name: "cuda13-nvidia-l4t-arm64-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-vibevoice" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-vibevoice +- !!merge <<: *vibevoice + name: "metal-vibevoice" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-vibevoice" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-vibevoice +- !!merge <<: *vibevoice + name: "metal-vibevoice-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-vibevoice" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-vibevoice +## liquid-audio +- !!merge <<: *liquid-audio + name: "liquid-audio-development" + capabilities: + nvidia: "cuda12-liquid-audio-development" + intel: "intel-liquid-audio-development" + amd: "rocm-liquid-audio-development" + default: "cpu-liquid-audio-development" + nvidia-cuda-13: "cuda13-liquid-audio-development" + nvidia-cuda-12: "cuda12-liquid-audio-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-liquid-audio-development" + metal: "metal-liquid-audio-development" +- !!merge <<: *liquid-audio + name: "cpu-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-liquid-audio" + mirrors: + - localai/localai-backends:latest-cpu-liquid-audio +- !!merge <<: *liquid-audio + name: "cpu-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-liquid-audio" + mirrors: + - localai/localai-backends:master-cpu-liquid-audio +- !!merge <<: *liquid-audio + name: "metal-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-liquid-audio" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-liquid-audio +- !!merge <<: *liquid-audio + name: "metal-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-liquid-audio" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-liquid-audio +- !!merge <<: *liquid-audio + name: "cuda12-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-liquid-audio" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-liquid-audio +- !!merge <<: *liquid-audio + name: "cuda12-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-liquid-audio" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-liquid-audio +- !!merge <<: *liquid-audio + name: "cuda13-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-liquid-audio" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-liquid-audio +- !!merge <<: *liquid-audio + name: "cuda13-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-liquid-audio" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-liquid-audio +- !!merge <<: *liquid-audio + name: "intel-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-liquid-audio" + mirrors: + - localai/localai-backends:latest-gpu-intel-liquid-audio +- !!merge <<: *liquid-audio + name: "intel-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-liquid-audio" + mirrors: + - localai/localai-backends:master-gpu-intel-liquid-audio +- !!merge <<: *liquid-audio + name: "rocm-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-liquid-audio" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-liquid-audio +- !!merge <<: *liquid-audio + name: "rocm-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-liquid-audio" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-liquid-audio +- !!merge <<: *liquid-audio + name: "cuda13-nvidia-l4t-arm64-liquid-audio" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-liquid-audio" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-liquid-audio +- !!merge <<: *liquid-audio + name: "cuda13-nvidia-l4t-arm64-liquid-audio-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-liquid-audio" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-liquid-audio +## qwen-tts +- !!merge <<: *qwen-tts + name: "qwen-tts-development" + capabilities: + nvidia: "cuda12-qwen-tts-development" + intel: "intel-qwen-tts-development" + amd: "rocm-qwen-tts-development" + nvidia-l4t: "nvidia-l4t-qwen-tts-development" + metal: "metal-qwen-tts-development" + default: "cpu-qwen-tts-development" + nvidia-cuda-13: "cuda13-qwen-tts-development" + nvidia-cuda-12: "cuda12-qwen-tts-development" + nvidia-l4t-cuda-12: "nvidia-l4t-qwen-tts-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-qwen-tts-development" +- !!merge <<: *qwen-tts + name: "cpu-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-qwen-tts" + mirrors: + - localai/localai-backends:latest-cpu-qwen-tts +- !!merge <<: *qwen-tts + name: "cpu-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-qwen-tts" + mirrors: + - localai/localai-backends:master-cpu-qwen-tts +- !!merge <<: *qwen-tts + name: "cuda12-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-qwen-tts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-qwen-tts +- !!merge <<: *qwen-tts + name: "cuda12-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-qwen-tts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-qwen-tts +- !!merge <<: *qwen-tts + name: "cuda13-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-qwen-tts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-qwen-tts +- !!merge <<: *qwen-tts + name: "cuda13-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-qwen-tts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-qwen-tts +- !!merge <<: *qwen-tts + name: "intel-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-qwen-tts" + mirrors: + - localai/localai-backends:latest-gpu-intel-qwen-tts +- !!merge <<: *qwen-tts + name: "intel-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-qwen-tts" + mirrors: + - localai/localai-backends:master-gpu-intel-qwen-tts +- !!merge <<: *qwen-tts + name: "rocm-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-qwen-tts" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-qwen-tts +- !!merge <<: *qwen-tts + name: "rocm-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-qwen-tts" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-qwen-tts +- !!merge <<: *qwen-tts + name: "nvidia-l4t-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-qwen-tts" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-qwen-tts +- !!merge <<: *qwen-tts + name: "nvidia-l4t-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-qwen-tts" + mirrors: + - localai/localai-backends:master-nvidia-l4t-qwen-tts +- !!merge <<: *qwen-tts + name: "cuda13-nvidia-l4t-arm64-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-qwen-tts" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-qwen-tts +- !!merge <<: *qwen-tts + name: "cuda13-nvidia-l4t-arm64-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-qwen-tts" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-qwen-tts +- !!merge <<: *qwen-tts + name: "metal-qwen-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-qwen-tts" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-qwen-tts +- !!merge <<: *qwen-tts + name: "metal-qwen-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-qwen-tts" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-qwen-tts +## fish-speech +- !!merge <<: *fish-speech + name: "fish-speech-development" + capabilities: + nvidia: "cuda12-fish-speech-development" + intel: "intel-fish-speech-development" + amd: "rocm-fish-speech-development" + nvidia-l4t: "nvidia-l4t-fish-speech-development" + default: "cpu-fish-speech-development" + nvidia-cuda-13: "cuda13-fish-speech-development" + nvidia-cuda-12: "cuda12-fish-speech-development" + nvidia-l4t-cuda-12: "nvidia-l4t-fish-speech-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-fish-speech-development" +- !!merge <<: *fish-speech + name: "cpu-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-fish-speech" + mirrors: + - localai/localai-backends:latest-cpu-fish-speech +- !!merge <<: *fish-speech + name: "cpu-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-fish-speech" + mirrors: + - localai/localai-backends:master-cpu-fish-speech +- !!merge <<: *fish-speech + name: "cuda12-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-fish-speech" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-fish-speech +- !!merge <<: *fish-speech + name: "cuda12-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-fish-speech" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-fish-speech +- !!merge <<: *fish-speech + name: "cuda13-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-fish-speech" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-fish-speech +- !!merge <<: *fish-speech + name: "cuda13-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-fish-speech" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-fish-speech +- !!merge <<: *fish-speech + name: "intel-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-fish-speech" + mirrors: + - localai/localai-backends:latest-gpu-intel-fish-speech +- !!merge <<: *fish-speech + name: "intel-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-fish-speech" + mirrors: + - localai/localai-backends:master-gpu-intel-fish-speech +- !!merge <<: *fish-speech + name: "rocm-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-fish-speech" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-fish-speech +- !!merge <<: *fish-speech + name: "rocm-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-fish-speech" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-fish-speech +- !!merge <<: *fish-speech + name: "nvidia-l4t-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-fish-speech" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-fish-speech +- !!merge <<: *fish-speech + name: "nvidia-l4t-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-fish-speech" + mirrors: + - localai/localai-backends:master-nvidia-l4t-fish-speech +- !!merge <<: *fish-speech + name: "cuda13-nvidia-l4t-arm64-fish-speech" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-fish-speech" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-fish-speech +- !!merge <<: *fish-speech + name: "cuda13-nvidia-l4t-arm64-fish-speech-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-fish-speech" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-fish-speech +## faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "faster-qwen3-tts-development" + capabilities: + nvidia: "cuda12-faster-qwen3-tts-development" + default: "cuda12-faster-qwen3-tts-development" + nvidia-cuda-13: "cuda13-faster-qwen3-tts-development" + nvidia-cuda-12: "cuda12-faster-qwen3-tts-development" + nvidia-l4t: "nvidia-l4t-faster-qwen3-tts-development" + nvidia-l4t-cuda-12: "nvidia-l4t-faster-qwen3-tts-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-faster-qwen3-tts-development" +- !!merge <<: *faster-qwen3-tts + name: "cuda12-faster-qwen3-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-faster-qwen3-tts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "cuda12-faster-qwen3-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-faster-qwen3-tts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "cuda13-faster-qwen3-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-faster-qwen3-tts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "cuda13-faster-qwen3-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-faster-qwen3-tts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "nvidia-l4t-faster-qwen3-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-faster-qwen3-tts" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "nvidia-l4t-faster-qwen3-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-faster-qwen3-tts" + mirrors: + - localai/localai-backends:master-nvidia-l4t-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "cuda13-nvidia-l4t-arm64-faster-qwen3-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-faster-qwen3-tts" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-faster-qwen3-tts +- !!merge <<: *faster-qwen3-tts + name: "cuda13-nvidia-l4t-arm64-faster-qwen3-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-faster-qwen3-tts" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-faster-qwen3-tts +## qwen-asr +- !!merge <<: *qwen-asr + name: "qwen-asr-development" + capabilities: + nvidia: "cuda12-qwen-asr-development" + intel: "intel-qwen-asr-development" + amd: "rocm-qwen-asr-development" + nvidia-l4t: "nvidia-l4t-qwen-asr-development" + metal: "metal-qwen-asr-development" + default: "cpu-qwen-asr-development" + nvidia-cuda-13: "cuda13-qwen-asr-development" + nvidia-cuda-12: "cuda12-qwen-asr-development" + nvidia-l4t-cuda-12: "nvidia-l4t-qwen-asr-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-qwen-asr-development" +- !!merge <<: *qwen-asr + name: "cpu-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-qwen-asr" + mirrors: + - localai/localai-backends:latest-cpu-qwen-asr +- !!merge <<: *qwen-asr + name: "cpu-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-qwen-asr" + mirrors: + - localai/localai-backends:master-cpu-qwen-asr +- !!merge <<: *qwen-asr + name: "cuda12-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-qwen-asr" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-qwen-asr +- !!merge <<: *qwen-asr + name: "cuda12-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-qwen-asr" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-qwen-asr +- !!merge <<: *qwen-asr + name: "cuda13-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-qwen-asr" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-qwen-asr +- !!merge <<: *qwen-asr + name: "cuda13-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-qwen-asr" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-qwen-asr +- !!merge <<: *qwen-asr + name: "intel-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-qwen-asr" + mirrors: + - localai/localai-backends:latest-gpu-intel-qwen-asr +- !!merge <<: *qwen-asr + name: "intel-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-qwen-asr" + mirrors: + - localai/localai-backends:master-gpu-intel-qwen-asr +- !!merge <<: *qwen-asr + name: "rocm-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-qwen-asr" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-qwen-asr +- !!merge <<: *qwen-asr + name: "rocm-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-qwen-asr" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-qwen-asr +- !!merge <<: *qwen-asr + name: "nvidia-l4t-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-qwen-asr" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-qwen-asr +- !!merge <<: *qwen-asr + name: "nvidia-l4t-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-qwen-asr" + mirrors: + - localai/localai-backends:master-nvidia-l4t-qwen-asr +- !!merge <<: *qwen-asr + name: "cuda13-nvidia-l4t-arm64-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-qwen-asr" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-qwen-asr +- !!merge <<: *qwen-asr + name: "cuda13-nvidia-l4t-arm64-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-qwen-asr" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-qwen-asr +- !!merge <<: *qwen-asr + name: "metal-qwen-asr" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-qwen-asr" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-qwen-asr +- !!merge <<: *qwen-asr + name: "metal-qwen-asr-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-qwen-asr" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-qwen-asr +## nemo +- !!merge <<: *nemo + name: "nemo-development" + capabilities: + nvidia: "cuda12-nemo-development" + intel: "intel-nemo-development" + amd: "rocm-nemo-development" + metal: "metal-nemo-development" + default: "cpu-nemo-development" + nvidia-cuda-13: "cuda13-nemo-development" + nvidia-cuda-12: "cuda12-nemo-development" +- !!merge <<: *nemo + name: "cpu-nemo" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-nemo" + mirrors: + - localai/localai-backends:latest-cpu-nemo +- !!merge <<: *nemo + name: "cpu-nemo-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-nemo" + mirrors: + - localai/localai-backends:master-cpu-nemo +- !!merge <<: *nemo + name: "cuda12-nemo" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-nemo" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-nemo +- !!merge <<: *nemo + name: "cuda12-nemo-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-nemo" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-nemo +- !!merge <<: *nemo + name: "cuda13-nemo" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-nemo" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-nemo +- !!merge <<: *nemo + name: "cuda13-nemo-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-nemo" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-nemo +- !!merge <<: *nemo + name: "intel-nemo" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-nemo" + mirrors: + - localai/localai-backends:latest-gpu-intel-nemo +- !!merge <<: *nemo + name: "intel-nemo-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-nemo" + mirrors: + - localai/localai-backends:master-gpu-intel-nemo +- !!merge <<: *nemo + name: "rocm-nemo" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-nemo" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-nemo +- !!merge <<: *nemo + name: "rocm-nemo-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-nemo" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-nemo +- !!merge <<: *nemo + name: "metal-nemo" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-nemo" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-nemo +- !!merge <<: *nemo + name: "metal-nemo-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-nemo" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-nemo +## voxcpm +- !!merge <<: *voxcpm + name: "voxcpm-development" + capabilities: + nvidia: "cuda12-voxcpm-development" + intel: "intel-voxcpm-development" + amd: "rocm-voxcpm-development" + metal: "metal-voxcpm-development" + default: "cpu-voxcpm-development" + nvidia-cuda-13: "cuda13-voxcpm-development" + nvidia-cuda-12: "cuda12-voxcpm-development" +- !!merge <<: *voxcpm + name: "cpu-voxcpm" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-voxcpm" + mirrors: + - localai/localai-backends:latest-cpu-voxcpm +- !!merge <<: *voxcpm + name: "cpu-voxcpm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-voxcpm" + mirrors: + - localai/localai-backends:master-cpu-voxcpm +- !!merge <<: *voxcpm + name: "cuda12-voxcpm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-voxcpm" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-voxcpm +- !!merge <<: *voxcpm + name: "cuda12-voxcpm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-voxcpm" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-voxcpm +- !!merge <<: *voxcpm + name: "cuda13-voxcpm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-voxcpm" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-voxcpm +- !!merge <<: *voxcpm + name: "cuda13-voxcpm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-voxcpm" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-voxcpm +- !!merge <<: *voxcpm + name: "intel-voxcpm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-voxcpm" + mirrors: + - localai/localai-backends:latest-gpu-intel-voxcpm +- !!merge <<: *voxcpm + name: "intel-voxcpm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-voxcpm" + mirrors: + - localai/localai-backends:master-gpu-intel-voxcpm +- !!merge <<: *voxcpm + name: "rocm-voxcpm" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-voxcpm" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-voxcpm +- !!merge <<: *voxcpm + name: "rocm-voxcpm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-voxcpm" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-voxcpm +- !!merge <<: *voxcpm + name: "metal-voxcpm" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-voxcpm" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-voxcpm +- !!merge <<: *voxcpm + name: "metal-voxcpm-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-voxcpm" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-voxcpm +## pocket-tts +- !!merge <<: *pocket-tts + name: "pocket-tts-development" + capabilities: + nvidia: "cuda12-pocket-tts-development" + intel: "intel-pocket-tts-development" + amd: "rocm-pocket-tts-development" + nvidia-l4t: "nvidia-l4t-pocket-tts-development" + metal: "metal-pocket-tts-development" + default: "cpu-pocket-tts-development" + nvidia-cuda-13: "cuda13-pocket-tts-development" + nvidia-cuda-12: "cuda12-pocket-tts-development" + nvidia-l4t-cuda-12: "nvidia-l4t-pocket-tts-development" + nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-pocket-tts-development" +- !!merge <<: *pocket-tts + name: "cpu-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-pocket-tts" + mirrors: + - localai/localai-backends:latest-cpu-pocket-tts +- !!merge <<: *pocket-tts + name: "cpu-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-pocket-tts" + mirrors: + - localai/localai-backends:master-cpu-pocket-tts +- !!merge <<: *pocket-tts + name: "cuda12-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-pocket-tts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-pocket-tts +- !!merge <<: *pocket-tts + name: "cuda12-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-pocket-tts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-pocket-tts +- !!merge <<: *pocket-tts + name: "cuda13-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-pocket-tts" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-pocket-tts +- !!merge <<: *pocket-tts + name: "cuda13-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-pocket-tts" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-pocket-tts +- !!merge <<: *pocket-tts + name: "intel-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-intel-pocket-tts" + mirrors: + - localai/localai-backends:latest-gpu-intel-pocket-tts +- !!merge <<: *pocket-tts + name: "intel-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-intel-pocket-tts" + mirrors: + - localai/localai-backends:master-gpu-intel-pocket-tts +- !!merge <<: *pocket-tts + name: "rocm-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-rocm-hipblas-pocket-tts" + mirrors: + - localai/localai-backends:latest-gpu-rocm-hipblas-pocket-tts +- !!merge <<: *pocket-tts + name: "rocm-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-rocm-hipblas-pocket-tts" + mirrors: + - localai/localai-backends:master-gpu-rocm-hipblas-pocket-tts +- !!merge <<: *pocket-tts + name: "nvidia-l4t-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-pocket-tts" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-pocket-tts +- !!merge <<: *pocket-tts + name: "nvidia-l4t-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-pocket-tts" + mirrors: + - localai/localai-backends:master-nvidia-l4t-pocket-tts +- !!merge <<: *pocket-tts + name: "cuda13-nvidia-l4t-arm64-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-pocket-tts" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-pocket-tts +- !!merge <<: *pocket-tts + name: "cuda13-nvidia-l4t-arm64-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-pocket-tts" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-pocket-tts +- !!merge <<: *pocket-tts + name: "metal-pocket-tts" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-pocket-tts" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-pocket-tts +- !!merge <<: *pocket-tts + name: "metal-pocket-tts-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-pocket-tts" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-pocket-tts +## voxtral +- !!merge <<: *voxtral + name: "cpu-voxtral" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-voxtral" + mirrors: + - localai/localai-backends:latest-cpu-voxtral +- !!merge <<: *voxtral + name: "cpu-voxtral-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-voxtral" + mirrors: + - localai/localai-backends:master-cpu-voxtral +- !!merge <<: *voxtral + name: "metal-voxtral" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-voxtral" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-voxtral +- !!merge <<: *voxtral + name: "metal-voxtral-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-voxtral" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-voxtral +- &trl + name: "trl" + alias: "trl" + license: apache-2.0 + description: | + HuggingFace TRL fine-tuning backend. Supports SFT, DPO, GRPO, RLOO, Reward, KTO, ORPO training methods. + Works on CPU and GPU. + urls: + - https://github.com/huggingface/trl + tags: + - fine-tuning + - LLM + - CPU + - GPU + - CUDA + capabilities: + default: "cpu-trl" + nvidia: "cuda12-trl" + nvidia-cuda-12: "cuda12-trl" + nvidia-cuda-13: "cuda13-trl" + metal: "metal-trl" +## TRL backend images +- !!merge <<: *trl + name: "cpu-trl" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-trl" + mirrors: + - localai/localai-backends:latest-cpu-trl +- !!merge <<: *trl + name: "cpu-trl-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-trl" + mirrors: + - localai/localai-backends:master-cpu-trl +- !!merge <<: *trl + name: "cuda12-trl" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-trl" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-trl +- !!merge <<: *trl + name: "cuda12-trl-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-trl" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-trl +- !!merge <<: *trl + name: "cuda13-trl" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-trl" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-trl +- !!merge <<: *trl + name: "cuda13-trl-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-trl" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-trl +- !!merge <<: *trl + name: "metal-trl" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-trl" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-trl +- !!merge <<: *trl + name: "metal-trl-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-trl" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-trl +## llama.cpp quantization backend +- &llama-cpp-quantization + name: "llama-cpp-quantization" + alias: "llama-cpp-quantization" + license: mit + icon: https://user-images.githubusercontent.com/1991296/230134379-7181e485-c521-4d23-a0d6-f7b3b61ba524.png + description: | + Model quantization backend using llama.cpp. Downloads HuggingFace models, converts them to GGUF format, + and quantizes them to various formats (q4_k_m, q5_k_m, q8_0, f16, etc.). + urls: + - https://github.com/ggml-org/llama.cpp + tags: + - quantization + - GGUF + - CPU + capabilities: + default: "cpu-llama-cpp-quantization" + metal: "metal-darwin-arm64-llama-cpp-quantization" +- !!merge <<: *llama-cpp-quantization + name: "cpu-llama-cpp-quantization" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-llama-cpp-quantization" + mirrors: + - localai/localai-backends:latest-cpu-llama-cpp-quantization +- !!merge <<: *llama-cpp-quantization + name: "metal-darwin-arm64-llama-cpp-quantization" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-llama-cpp-quantization" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-llama-cpp-quantization +# insightface (face recognition) — development and concrete image entries +- !!merge <<: *insightface + name: "insightface-development" + capabilities: + default: "cpu-insightface-development" + nvidia: "cuda12-insightface-development" + nvidia-cuda-12: "cuda12-insightface-development" +- !!merge <<: *insightface + name: "cpu-insightface" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-insightface" + mirrors: + - localai/localai-backends:latest-cpu-insightface +- !!merge <<: *insightface + name: "cuda12-insightface" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-insightface" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-insightface +- !!merge <<: *insightface + name: "cpu-insightface-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-insightface" + mirrors: + - localai/localai-backends:master-cpu-insightface +- !!merge <<: *insightface + name: "cuda12-insightface-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-insightface" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-insightface + +# speaker-recognition (voice/speaker biometrics) — Apache-2.0 stack +- &speakerrecognition + name: "speaker-recognition" + alias: "speaker-recognition" + # SpeechBrain is Apache-2.0. WeSpeaker / 3D-Speaker ONNX exports are + # Apache-2.0. The backend itself ships only Python deps — all model + # weights flow through LocalAI's gallery download mechanism (or + # SpeechBrain's built-in HF auto-download at first LoadModel). + license: apache-2.0 + description: | + Speaker (voice) recognition backend — the audio analog to + insightface. Wraps SpeechBrain ECAPA-TDNN (default engine, 192-d + embeddings, ~1.9% EER on VoxCeleb) plus an OnnxDirectEngine for + pre-exported WeSpeaker / 3D-Speaker ONNX models. + + Exposes speaker verification (/v1/voice/verify), speaker embedding + (/v1/voice/embed), speaker analysis (/v1/voice/analyze), and 1:N + speaker identification (/v1/voice/{register,identify,forget}). + Registrations use LocalAI's built-in vector store — same in-memory + backing the face-recognition registry uses, separate instance. + urls: + - https://speechbrain.github.io/ + - https://github.com/wenet-e2e/wespeaker + - https://github.com/modelscope/3D-Speaker + tags: + - voice-recognition + - speaker-verification + - speaker-embedding + - gpu + - cpu + capabilities: + default: "cpu-speaker-recognition" + nvidia: "cuda12-speaker-recognition" + nvidia-cuda-12: "cuda12-speaker-recognition" + metal: "metal-speaker-recognition" +- !!merge <<: *speakerrecognition + name: "speaker-recognition-development" + capabilities: + default: "cpu-speaker-recognition-development" + nvidia: "cuda12-speaker-recognition-development" + nvidia-cuda-12: "cuda12-speaker-recognition-development" + metal: "metal-speaker-recognition-development" +- !!merge <<: *speakerrecognition + name: "cpu-speaker-recognition" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-speaker-recognition" + mirrors: + - localai/localai-backends:latest-cpu-speaker-recognition +- !!merge <<: *speakerrecognition + name: "cuda12-speaker-recognition" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-speaker-recognition" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-speaker-recognition +- !!merge <<: *speakerrecognition + name: "cpu-speaker-recognition-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-speaker-recognition" + mirrors: + - localai/localai-backends:master-cpu-speaker-recognition +- !!merge <<: *speakerrecognition + name: "cuda12-speaker-recognition-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-speaker-recognition" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-speaker-recognition +- !!merge <<: *speakerrecognition + name: "metal-speaker-recognition" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-speaker-recognition" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-speaker-recognition +- !!merge <<: *speakerrecognition + name: "metal-speaker-recognition-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-speaker-recognition" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-speaker-recognition +## sherpa-onnx +- !!merge <<: *sherpa-onnx + name: "sherpa-onnx-development" + capabilities: + default: "cpu-sherpa-onnx-development" + nvidia: "cuda12-sherpa-onnx-development" + nvidia-cuda-12: "cuda12-sherpa-onnx-development" + metal: "metal-sherpa-onnx-development" +- !!merge <<: *sherpa-onnx + name: "cpu-sherpa-onnx" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-sherpa-onnx" + mirrors: + - localai/localai-backends:latest-cpu-sherpa-onnx +- !!merge <<: *sherpa-onnx + name: "cpu-sherpa-onnx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-sherpa-onnx" + mirrors: + - localai/localai-backends:master-cpu-sherpa-onnx +- !!merge <<: *sherpa-onnx + name: "cuda12-sherpa-onnx" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-sherpa-onnx" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-sherpa-onnx +- !!merge <<: *sherpa-onnx + name: "cuda12-sherpa-onnx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-sherpa-onnx" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-sherpa-onnx +- !!merge <<: *sherpa-onnx + name: "metal-sherpa-onnx" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-sherpa-onnx" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-sherpa-onnx +- !!merge <<: *sherpa-onnx + name: "metal-sherpa-onnx-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-sherpa-onnx" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-sherpa-onnx +## supertonic +- !!merge <<: *supertonic + name: "supertonic-development" + capabilities: + default: "cpu-supertonic-development" + metal: "metal-supertonic-development" +- !!merge <<: *supertonic + name: "cpu-supertonic" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-supertonic" + mirrors: + - localai/localai-backends:latest-cpu-supertonic +- !!merge <<: *supertonic + name: "cpu-supertonic-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-supertonic" + mirrors: + - localai/localai-backends:master-cpu-supertonic +- !!merge <<: *supertonic + name: "metal-supertonic" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-supertonic" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-supertonic +- !!merge <<: *supertonic + name: "metal-supertonic-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-supertonic" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-supertonic +- !!merge <<: *vllm-cpp + name: "cpu-vllm-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-vllm-cpp" + mirrors: + - localai/localai-backends:latest-cpu-vllm-cpp +- !!merge <<: *vllm-cpp + name: "cpu-vllm-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-vllm-cpp" + mirrors: + - localai/localai-backends:master-cpu-vllm-cpp +- !!merge <<: *vllm-cpp + name: "cuda13-vllm-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-vllm-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-vllm-cpp +- !!merge <<: *vllm-cpp + name: "cuda13-vllm-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-vllm-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-vllm-cpp +- !!merge <<: *vllm-cpp + name: "nvidia-l4t-arm64-vllm-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-nvidia-l4t-cuda-13-arm64-vllm-cpp" + mirrors: + - localai/localai-backends:latest-nvidia-l4t-cuda-13-arm64-vllm-cpp +- !!merge <<: *vllm-cpp + name: "nvidia-l4t-arm64-vllm-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-vllm-cpp" + mirrors: + - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-vllm-cpp +- !!merge <<: *vllm-cpp + name: "vulkan-vllm-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-vulkan-vllm-cpp" + mirrors: + - localai/localai-backends:latest-gpu-vulkan-vllm-cpp +- !!merge <<: *vllm-cpp + name: "vulkan-vllm-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-vulkan-vllm-cpp" + mirrors: + - localai/localai-backends:master-gpu-vulkan-vllm-cpp +- !!merge <<: *vllm-cpp + name: "metal-vllm-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-vllm-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-vllm-cpp +- !!merge <<: *vllm-cpp + name: "metal-vllm-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-vllm-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-vllm-cpp +## audio-cpp +- !!merge <<: *audiocpp + name: "cpu-audio-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-audio-cpp" + mirrors: + - localai/localai-backends:latest-cpu-audio-cpp +- !!merge <<: *audiocpp + name: "cpu-audio-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-cpu-audio-cpp" + mirrors: + - localai/localai-backends:master-cpu-audio-cpp +- !!merge <<: *audiocpp + name: "cuda12-audio-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-audio-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-12-audio-cpp +- !!merge <<: *audiocpp + name: "cuda12-audio-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-12-audio-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-12-audio-cpp +- !!merge <<: *audiocpp + name: "cuda13-audio-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-13-audio-cpp" + mirrors: + - localai/localai-backends:latest-gpu-nvidia-cuda-13-audio-cpp +- !!merge <<: *audiocpp + name: "cuda13-audio-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-gpu-nvidia-cuda-13-audio-cpp" + mirrors: + - localai/localai-backends:master-gpu-nvidia-cuda-13-audio-cpp +- !!merge <<: *audiocpp + name: "metal-audio-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-audio-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-audio-cpp +- !!merge <<: *audiocpp + name: "metal-audio-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-audio-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-audio-cpp diff --git a/server/common/localai.go b/server/common/localai.go index dade92e..5c4c380 100644 --- a/server/common/localai.go +++ b/server/common/localai.go @@ -67,12 +67,17 @@ func LocalAiClient(ctx context.Context) *LocalAi { } } -// QwenVL 调 local-ai 的多模态 VLM(qwen3.6-35b-a3b + mmproj,llama.cpp 后端)做图片推理。 -// 注意:VL 与 z-image 生成不能同时驻留 12G 显存(OOM),调用方须保证阶段互斥。 +// QwenVL 调多模态 VLM 做图片推理(OpenAI 兼容 /v1/chat/completions)。 +// 2026-09-10 起默认走 omlx(localAi.vlmBaseUrl,MLX 多模态模型);未配置 vlmBaseUrl +// 时回落 localAi.baseUrl(旧 local-ai 部署同机混部形态)。 func QwenVL(ctx context.Context, imgData []byte, mime, prompt string) (string, error) { - base := strings.TrimRight(g.Cfg().MustGet(ctx, "localAi.baseUrl").String(), "/") + base := g.Cfg().MustGet(ctx, "localAi.vlmBaseUrl").String() if base == "" { - return "", fmt.Errorf("localAi.baseUrl 未配置") + base = g.Cfg().MustGet(ctx, "localAi.baseUrl").String() + } + base = strings.TrimRight(base, "/") + if base == "" { + return "", fmt.Errorf("localAi.vlmBaseUrl/localAi.baseUrl 未配置") } model := g.Cfg().MustGet(ctx, "localAi.vlmModel", "qwen3.6-35b-a3b").String() b64 := base64.StdEncoding.EncodeToString(imgData) @@ -96,6 +101,9 @@ func QwenVL(ctx context.Context, imgData []byte, mime, prompt string) (string, e return "", err } req.Header.Set("Content-Type", "application/json") + if key := g.Cfg().MustGet(ctx, "localAi.vlmApiKey").String(); key != "" { + req.Header.Set("Authorization", "Bearer "+key) + } resp, err := http.DefaultClient.Do(req) if err != nil { return "", err diff --git a/server/common/training_runner.go b/server/common/training_runner.go index 20a6342..02b5483 100644 --- a/server/common/training_runner.go +++ b/server/common/training_runner.go @@ -42,8 +42,10 @@ type TrainingRunner interface { // PushArtifact 把服务器本地文件推到训练机(增量训练基座权重,2026-09-09; // remoteName 相对训练机 workdir) PushArtifact(ctx context.Context, job *TrainingJob, remoteName, localPath string) error - // SyncYoloDataset 把训练集包落到训练机(subprocess 直写 workdir;ssh 走 tar 流式管道,本地不落盘) + // SyncYoloDataset 把训练集包落到训练机(subprocess 直写 workdir,原图硬链接引用;ssh 走 tar 流式管道,本地不落盘) SyncYoloDataset(ctx context.Context, job *TrainingJob, pkg *YoloPackage) error + // CleanupYoloDataset 删除训练机上的数据集目录(任务终态调用:成功/失败/取消,防 GB 级残留) + CleanupYoloDataset(ctx context.Context, job *TrainingJob) error // WriteTaskJson 把任务参数文件写到训练机(随 Start 前的准备阶段调用) WriteTaskJson(ctx context.Context, job *TrainingJob, content string) error } @@ -106,7 +108,7 @@ func TrainingConfigOf(ctx context.Context) (TrainingConfig, bool) { Workdir: g.Cfg().MustGet(ctx, "training.workdir").String(), DatasetDir: g.Cfg().MustGet(ctx, "training.datasetDir", "datasets").String(), Python: g.Cfg().MustGet(ctx, "training.venvPython").String(), - TimeoutMins: g.Cfg().MustGet(ctx, "training.timeoutMinutes", 600).Int(), + TimeoutMins: g.Cfg().MustGet(ctx, "training.timeoutMinutes", 0).Int(), Model: g.Cfg().MustGet(ctx, "training.model", "yolov8s.pt").String(), Imgsz: g.Cfg().MustGet(ctx, "training.imgsz", 1280).Int(), ModelN: g.Cfg().MustGet(ctx, "training.modelN").String(), @@ -235,25 +237,41 @@ func (r *subprocessRunner) PushArtifact(ctx context.Context, job *TrainingJob, r } func (r *subprocessRunner) SyncYoloDataset(ctx context.Context, job *TrainingJob, pkg *YoloPackage) error { - // 同机训练:训练进程直接读 workdir 下文件,包直写目标目录(无中间暂存) + // 同机训练:训练进程直接读 workdir 下文件,包直写目标目录(无中间暂存)。 + // 原图用硬链接引用项目数据集目录(同卷 0 空间占用,训练机=开发机架构下原图只存一份), + // 跨卷等 os.Link 失败场景回退拷贝 dst := filepath.Join(job.Workdir, job.DatasetDir, "yolo", job.DatasetName) _ = os.RemoveAll(dst) for _, f := range pkg.Files { - data := f.Content + dstPath := filepath.Join(dst, filepath.FromSlash(f.Name)) if f.ImagePath != "" { + if err := os.MkdirAll(filepath.Dir(dstPath), 0o755); err != nil { + return err + } + if err := os.Link(f.ImagePath, dstPath); err == nil { + continue + } imgData, rErr := os.ReadFile(f.ImagePath) if rErr != nil { return gerror.Wrapf(rErr, "读取原图失败: %s", f.ImagePath) } - data = imgData + if err := WriteFileAtomic(dstPath, imgData); err != nil { + return err + } + continue } - if err := WriteFileAtomic(filepath.Join(dst, filepath.FromSlash(f.Name)), data); err != nil { + if err := WriteFileAtomic(dstPath, f.Content); err != nil { return err } } return nil } +func (r *subprocessRunner) CleanupYoloDataset(ctx context.Context, job *TrainingJob) error { + dst := filepath.Join(job.Workdir, job.DatasetDir, "yolo", job.DatasetName) + return os.RemoveAll(dst) +} + func (r *subprocessRunner) WriteTaskJson(ctx context.Context, job *TrainingJob, content string) error { dir := filepath.Join(job.Workdir, "tasks") if err := os.MkdirAll(dir, 0o755); err != nil { @@ -493,6 +511,12 @@ func writeYoloTar(w io.Writer, datasetName string, pkg *YoloPackage) error { return nil } +func (r *sshRunner) CleanupYoloDataset(ctx context.Context, job *TrainingJob) error { + dst := fmt.Sprintf("%s/%s/yolo/%s", job.Workdir, job.DatasetDir, job.DatasetName) + _, err := r.runCmd(ctx, job, fmt.Sprintf("rm -rf %s", dst)) + return err +} + func (r *sshRunner) WriteTaskJson(ctx context.Context, job *TrainingJob, content string) error { // 通过 ssh stdin 管道写文件(避免命令行转义地狱) client, err := r.dial(ctx) diff --git a/server/config.yml b/server/config.yml index 8ad172a..ea88986 100644 --- a/server/config.yml +++ b/server/config.yml @@ -108,7 +108,7 @@ training: workdir: /Users/zhangbin/yolo-workdir # 训练机工作目录(train_server.py / yolov8s.pt / yolov8n.pt 所在) venvPython: /Users/zhangbin/yolo-venv/bin/python datasetDir: datasets # 训练机数据集根目录(相对 workdir,yolo/ 为子目录) - timeoutMinutes: 240 # 训练超时判死(started_at 起算;实测 100 张约 3 分钟,千图级约 1 小时) + timeoutMinutes: 0 # 训练超时判死(started_at 起算;0 = 不限时,2026-09-10 用户定案训练时长不受限。存活探测失败仍按进程退出判死) # 双档位(2026-09-03 用户定案):s 档(高识别,默认)与 n 档(高性能)各自基座/分辨率; # 一次「开始训练」按档位各建一条任务(请求 variants 可限定单档);epochs/batch/device 双档共用。 # n 档未配置(modelN/imgszN 缺一)时发起含 n 档的请求报错 @@ -121,10 +121,13 @@ training: device: "mps" # GPU 编号(cpu 用 cpu;M1 本机用 mps,训练机切回时改回 "0") # RF-DETR 预标注服务(管理端标注工作台):需从服务器可达,未配置时预标注接口返回「标注服务未配置」 +# 2026-09-10 本机架构:检测=local-ai(18082, rfdetr-xlarge);VLM=omlx(18081, 多模态 MLX 模型) localAi: - baseUrl: "http://192.168.3.210:18080" # 如 http://127.0.0.1:18080(local-ai 兼容 /v1/detection) + baseUrl: "http://127.0.0.1:18082" # local-ai(/v1/detection,LaunchAgent 自启 ~/localai/start.sh) model: rfdetr-xlarge - vlmModel: qwen3-vl-8b # VLM 藏匿位补检模型(Qwen3-VL-8B 多模态 GGUF+mmproj,2026-09-02 起与 z-image/rfdetr 三模型共存) + vlmBaseUrl: "http://127.0.0.1:18081" # omlx(OpenAI 兼容 /v1/chat/completions;空则回落 baseUrl) + vlmApiKey: "wenwu901" # omlx api_key(~/.omlx/settings.json auth 节点) + vlmModel: Qwen3.5-9B-MLX-4bit # VLM 模型(omlx 多模态 MLX 4bit;备选 gemma-4-E4B-mlx-4bit,空闲 10 分钟自动卸载) threshold: 0.2 # 候选置信度下限:0.2 以下直接丢弃(不入库);0.08 实测过低——COCO 通用 rfdetr 对类鸟纹理在 0.08~0.2 区间输出大量噪声候选 confConfirmed: 0.5 # 置信度 ≥ 0.5 视为确认(class 0 真目标);0.2~0.49 落疑似(class 1)待人工复核(2026-09-02 RNPHE_257 实测调定:误检可达 0.46~0.5 且与真目标仅差 ~0.1,误检落 class 0 会污染训练正样本) overlapThreshold: 0.3 # 重叠去重阈值(交叠/较小框面积,NMS 风格;RF-DETR 同目标常输出一大一小两框,minIoU 比 IoU 更能命中) diff --git a/server/data/.local_user_id b/server/data/.local_user_id new file mode 100644 index 0000000..f33c78e --- /dev/null +++ b/server/data/.local_user_id @@ -0,0 +1 @@ +2e308d32-5f16-4b46-ba2b-991e14ae68f0 \ No newline at end of file diff --git a/server/data/observer.db b/server/data/observer.db index 4e33833..096e1ab 100644 Binary files a/server/data/observer.db and b/server/data/observer.db differ diff --git a/server/技术设计.md b/server/技术设计.md index c0386c6..83ccaff 100644 --- a/server/技术设计.md +++ b/server/技术设计.md @@ -164,7 +164,7 @@ CREATE INDEX IF NOT EXISTS idx_model_training_status ON model_training(status); **决策(2026-08-26)**:AI 标注端点(`localAi`)与训练机 SSH 凭据(`training.ssh`)是全局配置、与数据集无关——**不设独立存储**(曾尝试 `app_config` KV 表 + 管理端「训练配置」入口,2026-08-26 撤销):标注与训练直接读 `config.yml` 的 `localAi` / `training.ssh` 节点,改配置需重启服务。数据集表原 6 个覆盖列(ai_endpoint 等)已随 v12 删除。 -- AI 客户端:`common.LocalAiClient(ctx)` 直读 `localAi.baseUrl`/`model`,未配置返回 nil(预标注接口报「标注服务未配置」) +- AI 客户端:`common.LocalAiClient(ctx)` 直读 `localAi.baseUrl`/`model`,未配置返回 nil(预标注接口报「标注服务未配置」);VLM 调用(`common.QwenVL`)2026-09-10 起读 `localAi.vlmBaseUrl`/`vlmApiKey`(omlx OpenAI 兼容服务,空则回落 `baseUrl` 同机混部形态) - SSH 凭据:`common/training_runner.go` 的 sshRunner 直读 `training.ssh.host`/`user`/`port`/`privateKeyPath`/`password`,未配置 host 报「training.ssh 未配置 host」 ## 账号体系(注册/登录) @@ -365,7 +365,7 @@ training: workdir: /opt/pheasant_data # 训练机工作目录 venvPython: /opt/pheasant_data/venv/bin/python datasetDir: datasets # 训练机数据集根目录(相对 workdir,数据集为子目录) - timeoutMinutes: 240 # 超时判死(started_at 起算;100 张实测约 3 分钟) + timeoutMinutes: 0 # 超时判死(started_at 起算;0 = 不限时,2026-09-10 用户定案训练时长不受限) model: yolov8s.pt # s 档(高识别)基座权重(须已同步到训练机 workdir) imgsz: 1280 # s 档训练/导出分辨率(须与 App 端推理输入对齐) modelN: yolov8n.pt # n 档(高性能)基座权重(2026-09-03 双档位;须已同步到训练机 workdir) @@ -385,7 +385,7 @@ training: - **训练脚本**(`server/training/train_server.py`,随项目迁移):支持 `--task-json `(含 dataset/imgsz/epochs/batch/device/project 名),每 epoch 输出一行机器可读 JSON 到 `--log-file`(`{"epoch":1,"total":150,"metrics":{...}}`),结束写 `result.json`(最终指标);Go 侧解析日志行更新进度、轮询日志尾部截断 N KB 存 `model_training.log_tail` - **tflite 产物自检**(2026-08-26):`inspect_tflite.py` 的 flatbuffer 解析逻辑内嵌进 `train_server.py`(`check_tflite`),训练收尾定位 `best.tflite` 后自动校验并写 `result.json` 的 `tflite_check` 字段:`{"ok":bool,"reason":string,"inputs":[{"name","shape","type"}],"outputs":[...]}`;校验规则 = 输入恰 1 张且 4 维、元素总数 == imgsz²×3(兼容 NCHW/NHWC)、输出 ≥ 1 张且 batch 维 = 1;`ok=false`(如 shape 漂移、导出异常)时 Go 侧在拉产物前直接置训练失败并带出 reason,杜绝坏产物进入发布链路;`dump_graph.py` 保留作训练机人工深度调试 - **双档位训练(2026-09-03 用户定案)**:每数据集并行维护两个档位模型——**s 档(高识别)**:s@1280(基座 `training.model`/`imgsz`,见 2026-09-01 升级条),精度优先;**n 档(高性能)**:n@704(基座 `training.modelN`/`imgszN`),速度优先(中端机每帧 ~10ms 量级,远小于 s 的 70-120ms)。一次「开始训练」按档位各建一条任务:请求 `variants:["s","n"]` 限定(省略=双档;**只补跑高性能档传 `["n"]`**——存量 s 训练不重复发起);epochs/batch/device 双档共用 `training` 节点。任务表带 `variant` 列快照,训练机侧 `task.json` 按档位传 model/imgsz(train_server.py 本就参数化,无需改)。n 档权重须已同步到训练机 workdir(yolov8n.pt);n 档配置缺失(modelN/imgszN 未配)时发起含 n 档的请求报错。**选型背景**:s@1280 是当前最优精度形态,n@704 是端侧实时性的兜底形态(曾同规格 @704 训练:识别快、小目标误漏多),双档并存让用户在精度/速度间切换(App 端全局识别档位切换,见 flutter_app/README) -- **任务生命周期**:`queued → running → success/failed`;取消 = 杀进程(ssh 模式远程 kill pid;queued 无进程直接置 failed);超时无心跳判死;**Go 服务重启后启动扫描** running 任务按 pid 存活探测(subprocess 本机、ssh 远程 `kill -0`),进程已死则置 failed(queued 任务落库即持久,重启后由轮询继续晋级,无需恢复处理) +- **任务生命周期**:`queued → running → success/failed`;取消 = 杀进程(ssh 模式远程 kill pid;queued 无进程直接置 failed);超时判死默认关闭(`timeoutMinutes: 0` 不限时,2026-09-10 用户定案训练时长不受限——此前 240 分钟曾误杀长任务;>0 时 started_at 起算超时杀进程);**Go 服务重启后启动扫描** running 任务按 pid 存活探测(subprocess 本机、ssh 远程 `kill -0`),进程已死则置 failed(queued 任务落库即持久,重启后由轮询继续晋级,无需恢复处理) - **发起训练异步化(2026-08-27)**:发起请求仅做校验(数据集存在 / `prepareYoloSet` 有标注 / Serial 内并发检查)+ 落任务记录即返回(毫秒级);训练机侧准备(写任务参数 → ssh tar 同步数据集 → 启动进程,耗时可达分钟级)在后台协程执行(`context.Background()`,与预标注 `runDetection` 同模式),任何一步失败经 `finishFailed` 置任务 failed 由列表/轮询呈现——此前同步执行超过管理端 axios 10s 超时,出现「任务已落库但前端报 timeout」的不一致 - **GPU 独占排队(2026-09-03,替代「并发度 1 拒绝」)**:训练机单 GPU 无法并行两任务(显存),并发度 1 语义不变——已有 running 时新任务**不再拒绝**,落 `queued` 排队;10s 轮询在 running 结束后自动晋级最老 queued 为 running(CAS 防竞态后起后台协程做训练机准备);双档/多数据集可一次发起一串,训练机串行逐个执行。**同数据集同档位防重**:发起时检查该 (数据集,档位) 是否已有 running/queued 任务,有则拒绝(防双击/重复请求——排队不再拒绝后双档各自独立排队,同档重复提交会白跑两轮)。**发起校验与晋级都重新 `prepareYoloSet`**:请求时校验有标注即可(立即报错),晋级时重新打包(取发起后新标注,拆分 80/20 随任务时刻新鲜);数据集改名/删图期间排队任务晋级失败即置 failed 由列表呈现 - 产物拉取(2026-08-27 重构;命名 2026-08-28 改;**双档位 2026-09-03**):成功后只拉 `best.tflite` 直写服务器 `workspace/trainings/<文件名前缀>.tflite`(s 档,前缀空回退数据集名)或 `<文件名前缀>_n.tflite`(n 档);原子覆盖,无 per-task 存档、不再打包 zip。s 档文件名与存量一致(存量已发布文件/旧 App 下载地址不变),n 档 `_n` 后缀区分 @@ -415,7 +415,7 @@ training: - **详情页布局(2026-09-02 卡片化改版后快照)**:图片以缩略图卡片网格展示(每页 18 张,点卡片进弹窗编辑器);页顶标注/AI 生成任务进度条;**图片列表三 tab(2026-09-02)**:「未标注」(默认,待处理优先)、「已标注」、**「已清洗」**各带计数——已标注判定 = labels_json 非空(空检出 `[]` 的图仍在未标注,等人工画框);**未标注 tab 只显示未下发的图(annotate_task_id=0,2026-09-07 众包图片粒度下发,已下发图从 tab 消失,停用任务释放后回来)**;**已清洗 tab = clean_excluded=1 的图(数据清洗执行后从已标注 tab 移入,卡片角标同 tab 语义二选一),内提供逐张/批量恢复(= 清除标记,回「已标注」)**,恢复仅动作无删除;「数据清洗」按钮在已标注 tab 工具条(分析/执行入口,见下节);切 tab/翻页均清空勾选(防跨 tab 误标),编辑器「上一张/下一张」仅在当前 tab 列表内导航(连续标注不串到另一分类);**卡片上不再叠「已标注/未标注」角标**(2026-09-02,分类由 tab 表达),仅保留 AI 来源角标(付费资产提示) - **弹窗标注**:点击原图/标注图打开放大弹窗(大 canvas,1152x2048 原尺寸),支持两点画框/点框删除/清空/类别切换(确认 0/疑似 1)/上下一张/保存——**AI 自动标注与人工框同层可编辑**(含清理 AI 框);保存即整体覆写 `dataset_image.labels_json`(JSON 数组,YOLO 归一化 xywh+类别+置信度,空=清空标注);未保存修改切换图片有确认 - 无历史标注任务时详情页工作台数据源为 `GET /admin/label-workbench?dataset_id=`(图片 + 全量标注框),避免依赖人工先跑一次任务 -- 训练前自动整理(prepare_yolo 逻辑服务端,**内存组装不落本地盘**):数据集有 labels → 按 80/20 拆 train/val 生成 YOLO 训练集包(标注 txt 内存生成、原图只记数据集目录源路径)→ 随同步推训练机(subprocess 直写 `workdir/datasetDir/yolo//`;ssh 走 **tar 流式管道**本地不落盘);**自动标注图直接进训练集**(人工修改/清理后即为训练数据),**2026-09-02 起跳过 `clean_excluded=1` 的图(数据清洗排除,见下)**;本地无暂存目录(旧 `workspace/datasets/yolo/` 与 `labels/` 已删除) +- 训练前自动整理(prepare_yolo 逻辑服务端,**内存组装不落本地盘**):数据集有 labels → 按 80/20 拆 train/val 生成 YOLO 训练集包(标注 txt 内存生成、原图只记数据集目录源路径)→ 随同步推训练机(subprocess 直写 `workdir/datasetDir/yolo//`,**2026-09-09 起原图用硬链接引用**(同机 0 空间占用、免 GB 级重复拷贝,跨卷等 `os.Link` 失败自动回退拷贝;训练机=开发机同一台 Mac 的现架构下原图只在项目数据集目录存一份);ssh 仍为**tar 流式管道**实拷贝,本地不落盘);**任务终态清理(2026-09-09)**:成功/失败/取消均由 `CleanupYoloDataset` 删训练机数据集目录(best effort 失败仅记日志;下次同步自带 RemoveAll 自愈)——取消发生在数据集同步进行中的竞态窗口可能残留半截目录(下次同数据集训练时清掉);**自动标注图直接进训练集**(人工修改/清理后即为训练数据),**2026-09-02 起跳过 `clean_excluded=1` 的图(数据清洗排除,见下)**;本地无暂存目录(旧 `workspace/datasets/yolo/` 与 `labels/` 已删除) ### 数据清洗(训练集去冗余,2026-09-02) @@ -465,7 +465,14 @@ CREATE TABLE IF NOT EXISTS false_target_report ( ); ``` -**数据流**:App 一键上报,无选择步骤——按一次快照帧(**与喂给 YOLO 的帧同源同尺寸**,保证所见即所传)+ 当前全部检测框快照(`detections` JSON:label/class/score/model/归一化 xywh,非法框服务端直接丢弃不拦上报)→ 单独同意(首次)→ isolate 内**整帧 jpg q85 重编码**(天然剥离 EXIF/GPS 等全部元数据)→ multipart 上传 → 服务端落 `datasetDir/false_targets/.jpg` + 记录 pending(Serial 内查日限额,每用户每日 50 条)→ 管理端「数据训练 → 假目标上报」tab 审核:**通过 = 文件迁移入 `datasets/__negative__/`(os.Rename 同盘直迁)+ dataset_image 入库(source=manual,负样本库无标注/审核流程)+ image_count++**;**拒绝 = 记录与文件同删(无 rejected 状态)**。保证「记录存在 ⟺ 文件存在」不变式(入库失败回滚删文件)。整帧入负样本库的误判风险(画面中真目标未检出却被当背景)由人工审核借助检测框快照把关。 +**数据流**:App 一键上报,无选择步骤——按一次快照帧(**与喂给 YOLO 的帧同源同尺寸**,保证所见即所传)+ 当前全部检测框快照(`detections` JSON:label/class/score/model/归一化 xywh,非法框服务端直接丢弃不拦上报)→ 单独同意(首次)→ isolate 内**整帧 jpg q85 重编码**(天然剥离 EXIF/GPS 等全部元数据)→ multipart 上传 → 服务端 Serial 内查重 + 查日限额(每用户每日 50 条)→ 均通过才落 `datasetDir/false_targets/.jpg` + 记录 pending → 管理端「数据训练 → 假目标上报」tab 审核:**通过 = 文件迁移入 `datasets/__negative__/`(os.Rename 同盘直迁)+ dataset_image 入库(source=manual,负样本库无标注/审核流程)+ image_count++**;**拒绝 = 记录与文件同删(无 rejected 状态)**。保证「记录存在 ⟺ 文件存在」不变式(入库失败回滚删文件)。整帧入负样本库的误判风险(画面中真目标未检出却被当背景)由人工审核借助检测框快照把关。 + +**上报查重与疑似真目标预判(2026-09-09)**: +- **dHash 查重**:上传整帧算 64 位 dHash(复用 `common.ImageDHash64`,数据清洗同款),Serial 事务内与全表已有 hash(pending+approved,0=未算跳过)比最小汉明距离,≤ `consts.FalseTargetDupHamming`(=8,与数据清洗 `CleanHashHamming` 同值,可标定调整)→ 报错「相似样本已存在,无需重复上报」,不落盘不占日限额。动机:同机位连续帧重复上报是审核队列堆积 + 负样本库同场景过采样的主源;整帧(同机位同光线)是 dHash 判别力最强的形态。查重范围=上报表即可传递覆盖负样本库主体(approved 记录与库内条目 1:1 迁移、文件名不变);负样本库另两口(管理端手动上传/AI 生成)为管理员 curated/AI 天然多样,v1 不查重。 +- **查重先于落盘(2026-09-10)**:查重、日限额、落盘、入库全部在同一个 Serial 块内按序执行——重复上报不产生文件(原先先落盘再查重、拒绝时删文件;查重与落盘分处两块时并发同图上报会各自通过查重)。副作用:`saveUploadAs` 先按原文件名暂存(App 端固定 `frame.jpg`)再改名,移入串行块后并发同名暂存竞态一并消除。 +- **image_hash 有符号存储陷阱(2026-09-10 e2e 实测)**:dHash 最高位为 1 时 `int64(hash)` 为负数(SQLite INTEGER 有符号),比对集查询必须用 `image_hash != 0` 而非 `> 0`,否则约半数 hash 被排除、查重静默失效;读写用 `uint64(int64)` 比特原样往返,无需额外编码。 +- **存量 hash 回填**:启动后台一次性协程遍历 image_hash=0 记录,pending 从 `false_targets/`、approved 从 `datasets/__negative__/`(文件名迁移不变)读图算 hash 回写;文件缺失跳过(留 0,不参与比对)。 +- **RF-DETR 疑似真目标预判**:上报落库成功后异步(复用 LabelTaskPool)对整帧跑 `common.LocalAiClient` 全图检测,最高置信度 ≥ `localAi.confConfirmed`(真目标确认线,同预标注分档语义)置 `suspect_real=1`;**未配置/失败静默跳过**(fail-open,不阻塞上报,与预标注付费资产同哲学)。语义:用户把真目标误标为假目标的辅助识别——真目标混入负样本库当背景是训练毒药,标记供管理端审核把关,**审核动作本身不自动拦截**。 **合规三约束**(PIPL + 单独同意): 1. **客户端重编码 jpg** 剥离全部元数据(GPS/设备信息),服务端不接收原始帧 diff --git a/server_admin/src/views/FalseTargets.vue b/server_admin/src/views/FalseTargets.vue index 7ac4bfe..76b44c1 100644 --- a/server_admin/src/views/FalseTargets.vue +++ b/server_admin/src/views/FalseTargets.vue @@ -116,6 +116,13 @@ defineExpose({ load }) + + +