老哥们,最近在搞LLM API接入,踩了不少坑,今天分享点干货。先说结论:别信那些“一键接入”的营销号,生产环境里细节全是魔鬼。
**几个关键点:**
- **API限流**:别一股脑并发请求,OpenAI的tier限制很严格(新号更低)。建议用`tenacity`做重试+指数退避,配合本地token计数器控制并发。
- **Streaming必须开**:长回复(比如代码生成)不开streaming,用户等到血压爆表。记得处理好chunk拼接,别出现截断的JSON。
- **错误码别硬编码**:429和503的处理逻辑完全不同——429是限流,503是服务挂了要切备用模型(比如本地部署的vLLM)。
- **成本控制**:设`max_tokens`上限,用正则过滤无效输入(比如用户刷“继续”的恶意请求)。推荐配个Grafana面板监控tokens消耗。
**个人推荐工具链**:LangChain太重的话,直接裸调`requests` + `pydantic`做schema校验。本地部署优先vLLM,延迟比FastChat低30%。
最后留个问题:你们生产环境是单模型还是多模型路由?遇到长上下文时,ChatGPT和Claude的API表现差异大吗?来评论区撕一撕。 |