本文转载自公众号「AI Infra 源码分析」,原文《Go TaaS:把算力变成 Token 工厂的开源底座》。

作为云计算从业者,过去十年,我们习惯用资源描述基础设施:多少核、多少 GB 内存、多少张卡。客户也习惯这样买。但在推理成为主要负载之后,资源不再是交付物,Token 才是。资源只是生产 Token 的原材料。

Go TaaS 是我们基于这样的判断做的一个 AI Native 的开源项目:Apache-2.0 License,跑在 Kubernetes 上,把模型部署、异构加速卡调度、Token 计量、计费结算和路由治理做成可私有化部署的底座。它不是又一个 MaaS 平台,而是一座能自己运营的 Token 工厂。

之所以称之为 AI Native 的项目,是因为这个项目我只做了架构设计和 CI/CD 流水线的搭建,剩下的功能探索、设计、文档、编码都是 AI 小团队完成的。AI Coding 发展到今天,模型编码的能力已经达到甚至超过很多人类工程师的水平,我们 Review 的速度已经远远赶不上代码生成的速度。所以我们把这个项目开源出来,希望更多的伙伴参与进来,给 AI 上 Harness、Review 代码、在真实的集群上验证,用一种全新的开发方式共同建设一座开放的企业级 Token 工厂。

01 / Abstraction:从云计算到 AI,基础设施的演进

IaaS → PaaS → SaaS | ML Platform → MaaS → TaaS

如果把过去二十年压缩成一条线,大致是这样一个顺序:2006 年前后,IaaS 把虚拟化的计算、存储和网络当成资源出租;2010 年前后,PaaS 把运行时、数据库和中间件托管起来,开发者只交代码;2015 年前后,SaaS 把业务功能直接做成应用,用户按席位付费。这三个阶段大家都熟,不必展开。

AI 时代多出来的三层,性质不太一样。2018 年前后的 ML Platform 解决的是能不能造出模型,覆盖数据、标注、训练、调优、评测、模型仓库与推理部署;2023 年前后的 MaaS 解决的是能不能方便地用上模型,把训练好的模型以托管 API 提供,附带模型目录、微调和工具链;2025 年之后出现的 TaaS,解决的是能不能规模化、低成本、可结算地把 Token 卖出去。

这三层不是简单替换前两层。云时代,算力持有方把资源卖给云厂商,云厂商自己完成运营;AI 时代,算力散落在 IDC、运营商、行业云和一堆异构集群里,中间需要一个运营层,把卡变成可计量的 Token。TaaS 就是这一层。

云计算三层与 AI 时代三层的演进对照

图 1:左边是云计算的三层,右边是 AI 时代对应的三层,两边自上而下都是业务价值 → 资源。同一行的两者处于同一抽象层级,中间的箭头表示交付物与计量单位的变化,不是技术替代。

把同一行的两个框横着读,会发现三件事在同时变化:交付物、计量单位、买家。

交付物从资源变成能力,再变成承诺。 最下面一行,IaaS 交付一台机器,ML Platform 交付一套训练与评测能力;中间一行,PaaS 交付一个运行环境,MaaS 交付一组模型 API;最上面一行,SaaS 交付业务功能,TaaS 交付的是一段时间内稳定输出的 Token,以及围绕它的 SLA、配额和账单。客户买的不是我有多少卡,而是你保证我每月能用多少 Token,延迟上限多少,故障怎么赔。

计量单位从时间、席位,变成调用与 Token。 按时间计费的问题,是时间和业务价值弱相关:一个客户跑了十小时可能只发了一百个请求,另一个客户同样十小时发了一百万个。按调用次数计费,又无法区分长短请求。Token 同时反映输入长度、输出长度、缓存命中与推理深度,是目前最接近智能用量的度量。它不完美——不同 tokenizer 的计数不同,图片、音频的计量还在演化——但在工程上,它比其它口径更可解释,也更容易做进合同。

买家从 IT 部门变成开发者,再变成 Agent 和平台运营方。 这一条最容易被忽略。当调用方是 Agent,它不看你的控制台做得漂不漂亮。它只感知三件事:API 稳不稳、错误码清不清楚、限流会不会把它打死。这直接决定了 TaaS 的架构重心在数据面,不在界面。

