如何通过 wrangler secret put 给 StaffML 的 Ask Interviewer Worker 接入新的 LLM 提供商
如何通过 wrangler secret put 给 StaffML 的 Ask Interviewer Worker 接入新的 LLM 提供商【免费下载链接】cs249r_bookMachine Learning Systems项目地址: https://gitcode.com/GitHub_Trending/cs/cs249r_bookStaffML 的 Ask Interviewer 面板由一个部署在 Cloudflare 上的 Worker 支撑默认只使用 Cloudflare Workers AI 的 Llama 3.1 8B 兜底模型不需要任何 API Key。当你拿到 Groq、OpenAI、Anthropic、Gemini、OpenRouter 或其他 OpenAI 兼容服务的 Key 后目标是让它被这个 Worker 用起来。好消息是对于 Worker 内置的提供商接入只需要一条wrangler secret put命令——不改代码、不重新部署secret 在约 30 秒内生效。前提条件已经按 部署指南 完成 Worker 的首次部署安装 wrangler、npx wrangler login登录、创建 KV 命名空间、npx wrangler deploy并且curl https://你的部署域名.workers.dev/health能返回{ ok: true, ... }。本地已安装 Node.js 18。你在提供商控制台申请到的 API Key。以下命令都在 Worker 目录下执行cd interviews/staffml/worker用 wrangler secret put 接入一个提供商secret put会把值存到 Cloudflare 的密钥存储里。文档明确说明secrets 不会进入 git、不会出现在部署产物中只能在 Worker 运行时访问。命令执行后会提示你粘贴 Key输入即完成无需wrangler deploy。内置提供商对应的 secret 名称和文档给出的默认模型如下提供商必设 secret默认模型来自文档GroqGROQ_API_KEY部署指南 写的是 Llama 3.1 70B而 src/index.ts 中defaultModel为llama-3.3-70b-versatile两处不一致以实际wrangler.toml部署版本的代码为准OpenAIOPENAI_API_KEYgpt-4o-miniAnthropicANTHROPIC_API_KEYclaude-3-5-haiku-latestGoogle GeminiGEMINI_API_KEYgemini-1.5-flashOpenRouterOPENROUTER_API_KEYmeta-llama/llama-3.1-70b-instruct以 Groq 为例npx wrangler secret put GROQ_API_KEY # 提示时粘贴你的 Groq Key其他提供商同理把命令中的 secret 名换成上表对应项即可例如npx wrangler secret put OPENAI_API_KEY。部分提供商支持用额外的 secret 覆盖默认模型或端点只在你确实用不上默认值时才需要设置# OpenRouter 换模型 npx wrangler secret put OPENROUTER_MODEL # 其他覆盖项在 Env 接口中可见如 OPENAI_MODEL、ANTHROPIC_MODEL、 # GEMINI_MODEL、GROQ_BASE_URL、OPENAI_BASE_URL 等定义见 src/index.ts注意部署指南 与 src/index.ts 的Env接口对可覆盖项的覆盖范围不完全一致例如源码中有GROQ_BASE_URL、OPENROUTER_BASE_URL文档只列出了OPENROUTER_MODEL等。设置前以Env接口实际声明的字段名为准拼错的 secret 名只会安静地躺在密钥列表里不会报错也不会生效。验证接入是否成功第一步查/health。把 URL 换成wrangler deploy输出的实际地址curl https://staffml-interviewer.your-subdomain.workers.dev/health成功时providers列表会包含新提供商名。文档示例Groq 接入后{ ok: true, providers: [groq, cf-workers-ai], waitlist: true }providers里出现你刚配的提供商名说明 secret 已被 Worker 识别waitlist: true与本次接入无关它只表示 WAITLIST_KV 命名空间已配置。第二步发一个真实问题确认走的是新提供商。curl -X POST https://staffml-interviewer.your-subdomain.workers.dev/ask \ -H Content-Type: application/json \ -d { question: what is the typical latency budget?, context: Real-time inference for an ad ranking model }返回的 JSON 带answer、provider、vendorLabel、modelLabel、privacyNote五个字段。看provider字段是否为你新接入的提供商名vendorLabel/modelLabel/privacyNote会原样显示在 StaffML 面板的归属说明里也可以顺便确认展示内容是否符合预期。调整提供商优先级只设置 secret 就能让新提供商进入优先级链但默认顺序是groq → openai → anthropic → gemini → openrouter → cf-workers-ai链上第一个可用即 secret 已设置的提供商获胜某个提供商请求失败超时、5xx、响应无效时自动落到下一个cf-workers-ai永远作为兜底追加在链尾。如果你新接的是 OpenRouter而已经设置过 Groq 和 OpenAI那么请求仍会优先走 Groq。想让新提供商排第一npx wrangler secret put PROVIDER_PRIORITY # 提示时输入逗号分隔的提供商名逗号两侧不要有空格例如 # openrouter,groq,cf-workers-ai该值同样是 secret 形式下发对下一个请求生效不需要重新部署。可选分支接入自托管的 OpenAI 兼容服务如果你有 Ollama、vLLM、llama.cpp server 等暴露 OpenAI 兼容接口的本地服务可以借用 openai 适配器不设anthropic/gemini等而是设置这三个 secretnpx wrangler secret put OPENAI_API_KEY # 任意非空字符串即可 npx wrangler secret put OPENAI_BASE_URL # 例如 http://your-host:11434/v1 npx wrangler secret put OPENAI_MODEL # 例如 llama3.1:70b注意这会占用 openai 适配器的身份效果等同于把 OpenAI 提供商指向你的本地机器验证方式与上文/health、/ask相同providers中应出现openai。对于文档未内置的提供商Together AI、DeepSeek、Fireworks 等worker/README.md 提供了三步做法在src/index.ts的ADAPTERS数组追加一个 adapter 条目、在Env接口补上对应字段、然后wrangler secret put NEW_API_KEY并wrangler deploy。这条路径需要改代码不属于只跑 secret put的范畴仅在你需要的提供商不在内置列表时才使用。换 Key、下线提供商与相关运维操作换 Key再跑一次npx wrangler secret put GROQ_API_KEY并粘贴新 Key旧值被替换约 30 秒内生效。注意 worker/README.md 的 Secret management 一节把轮换写成了deleteputdeploy三步与部署指南的直接 put、无需 redeploy表述不一致两处文档都真实存在建议以 部署指南 的 Rotation 一节为准操作若发现新 Key 未生效再用 README 的三步法兜底。下线提供商npx wrangler secret delete GROQ_API_KEY下一个请求起 Worker 停止使用它并回落到链上下一个可用提供商。列出已设 secretnpx wrangler secret list只显示名称不显示值。临时提高限流接入的提供商有自己的免费额度时npx wrangler secret put RATE_LIMIT_PER_HOUR 30、npx wrangler secret put RATE_LIMIT_PER_DAY 200、npx wrangler secret put GLOBAL_DAILY_CEILING 50000默认值分别是 10/60/8000对下一个请求生效。观察请求npx wrangler tail可以流式查看 Worker 处理的每个请求包括错误和限流命中。边界说明本文只覆盖已部署 Worker 后接入新提供商的场景首次部署创建 KV 命名空间、wrangler deploy、把NEXT_PUBLIC_INTERVIEWER_ENDPOINT接到 StaffML 构建环境不在本文范围见 WORKER_DEPLOY.md。如果所有提供商都请求失败/ask会返回all_providers_failed错误此时可npx wrangler tail查看具体是哪一个提供商在报错。各提供商的privacyNote例如 Google 免费 Gemini API 可能用提示词改进产品会显示在面板归属说明中接入商用或免费额度提供商前建议先读一下该提供商对应条目。【免费下载链接】cs249r_bookMachine Learning Systems项目地址: https://gitcode.com/GitHub_Trending/cs/cs249r_book创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考