mcpField
B
baseten

baseten

github.com/basetenlabs云与 DevOps12267 次安装2 天前更新
代码仓库

关于 baseten

baseten 是一项技能,可通过 CLI 和 MCP 工具使用 Baseten 的 AI 推理、模型部署与训练平台。它指导模型开发方式的选择,并为部署、运维和训练任务指向相关参考资料。

主要功能

  1. 01通过 baseten CLI 部署和运维模型
  2. 02使用 Chains 构建多步骤流水线
  3. 03调用托管 Model APIs
  4. 04通过 Truss Train 或 Loops 训练模型
  5. 05通过 MCP 管理模型和部署

适用场景

  1. 01部署自定义模型或推理服务器
  2. 02构建按步骤扩缩的多步骤流水线
  3. 03使用 Baseten 训练或微调模型
  4. 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.json
fixtures.json
references/
baseten-cli.md
deployment-lifecycle.md
inference-api.md
management-api.md
model-apis.md
model-dev-loop.md
truss-chains.md
truss-cli.md
truss-config.md
truss-custom-servers.md
truss-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 CLIChains 编写(truss chains),以及用于现有 truss 项目的 Truss 配置工具。训练和 Loops 使用 Baseten CLI 命令(baseten train / baseten loops)。uv tool install truss(或 pip install truss --upgrade;遵循用户使用的包管理器:uv、poetry……)
llms.txtbaseten.co/llms.txt(产品 + 博客),docs.baseten.co/llms.txt(文档)。可通过 HTTP 访问
此技能按需加载的 SKILL.md + references/*.md。npx skills add basetenlabs/baseten-skills -g -y
设置
  • 任意子集均可使用,建议完整安装。
  • 如果当前任务需要或适合安装其他组件,可建议用户安装;但请先询问用户的偏好。
  • 除 Chains 外,所有操作都使用 baseten CLI,而不是 truss CLI。 baseten model push 可安全用于无头环境(不会在非 TTY 环境中提示),--wait 会阻塞直到部署处于活动状态,并在最终失败时以非零状态码退出;每条命令都支持 --output json / --jq。检查 baseten version。身份验证通过 BASETEN_API_KEY 或 baseten auth login 完成;使用 --profile 指定非默认工作区。
  • truss CLI 仅用于编写 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,无需部署步骤模型 APImodel-apis.md模型不在目录中;需要自定义硬件、依赖项、稳定性……
在现成服务上运行 LLM(vLLM / SGLang / TGI / Triton / NIM)自定义 Docker 服务truss-custom-servers.md没有适用的服务,或需要在请求路径中使用 Python
通过 Baseten 引擎运行 LLM/嵌入模型(TRT-LLM / BEI / BIS-LLM);最少配置,无需 Python仅引擎 config.yamltruss-config.md(引擎部分)引擎不支持该架构;需要自定义逻辑
在请求路径中使用自定义 Python(预处理/后处理、自定义架构、特殊 IO)Python 类 Truss(model.py)truss-model-py.md + truss-config.md适用引擎或现成服务——选择它们,部署更快
多步骤流水线,包含异构硬件 / 按步骤扩缩(RAG、ASR→LLM→TTS、扇出、分块)Chainstruss-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 和 truss CLI 在底层使用的接口。
  • 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.coAPI 规范、协议细节、可调参数内容滞后于产品;没有性能数字
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、 密钥、资源和 BDN weights)。
  • 编写方式的选择:单个部署 → truss-config.md 顶部;多个协同部署 → truss-chains.md。
  • 训练和 Frontier Gateway:使用当前文档。使用 baseten MCP + baseten_docs MCP。训练路径选择请参阅 training/index.mdx;Loops(托管式 SFT/RL SDK)请参阅 loops/overview.mdx;训练容器的 SSH / VS Code 隧道请参阅 training/ssh.mdx 和 training/remote-access.mdx。
工具特性
  • baseten_docs MCP 搜索采用语义搜索(基于嵌入)。结果通常能理解意图,但仍可能漏掉措辞较生僻的内容——尝试换种说法查询;如果结果不理想,也可以获取 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 并进行探测),而不是提早停止调查的理由。

评论

支持 Markdown