TaaS 不是 MaaS 上面再叠一层。现实里,MaaS 可以直接跑在 IaaS 上,不经过 ML Platform;TaaS 也可以自带模型目录和 Playground,看起来像 MaaS。图上的上下关系表示价值抽象,不是调用顺序,也不是部署依赖。判断一个平台属于哪一层,看两件事:谁付钱,考核什么指标。

02 / Capital:资本为什么在这个时间点涌向 Token 工厂

先把时间线摆出来。以下数字来自公开报道,口径并不统一,但方向足够清楚。

时间公司轮次金额备注
2026-05无问芯穹新一轮超 7 亿元杭州高新金投、惠远资本领投;累计超 22 亿元
2026-06硅基流动B 轮超 20 亿元据 36 氪报道,估值 77.4 亿元
2026-07趋境科技A 轮半年超 10 亿元河南投资集团汇融基金领投
2026-10无问芯穹C 轮23 亿元累计 43 亿元;据彭博社,已保密递表港交所

数据来源:公开报道,截至 2026 年 10 月。不同来源的融资金额与估值口径未统一,仅用于判断方向。

无问芯穹这一轮最值得看。投资方名单里有国资机构、腾讯、百度、红杉中国、启明创投、顺为资本等;它不碰芯片,也不碰模型,做的是中间那层异构算力调度,把不同架构的卡统一纳管,再把 Token 当电卖。按公开说法,平台适配了 16 种芯片、服务 37,000P 算力,新芯片的适配周期约两个工作日,千卡异构混合训练的系统利用率达到 97.6%。这些数字都是厂商自述,但方向很明确:算力越碎,中间层越值钱。

海外市场给的估值更夸张。做同一门生意的 Fireworks AI,一年内估值从 40 亿美元涨到 175 亿美元;Baseten 涨了 160%,Together AI 涨了 151%。三家背后都有英伟达。卖铲子的公司亲自下场押注下游,说明它判断推理需求还会继续放大。

背后是技术发展方向判断

  • 推理负载超过训练。 训练是一次性资本开支,推理是每天开门就要烧的电费。当推理成为主要成本项,企业会像优化供应链一样优化 Token 生产:批处理、缓存、路由、量化,能省一点是一点。
  • 模型商品化。 开源模型在多数场景逼近闭源,模型性能与数量不再是壁垒。竞争点回到单位 Token 成本、首 Token 延迟、稳定性和芯片覆盖。模型厂商打得越凶,中间层的调度和优化越有价值。
  • Agent 与长上下文。 一个 Agent 任务背后是几十次推理调用,多轮对话、工具调用、长文档、推理 Token 把单次请求的消耗成倍放大。按无问芯穹公开的说法,其平台日均 Token 使用量半年增长超过 40 倍,95% 以上的推理任务来自 Agent。厂商的说法未经证实,但和我们看到的流量结构一致。
  • 算力异构与碎片化。 NVIDIA、昇腾、沐曦、摩尔线程、海光、寒武纪等多种加速卡并存,指令集、内存模型、编译器都不一样。算力持有方需要一层软件做统一纳管、调度和计量,否则无法对外提供标准的 Token 服务。这是 TaaS 存在的物理基础。
  • 从试点走向生产。 试点阶段,客户能忍受手工部署和 Excel 对账;进入生产,SLA、多租户、配额、审计、发票,一样都不能少。只提供 API 的模型演示平台过不了采购这一关。

堆卡不等于产能

Token 工厂不是买卡开机就能赚钱。先看单位成本:

单位成本计算:有效产出才是分母

分母是有效产出,不是卡的数量。举个具体的例子:一个 8 卡实例,假设聚合输出吞吐 2,000 tokens/s。注意这是整个实例的总吞吐,不是单个请求的速度。单请求解码约 50 tokens/s,所以并发大约是 2,000 ÷ 50 = 40 个请求同时在生成。平均每个请求输出 1,000 tokens,生成需要 20 秒,加上首 Token 等待约 0.8 秒,驻留时间约 21 秒。用 Little’s Law 校验:到达率 2,000 ÷ 1,000 = 2 请求/秒,2 × 21 ≈ 42,和 40 基本吻合。

