关于 baseten
baseten 是一项技能,可通过 CLI 和 MCP 工具使用 Baseten 的 AI 推理、模型部署与训练平台。它指导模型开发方式的选择,并为部署、运维和训练任务指向相关参考资料。
主要功能
- 01通过 baseten CLI 部署和运维模型
- 02使用 Chains 构建多步骤流水线
- 03调用托管 Model APIs
- 04通过 Truss Train 或 Loops 训练模型
- 05通过 MCP 管理模型和部署
适用场景
- 01部署自定义模型或推理服务器
- 02构建按步骤扩缩的多步骤流水线
- 03使用 Baseten 训练或微调模型
- 04查询 Baseten 文档或管理工作区资源
MCP 相关
baseten MCP 提供模型、部署、训练、环境、密钥和 Chains 的后端操作。baseten_docs MCP 提供 Baseten 文档的语义搜索和文件系统访问。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ basetenlabs/ baseten-skills --skill baseten安装后在 Claude Code 中输入/baseten确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonfixtures.jsonreferences/baseten-cli.mddeployment-lifecycle.mdinference-api.mdmanagement-api.mdmodel-apis.mdmodel-dev-loop.mdtruss-chains.mdtruss-cli.mdtruss-config.mdtruss-custom-servers.mdtruss-model-py.md详细介绍
Baseten 产品概览
生产级 AI 推理平台——以最快的运行时、跨云高可用性和无缝的开发者工作流,服务和扩展开源、自定义及微调模型。
- 专用推理 - 部署任意模型,并针对性能优化 + 水平扩展。可通过自动封装的 Truss 服务、自定义 Docker 服务或通过 Chains 进行复合式/编排式部署来编写。
- 模型 API - 为热门模型提供预优化的托管 API。可逐步升级为专用部署。
- 训练 - 两种路径,均由
baseten train/baseten loops驱动:Truss Train(自带容器,支持任意框架,完全控制硬件)和 Loops(兼容 Tinker 的托管 SDK,支持 SFT + 异步 RL;配备训练器 + 采样服务、实时权重传输、一键部署检查点)。支持多节点、1T+ 参数、10TB+ 数据集、H100/H200/B200。远程访问:通过 SSH 和 VS Code/Cursor 隧道连接容器。 - Frontier Gateway - 运营自己的基础模型 B2C。
Agent 开发体验工具包
| 组件 | 提供功能 | 安装 |
|---|---|---|
baseten CLI | 部署和运营模型(baseten model push,使用 --watch 运行开发循环)、工作区管理、模型 API、训练和 Loops。支持无头模式:非 TTY 环境下绝不提示;使用 --output json / --jq 进行自动化。 | 参见 references/baseten-cli.md |
baseten MCP | 与后端交互(约等于 REST API,支持 CRUD):模型、部署、训练、环境、机密、Chains。通过 OAuth 登录。 | npx add-mcp https://api.baseten.co/mcp -g -y |
baseten_docs MCP | 对 docs.baseten.co 进行语义搜索 + 文件系统访问。无需身份验证。 | npx add-mcp https://docs.baseten.co/mcp -n "baseten_docs" -g -y |
truss CLI | Chains 编写(truss chains),以及用于现有 truss 项目的 Truss 配置工具。训练和 Loops 使用 Baseten CLI 命令(baseten train / baseten loops)。 | uv tool install truss(或 pip install truss --upgrade;遵循用户使用的包管理器:uv、poetry……) |
llms.txt | baseten.co/llms.txt(产品 + 博客),docs.baseten.co/llms.txt(文档)。 | 可通过 HTTP 访问 |
| 此技能 | 按需加载的 SKILL.md + references/*.md。 | npx skills add basetenlabs/baseten-skills -g -y |
设置
- 任意子集均可使用,建议完整安装。
- 如果当前任务需要或适合安装其他组件,可建议用户安装;但请先询问用户的偏好。
- 除 Chains 外,所有操作都使用
basetenCLI,而不是trussCLI。baseten model push可安全用于无头环境(不会在非 TTY 环境中提示),--wait会阻塞直到部署处于活动状态,并在最终失败时以非零状态码退出;每条命令都支持--output json/--jq。检查baseten version。身份验证通过BASETEN_API_KEY或baseten auth login完成;使用--profile指定非默认工作区。 trussCLI 仅用于编写 Chains(检查truss --version)。训练和 Loops 是 Baseten CLI 命令(baseten train/baseten loops);其中有几条命令会在内部委托给 truss,不应针对这一实现编写脚本。运行baseten truss chains …无需单独登录 truss,因为它会转发此 CLI 的凭据(使用多个工作区的用户必须提供--remote <name>)。使用truss [subcommand] --help了解详情。- 后端 MCP 使用 OAuth:安装时不要添加
Authorization标头。首次连接时,用户需在浏览器中登录 Baseten(在 Claude Code 中,依次选择/mcp→baseten→ Authenticate)。客户端会自行刷新令牌。服务以已登录用户的身份运行,使用该用户的工作区和权限。 - 无头 Agent(没有浏览器,例如 CI)无法完成登录。请改用 API 密钥添加后端 MCP:
--header "Authorization: Bearer ${BASETEN_MCP_KEY}",密钥需具有管理权限,可在app.baseten.co/settings/api_keys获取。API 密钥实例会绑定到该密钥所属的工作区。对于多个工作区,请使用不同名称和不同密钥添加多个实例。 - 缺少 Docs MCP 时 → grep / fetch
llms.txt。
选择你的创作方式(用于创建部署)
初步决策。许多实际工作负载会混合多种类型——请将此作为起点,而非规则。不确定时,先勾勒 IO 结构和每个步骤的硬件需求,再做选择。
这些方式按照意见强度排列,而不只是按作者使用便利程度排列:引擎(TRT-LLM、BEI、BIS-LLM)针对单一架构进行了性能调优,适用时是最快的途径;自定义 Docker 服务封装成熟的推理服务(vLLM、SGLang、TGI、Triton、NIM);Python Truss则是处理请求路径中任意代码的备用方案;Chains提供带类型的步骤间传输,并内置速率限制、连接管理、结构化错误传播和二进制 IO——否则,你需要围绕 N 个原始 Truss 重新实现这些功能。Python Truss 和 Chains 都支持实时补丁迭代(baseten model push --watch);所有类型都支持按副本自动扩缩、缩容至零,以及环境 / 晋级。
| 你的需求…… | 类型 | 专项文档 | 不适用场景 |
|---|---|---|---|
| 托管 LLM,无需部署步骤 | 模型 API | model-apis.md | 模型不在目录中;需要自定义硬件、依赖项、稳定性…… |
| 在现成服务上运行 LLM(vLLM / SGLang / TGI / Triton / NIM) | 自定义 Docker 服务 | truss-custom-servers.md | 没有适用的服务,或需要在请求路径中使用 Python |
| 通过 Baseten 引擎运行 LLM/嵌入模型(TRT-LLM / BEI / BIS-LLM);最少配置,无需 Python | 仅引擎 config.yaml | truss-config.md(引擎部分) | 引擎不支持该架构;需要自定义逻辑 |
| 在请求路径中使用自定义 Python(预处理/后处理、自定义架构、特殊 IO) | Python 类 Truss(model.py) | truss-model-py.md + truss-config.md | 适用引擎或现成服务——选择它们,部署更快 |
| 多步骤流水线,包含异构硬件 / 按步骤扩缩(RAG、ASR→LLM→TTS、扇出、分块) | Chains | truss-chains.md | 单阶段或同构场景——单个 Truss 更简单 |
与上述类型无关的运维方式:
- 迭代 / 修补部署 →
model-dev-loop.md - 晋级、环境、自动扩缩 →
deployment-lifecycle.md - 将流量逐步切换到新部署(暂停/恢复/取消)→ 滚动部署:
deployment/rolling-deployments.mdx - 调用部署 →
inference-api.md(自定义)或model-apis.md(托管) - 高吞吐量批量调用(嵌入、重排序)→ Performance 客户端(Rust,每秒 1200+ 个请求):
inference/performance-client.mdx - 以编程方式控制控制平面 →
management-api.md
表格无法涵盖的实际情况:
- 可以混合使用。
model.py可以封装引擎以进行预处理/后处理;Chain 入口点可以是 Python 类,而内部 Chainlet 使用引擎。 - 现有 Truss 模型可以加入 Chains。 使用
TrussChainlet和TrussHandle进行 HTTP 或 WebSocket 调用;集成前请阅读 https://docs.baseten.co/development/chain/truss-chainlets。 - 引擎性能与灵活性。 对许多 LLM 来说,TRT-LLM 是最快的途径,但其配置界面并不直观。 只有在延迟/吞吐量确实构成限制时,才值得做出这种取舍。
路由
技能参考(技能目录中的 ls references/,作为托管文档的补充)。用户一提到相关主题,就应积极查阅包含的参考文件。
references/baseten-cli.md:部署和运行——baseten model push/--watch、工作区操作、托管推理和机器可读输出。使用最多。references/truss-cli.md:Chains 编写和旧版truss命令。深入内容:references/truss-config.md。references/truss-model-py.md:Python 类风格(自定义前置/后置处理、非引擎架构)。references/truss-custom-servers.md:docker_server风格(vLLM / TGI / SGLang / Triton;现代 LLM 最常见的路径)。references/truss-chains.md:多步骤流水线(RAG、ASR→LLM→TTS、分块音频/视频),支持按步骤配置硬件和自动扩缩容。references/model-apis.md:共享的预托管端点(DeepSeek、GLM、Kimi、……)。有合适的模型时,这是最快的方案。references/inference-api.md:调用自定义部署。连接复用(requests/httpx/ OpenAI SDK)、异步 / 流式 / 唤醒 / OpenAI 兼容的同步路由。references/management-api.md:以编程方式控制管理平面(模型、部署、环境、密钥)。baseten和trussCLI 在底层使用的接口。references/deployment-lifecycle.md:Model / Deployment / Environment 语义 + 晋级 + 自动扩缩容。references/model-dev-loop.md:首次部署后的迭代。重建 / 补丁 / 热重载成本层级,以及 Agent 与人工的监控循环。
注意事项
不要猜测,先查询
对于任何性能 / 状态 / 错误相关的说法,先使用工具——不要估算或猜测。
- 耗时 → 部署 / chainlet 日志工具(含时间戳,包括
Pulling image、model_cache: Fetch took、Completed model.load() execution in N ms、每个请求的标记)。 - 状态 → 调用前先使用 deployment-get 工具。
- 构建 / 部署失败 → 立即获取日志,不要凭空推测。
根据训练数据中的先验信息编造数字会损害用户信任;日志才是事实依据。
来源异质性与偏差
内容分散在彼此并不完全重合、且独立演变的多个系统中。没有单一来源是完美 / 权威的。对于任何重要说法(“受支持”、性能数字、推荐方案),至少交叉核对 2 个来源。将矛盾之处告知用户;不要掩盖。
| 来源 | 优势 | 缺漏 / 特点 |
|---|---|---|
baseten_docs MCP / docs.baseten.co | API 规范、协议细节、可调参数 | 内容滞后于产品;没有性能数字 |
baseten.co/library/<id>(营销页面) | 旗舰托管模型、性能声明 | 部分条目需联系销售,不能自助使用 |
baseten MCP list_library_models | 实际上可一键通过 API 部署的内容 | 不包含营销模型库中的所有条目;缺少标签 |
baseten.co/blog/ | 具体的延迟 / 成本 / 与竞品对比数字、技术深度分析 | 结构不统一;不在 docs MCP 中。通过 baseten.co/llms.txt 查找 |
baseten.co/solutions/... | 高层级介绍 | 可能描述需要与 Baseten 合作才能使用的旗舰功能 |
truss-examples GitHub 仓库 | 可运行的代码模式 | 经常过时 / 失效 / 不一致。 谨慎查阅,作为最后手段。部署前可能需要修复。 |
- 模型库页面存在,但模型不在
list_library_models中 → 可能是托管型 / 旗舰模型;告知用户可能需要联系 Baseten 支持。 - 性能数字只在博客中找到 → 注明这是博客中的说法。
- 通过 docs MCP 找不到内容 → 获取
baseten.co/llms.txt或docs.baseten.co/llms.txt作为索引,然后直接获取相应页面。最后手段:网页搜索。
references/ 中不那么显眼的位置
- 仅引擎部署(TensorRT-LLM、BEI、BIS-LLM)→
truss-config.md的引擎部分(也负责model_cache、 密钥、资源和 BDNweights)。 - 编写方式的选择:单个部署 →
truss-config.md顶部;多个协同部署 →truss-chains.md。 - 训练和 Frontier Gateway:使用当前文档。使用
basetenMCP +baseten_docsMCP。训练路径选择请参阅training/index.mdx;Loops(托管式 SFT/RL SDK)请参阅loops/overview.mdx;训练容器的 SSH / VS Code 隧道请参阅training/ssh.mdx和training/remote-access.mdx。
工具特性
baseten_docsMCP 搜索采用语义搜索(基于嵌入)。结果通常能理解意图,但仍可能漏掉措辞较生僻的内容——尝试换种说法查询;如果结果不理想,也可以获取docs.baseten.co/llms.txt作为索引。- 完整文档页面:通过
query_docs_filesystem_baseten对.mdx路径使用cat/head。也可以使用docs.baseten.co/<path>.md,读取单页时速度更快。 - 推理 SSH(在运行中的容器里打开终端,需要组织启用)→
model-dev-loop.md§ Inference SSH。 list_library_models是由 baseten 精选的目录(约数十个经过预优化的托管模型,主要是热门开源大模型 / 嵌入模型)。这些模型适合作为入门模型供用户尝试,但不适用于自定义编写、特定性能需求、微调和私有 HF 模型等。没有实用标签(如模态)——按display_name/hf_repo_id子字符串筛选。- 文档 MCP 中不包含博客内容。获取
baseten.co/llms.txt并搜索相关文章。
MCP 信息查询与调用
后端 MCP 工具(get_deployment、get_deployment_logs、get_deployment_config、list_* 等)用于描述状态。当你需要准确的 ID / 架构 / 配置值来执行操作时,它们最有用;当用户的问题涉及运行时行为时,它们的作用最有限。不要因为 MCP 可用,就缩小调查范围。
- 查找任务(编写补丁前需要 ID、当前配置或架构):从 MCP get/list 开始是正确的做法。读取实时配置优于推测。
- 行为问题(响应异常、缓慢、格式错误,以及用户_观察到_的任何问题):MCP 可以提供补充信息,但很少能代替你亲自调用端点。使用有代表性的负载向 predict URL 发起
curl,可以运行与用户相同的代码路径。MCP 获取的日志中近期没有错误,并不能证明问题已消失——日志窗口有范围限制,用户五分钟前报告的问题可能已经超出默认尾部范围。对于无法复现的特定历史事件,日志工具支持保留期内的自定义时间范围;请使用这些功能。 - 将低成本的信息查询视为腾出预算,用于更深入的验证(修复后再次运行 curl、比较 PATCH 前后的配置、推送候选 truss 并进行探测),而不是提早停止调查的理由。