Source: https://aiprimetech.io/zh/docs/guides/best-practices/ [首页](/zh/) / [文档](/zh/docs/) / 生产环境最佳实践 # 生产环境最佳实践 集成开始承载实际流量前,需要做好哪些准备。 复制页面 [ 以 Markdown 查看](/zh/docs/guides/best-practices.md) [ 向 ChatGPT 提问](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/guides/best-practices.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ 在 Claude 中提问](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/guides/best-practices.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) ## 可靠性 - 仅针对适当的状态码重试。 429, 500, 502, 503, 529 采用指数退避并加入随机抖动。切勿盲目重试 400, 401, 402 或 403. - 设置超时。 长时间生成可能确实需要几分钟;套接字挂起不应拖垮工作进程。对于非流式调用,120 秒是合理的超时上限。 - 限制并发 使用信号量,而不是一次性发出所有请求,再重试被拒绝的请求。 - 准备备用模型。 如果主模型过载,降级到较小的模型比返回错误更好。 ## 成本 - 设置 max_tokens 在每次调用中设置。它是支出上限,而不是建议值。 - 按任务路由 — 请参阅 [费用控制](/zh/docs/guides/cost-control/). - 启用 [提示词缓存](/zh/docs/guides/prompt-caching/) 了解稳定前缀。 - 记录 usage 为每个请求附上任务标签,以便日后归因支出。 ## 安全 - 密钥应存放在环境变量或密钥管理器中 — 绝不能放入代码仓库,也不能放入客户端打包文件。 - 每个服务使用独立密钥,以便精确撤销。 - 切勿通过字符串拼接将不可信的用户输入与指令组合成提示词;应将用户内容放在 user 消息中,将指令放在 system. - 将模型输出视为不可信内容。不要 eval 它,也不要使用具有写入权限的角色执行生成的 SQL。 ## 可观测性 - 记录模型、延迟、 usage, stop_reason 以及每次调用对应的自定义任务类型。 - 针对以下指标设置告警: stop_reason: max_tokens 的发生率 — 上升意味着回答正在被截断。 - 按任务类型跟踪成本,而不只是查看总额。总额会掩盖成本恶化的具体工作负载。 最有价值的告警针对的是截断,而不是错误。被截断的回答会返回 HTTP 200,在监控中看似正常,但对用户而言却是错误的。 [错误重试语义](/zh/docs/api-reference/errors/)[速率限制并发](/zh/docs/api-reference/rate-limits/)[费用控制支出管理](/zh/docs/guides/cost-control/) [上一页从 OpenAI API 迁移](/zh/docs/guides/migration-from-openai/)[下一页故障排查](/zh/docs/guides/troubleshooting/)