成本这边,2,000 tokens/s 跑满一小时是 720 万 tokens。30 元/小时除以 7.2 百万,约 4.2 元/百万 Token。这是 100% 利用率;按日均 70% 的有效利用率,成本会升到约 6.0 元。利用率对单位成本的影响是直接的,不需要复杂的模型就能看出来。

所以堆卡和产能是两件事。卡在排队、显存碎片、批处理没做好,有效产出可能只有峰值的一半。TaaS 的成本优化,主要不是采购问题,是工程问题:批处理、前缀缓存、PD 分离、弹性伸缩、路由。买更便宜的卡当然有用,但它的上限很清楚;把分母做大,空间反而更大。

中间层的三道坎

写到这里,需要泼一点冷水。资本密集进入,不等于这门生意已经跑通。

中间层的三道坎

  1. 价格战。 上游算力紧缺,下游 Token 越来越便宜,中间层被两头挤压。行业内已经开始讨论词元通胀:Token 越来越多、越来越便宜,薄利多销很容易变成越卖越亏。
  2. 模型迭代速度。 工厂最怕产品天天变,今天刚调好的产线,明天新架构出来就要推倒重来。
  3. 异构这个前提本身。 无问芯穹的首席科学家戴国浩博士公开承认过三条挑战:算力资源碎片化、推理成本高、模型迭代快对架构灵活性要求高。这三条不是客套,是这门生意的软肋。

更长远地看,中间层公司一直不好做。云计算时代也有一批做多云管理、异构调度的公司,最后要么被收购,要么被上游吞掉。原因不复杂:上游想自己把控生态,下游想直接找源头。中间层要么做大成平台,要么退成软件,给掌握产能的人做底座。

Go TaaS 选后者。我们不打算再做一个通用 MaaS,也不打算自己囤卡卖 Token。我们做的是可私有化部署的 Token 工厂底座:部署、调度、计量、计费、路由、治理。帮助有算力、有客户、有场景的企业把算力变成可运营 Token 服务的软件能力。

03 / Definitions:ML Platform、MaaS、TaaS 的边界

这三个词经常被混着用。但其实它们是不同的平台,解决的是不同的问题。

ML Platform、MaaS、TaaS 的边界

维度ML PlatformMaaSTaaS
抽象对象训练任务、实验、模型版本模型 API、模型目录Token 产能、推理服务、租户与账单
核心交付模型资产与训练能力模型访问能力可计量的 Token 供给 + 运营能力
计量单位算力时 / 实例时调用次数 / TokenToken(输入、输出、缓存、推理分类型)
主要用户算法 / ML 工程师应用开发者平台运营方、企业 IT、算力持有方
成功指标训练效率、GPU 利用率、迭代速度模型覆盖、可用性、调用量单位 Token 成本、产能利用率、毛利率、SLA
技术栈K8s、Ray、Kubeflow、训练框架推理集群、模型网关、微调、RAG异构算力调度、推理引擎、计量计费、可观测性、成本优化

如何判断一个平台是不是 TaaS

  1. 是否按 Token 计量,且区分输入、输出、缓存与推理 Token?
  2. 是否多租户隔离,密钥、配额、数据边界清晰?
  3. 是否有配额、余额、账单与结算闭环?
  4. 是否有可承诺的 SLA,并与模型、卡型、上下文长度绑定?
  5. 是否以单位 Token 成本为核心 KPI,而不是调用量?

第三和第五个问题最容易被跳过。没有账单闭环,平台就无法对外营业;只考核调用量,团队最后一定会走到降价换量。必须同时看单位成本、利用率和毛利,才可能做成生意。

四个常见误区

说法实际情况
有 OpenAI 兼容 API 就是 TaaSAPI 兼容只是接入层。没有计量、隔离、结算和成本运营,它只是一个模型代理。
TaaS 就是 MaaS 改名前者卖产能与确定性,KPI 是成本、利用率、毛利;后者卖模型访问,KPI 是调用量。
必须自研推理引擎不必。引擎在快速商品化,壁垒在参数调优、异构适配、验证矩阵和运营经验。
模型越多越好长尾模型的显存、镜像、运维成本很高。模型数量是获客手段,不是壁垒。

把这三个概念压成一句话:ML Platform 卖工具与算力,MaaS 卖模型访问,TaaS 卖可承诺的产能。 这个承诺包含 SLA、配额、账单准确性,也包含故障时的赔付。它是 TaaS 和 API 代理最本质的区别。

也正因如此,TaaS 的一等公民不是模型,是部署、租户、价格和账本。一个 MaaS 平台可以只有一个模型、一千个开发者;一个 TaaS 平台可能一个模型都没有,但它必须知道每个租户用了多少 Token、成本多少、什么时候该限流、故障时怎么赔。

04 / Architecture:Go TaaS 的技术架构

把不确定的算力,变成可以承诺的 Token。

Go TaaS 三层架构

图 2:Go TaaS 三层架构。控制面与数据面分离;K8s 承载全部运行时组件,分控制面、第三方依赖与计算节点三类。

Go TaaS 是三层架构,控制面与数据面分离;K8s 承载全部运行时组件,分控制面、第三方依赖与计算节点三类。

接入层有四种形态,都遵守同一套契约。Console 是给普通用户的,SDK 和 CLI 是给开发者和管理员的,Skill 是给 Agent 的。四者调用相同的遵循 OpenAPI 规范的 RESTful API 接口,避免行为漂移。

网关层做了一个关键拆分:控制面走 TaaS Gateway,数据面走 Inference Gateway 加 TaaS Plugin。第三层是 K8s 集群,内部按性质分三类。第一类是我们要自研和长期维护的控制面与中间件;第二类是以 Helm Chart/Operator 部署的第三方依赖组件,Aibrix 做分布式运行时和推理网关,HAMi 管异构加速卡切分,Volcano 做批处理/Gang 调度;第三类是真正干活的推理引擎,vLLM、SGLang、TensorRT-LLM、MindIE,以及客户自研的引擎。它们统一按镜像接入、统一暴露为 OpenAI 兼容接口,对上层透明。

为什么控制面和数据面必须拆

维度控制面数据面
流量低频、可重试、强一致、可审计高频、流式、低延迟、可降级
职责建模型、改价格、发密钥、看账单鉴权、限流、路由、计量、追踪
故障影响只影响改配置,已部署模型继续服务整个服务不可用,必须能降级
可用性目标控制面 API P95 < 300ms网关可用性 ≥ 99.95%

混在一起会出两种事故:一次控制台发布引发推理抖动;一次流量洪峰拖垮管理 API。两者的可用性目标、扩容策略、发布节奏都不一样,所以从第一天就应该拆开,而不是等出问题再拆。

控制面挂了,已经部署的模型还能正常服务,只是不能改配置。数据面挂了,服务就没了,所以它必须能降级:Redis 不可用时用本地令牌桶,队列不可用时先本地缓冲,恢复后补偿上报。

推理网关和插件都做了什么

鉴权、限流、路由、计量都放在 Envoy 的 Wasm 插件里执行,推理流量不穿透业务进程。

顺序动作关键实现
01Auth 鉴权API Key 只存加盐哈希;本地缓存 Key 到租户/作用域,TTL + 主动失效。
02Quota 配额令牌桶限流 + 并发租约;Redis 原子扣减;失败 fail-closed 或按策略降级。
03Route 路由RoutingGroup → 健康部署 → 加权/延迟/成本;只允许同模型 failover。
04Meter 计量以引擎返回 usage 为准,网关计数兜底;按 request_id 幂等,异步写入队列。
05Trace 追踪注入 traceparent;记录排队、Prefill、Decode、总耗时;日志脱敏。
06Guard 保护请求体大小、max_tokens、超时、取消传播;异常上游快速摘除。
07Cache 缓存幂等请求结果缓存(可选);前缀缓存亲和;命中不影响计费口径。
08Degrade 降级Redis/队列不可用时本地令牌桶 + 本地缓冲;恢复后补偿上报。

有两个设计取舍值得说。第一,计量失败不能阻断推理。听起来是妥协,其实是必然:如果计量组件故障就拒绝服务,故障半径会从账单不准扩大到业务全停。正确做法是先放行、进补偿队列、按 request_id 对账,事后把差异归因。第二,用 Wasm 而不是自己写 sidecar。Wasm 插件可以独立发布、灰度、回滚,不随 Server 发版;它跑在 Envoy 进程内,不增加一次网络跳转。P99 敏感的场景,一次跳转就是几十毫秒。

计量失败不阻断推理:先放行、补偿队列、按 request_id 对账

如何准确地计量

计量是 TaaS 平台最重要的部分之一。计量不准,后面的定价、配额、账单、毛利全是错的。客户可以接受贵,不能接受算不清。

计量与账本:按 request_id 幂等,账本只追加

难点不在数 Token,在口径。网关自己做 tokenizer,会受 chat template、工具调用格式、多模态输入的影响,和引擎实际计算的长度不完全一致。所以必须以引擎返回的 usage 为主,网关计数做兜底,并且按日对账。计量还要区分 prompt、completion、cached、reasoning 四类 Token,因为它们的成本结构不同,定价也应该不同。

流式请求中途断开,是最典型的边界情况。引擎可能已经算了 Token,网关可能没收到完整响应;如果重试,又可能重复计费。解决办法不复杂,但必须一开始就设计:每个请求分配 request_id,计量事件按 request_id 幂等;账本只追加、不修改;余额由聚合任务计算,聚合本身也要幂等。

这套规则听起来像财务要求,其实是产品要求。客户拿到账单,要能按 request_id 下钻到每一次调用;出现差异,要能 100% 归因。做不到这两点,SLA 就是一句空话。

管理视图和用户视图的典型流程对比

管理视图与用户视图的典型流程对比

部署链路是异步的,每一步都可能失败,所以需要状态机、重试和回滚。Controller 的作用是不断把实际状态拉向期望状态,而不是执行一次命令就结束。推理链路是同步的,而且必须快;第 6 步之后全部异步,计量和结算不阻塞响应。

第 8 步强调日/小时聚合,原因是账单不能每次请求都去更新余额,那样数据库扛不住。账本只追加,余额由聚合任务算,聚合要幂等。

设计决策

  • CRD 是期望状态的唯一来源。 Server 写 CR,不直接写 Deployment;Controller 调谐,支持漂移检测。
  • Outbox + 幂等消费。 业务事务与消息投递解耦;按 request_id / deployment_id 幂等,避免重复扣费。
  • 计量以引擎 usage 为准。 网关 tokenizer 受 chat template 影响;引擎 usage 为主、网关计数兜底,按日对账。
  • 热路径不写数据库。 网关只读写本地缓存与队列;Postgres 只由 Server 和异步消费者写入。
  • 第一天就支持多集群。 P0 可以只部署一个集群,但数据模型里必须有 cluster_id 与 placement_policy。
  • 单元化(Cell)架构。 每个 Cell 约 100–500 卡,自带网关、Controller、Redis;单 Cell 故障不扩散。
  • API-first,SDK 生成。 OpenAPI 是契约,SDK、CLI、Console 共用一套接口,避免行为漂移。
  • 选择无聊的技术。 Go + Postgres + Redis + RabbitMQ + K8s;创新留给推理优化与验证矩阵。

第 4 条不是性能优化,是可用性设计。推理峰值可能是管理流量的几万倍,网关直接写库,一次促销就能把平台打死。第 5 条也不是第一天就部署多集群,而是字段要留好。否则到 P1 再改表、改 API、改权限,成本极高,而且一定会漏。

第 6 条值得展开。单元化是为了控制爆炸半径。一个 Cell 出问题,不能把全国租户一起带走。每个 Cell 自带网关、Controller 和 Redis,跨 Cell 只保留必要的全局调度与计费汇总。代价是运维复杂度上升,收益是故障隔离和容量弹性。

设计决策:CRD 期望状态、Outbox 幂等消费、热路径不写库

设计决策:单元化 Cell 架构、API-first、选择无聊的技术

容量与 SLO

公式很简单,但有两个坑。单副本吞吐必须实测,不能用标称峰值;平均 Token 数要按业务分布算,不能只看平均值,长尾请求会显著拉高驻留时间。

容量与 SLO 指标

指标建议值说明
网关可用性≥ 99.95%数据面是所有流量的入口,目标应高于推理本身
推理可用性≥ 99.9%按模型、卡型分别统计,不混算
TTFT P95< 1.5s7B 模型、1K prompt 的基线,需按实际校准
TPOT P95< 50ms每 Token 延迟,直接决定流式体验
计量准确率≥ 99.5%与引擎 usage 对账,差异需归因
控制面 API P95< 300ms不包含异步部署耗时

SLO 为建议值,必须按实际基线校准。SLA 应与模型、卡型、上下文长度、并发绑定,对外给出基线 + 降级策略,而不是单一数字。

同样叫可用性 99.9%,7B 模型 1K 上下文和 70B 模型 128K 上下文完全是两件事。SLA 如果不绑定这些条件,签的时候容易,赔的时候一定吵架。

05 / Community:Go TaaS 的代码与治理

前面四节讲的是判断和设计,这一节讲代码在哪、长什么样、怎么参与。

仓库是 github.com/go-taas/go-taas,Apache-2.0 License,主语言 Go。项目在 2026 年 8 月建立,到 10 月 AI 已经把规划中的四个阶段全部落地,单元测试、FVT 功能验证和基于 Docker Compose / Helm 的端到端套件都在跑。这不是一个只有架构图的仓库,但也不是一个可以生产落地的项目。AI 有没有按照架构来跑需要大家来一起验证。

仓库结构:按职责边界划分

仓库没有按技术层分目录,而是按职责边界分。读代码时,先看这张表就够定位大部分问题。

Go TaaS 仓库结构

路径内容说明
services/26 个业务服务目录auth、tenancy、account、model、image、infer、runtime、routing、provider、metering、billing、batch、audit、webhook、notification、observability、tracing、resourcemetrics、accelerator、cluster、optimization、prompt、evaluation、fault、vgpu、docs
apps/可执行入口taas-server 与 taas-controller 两个二进制
internal/controllerKubernetes OperatorCRD 调谐、工作负载编排、状态机与回滚
pkg/共享基础库config、database、grpcmiddleware、k8s、mq、redisx、registry、modelhub、logger、errors、server、nano
proto/接口契约Protobuf 定义,buf 生成 gRPC stub、HTTP 网关与 OpenAPI
web/前端 SPAReact 18 + TypeScript + Vite,同一份构建同时服务用户控制台与管理员控制台
deploy/部署helm/go-taas 生产 chart;compose 本地开发测试
site/文档站中英双语的架构与设计文档,每个功能点一份
test/测试fvt 功能验证套件;e2e 浏览器端到端套件

有一个细节值得单独说:所有 26 个服务跑在同一个 Deployment 里,服务之间是进程内调用。这不是偷懒,而是早期阶段刻意避免分布式复杂度。真正的异步边界只有一处:业务事务通过消息队列交给 Controller,再由 Controller 去调谐 Kubernetes 资源。API 的响应速度和集群的收敛速度因此解耦,部署失败也不会把请求线程一起拖住。

技术栈

层选型
后端Go、gRPC + grpc-gateway、GORM
数据PostgreSQL、Redis(兼容 Valkey)、Kafka 或 RabbitMQ
控制面网关grpc-gateway,HTTP/JSON 与 OpenAPI 由 Protobuf 生成
数据面网关Envoy + Wasm 插件
存储Longhorn 存集群状态;MinIO + JuiceFS 存权重与镜像
网络CNI + ClusterIP Service + CoreDNS;Envoy Gateway 负责南北向 TLS 终结;NetworkPolicy 隔离;推理面可选 RDMA(RoCE / InfiniBand)
编排Kubernetes + client-go
推理引擎vLLM / SGLang / TensorRT-LLM 等,按镜像接入
前端React 18 + TypeScript + Vite
测试Go 单测 + FVT + Nightwatch 浏览器端到端

快速上手

本地体验用 Compose,生产部署用 Helm。两条路都写在 README 里,不需要额外文档。前提是部署好你自己的 K8s 集群(存储、网络、GPU Operator)等。

1
2
3
4
5
6
7
8
# 本地一键栈:控制面 + PostgreSQL + Redis + MQ + JuiceFS 客户端
cp .env.example .env # 填入镜像仓库与权重存储的配置
make compose-up
# 用户控制台 http://localhost:9091/ · 管理员控制台 /admin

# Kubernetes 部署(要求 K8s 1.25+ 与 Helm 3.8+)
helm install taas deploy/helm/go-taas --namespace taas --create-namespace
kubectl --namespace taas port-forward svc/taas-server 9091:9091

Compose 栈会自动准备 MinIO bucket、JuiceFS 文件系统、taas 命名空间、模型权重的 StorageClass 与 PVC,以及加速卡节点标签。这一步省掉的是最容易劝退新人的环境准备,而不是把复杂度藏起来——Helm chart 里同样是内嵌的 PostgreSQL、Redis、RabbitMQ,每一项都可以换成外部实例。

调用方式和 OpenAI 完全一致,换一个 base_url 就能把现有代码接过来:

1
2
3
4
5
6
7
from openai import OpenAI

client = OpenAI(base_url="https://<your-taas-host>/v1", api_key="sk-xxxx")
resp = client.chat.completions.create(
model="qwen2.5-7b",
messages=[{"role": "user", "content": "Hello"}],
)

社区的运作方式

Go TaaS 采用公开治理,规则写在仓库里,四份文档构成完整的协作契约。

文档回答的问题
GOVERNANCE.md角色、权限、晋升路径与决策机制:谁能合并、争议怎么裁决、版本怎么发布。
MAINTAINERS.md当前维护者、各自负责的领域、review 的响应时间承诺。
CONTRIBUTING.md开发环境、提交规范、PR 要求,以及从贡献者到维护者的成长阶梯;非代码贡献同样计入。
GITHUB-TEAMS.md组织团队、权限映射、CODEOWNERS 与分支规则集的具体配置。

工程约定偏严格,但都是自动化的:提交遵循 Conventional Commits,由 commitlint 校验;PR 合并前要过 make lint 和 make ut;接口变更先改 proto/,再 make pbgen 生成代码,不允许手改生成物;发布走语义化版本,changelog 自动生成。这些规则对第一次提交的人不太友好,但对第五百次提交的人是保护。

参与方式

项目刚刚开始,欢迎技术大佬们一起来维护这个项目。

最容易上手的是标了 good first issue 的条目,以及在 Discussions 里描述你遇到的具体环境。附上卡型、驱动版本、引擎版本和复现步骤的 issue,处理速度会比一句跑不起来快一个数量级。

Join the community

Go TaaS 是一个开源项目,代码、文档、治理规则都在同一个仓库里。你可以先把它跑起来,再决定要不要留下。

  • 如果你手里有算力,正在发愁怎么把异构、碎片、闲置的资源变成可计量的 Token,这里有一套现成的部署、调度、计量、账单。
  • 如果你是系统集成商,需要一个可私有化、可交付的底座,Helm chart 已经写好,欢迎拿真实项目来压。
  • 如果你是推理引擎、运行时、K8s 或 SRE 工程师,想把 vLLM、SGLang、Aibrix、HAMi、Volcano 在某种卡上再快一点,这里有一堆没解决的 issue。

三类贡献最受欢迎:可复现的 benchmark,写清模型、引擎、卡型、精度、上下文和并发;卡型与模型的适配模板,让别人少踩一遍你踩过的坑;部署 recipe 与文档,把我跑通了变成任何人都能跑通。

社区的技术原则不复杂:不静默换模型;降级要显式;计量可审计,账单可下钻;先闭环,再扩张。

GitHub: go-taas/go-taas

Issues 报缺陷,Discussions 提问与讨论,CONTRIBUTING 里有开发环境与提交规范。第一个 PR 不必很大,修一个错别字也算。