我是如何防止 AI 功能掏空我的钱包的
我在我的个人项目中加入了一个 AI 聊天机器人。我原以为这很简单。
我错了。
两周后,我单周的 OpenAI 账单就达到了 87 美元。而我只有 50 个用户。我竟然在为一个兴趣项目亏钱。
我尝试了几种方法来降低成本。有些失败了。
- 速率限制 (Rate limiting):我限制了请求次数。用户对此非常反感并离开了。
- 截断上下文 (Truncating context):我通过减少数据量来节省 token。结果回答变得不准确了。
- 简单缓存 (Simple caching):我缓存了完全相同的提问。但用户很少会两次问一模一样的问题,所以这招没用。
我意识到问题在于重复劳动。LLM 在一遍又一遍地处理相同的想法。
我通过三个步骤解决了这个问题:
语义缓存 (Semantic Caching) 我不再寻找完全匹配的词汇,而是开始使用 embeddings 来寻找相似的问题。如果一个新问题与旧问题的相似度达到 92%,我就直接提供缓存的答案。这使得命中率达到了 40%,并将我的成本降低了一半。
智能模型路由 (Smart Model Routing) 我不再对所有任务都使用 GPT-4。我构建了一个路由。如果问题简短简单,我就使用廉价的服务商;如果问题很复杂,我才会将其发送给高级模型。大多数问题并不需要高端模型。
提示词精简 (Prompt Trimming) 我减少了发送给模型的上下文量。通过仅挑选最相关的数据块,我将上下文大小缩减了 60%。
结果:
- 每周成本从 40 美元降至 7 美元。
- 由于有了缓存,响应速度变快了。
- 用户满意度保持在高水平。
经验教训:
- 从第一天起就构建语义缓存。
- 立即在你的云账户上设置成本警报。
- 不要在简单的 FAQ 任务中使用昂贵模型。
添加 AI 不仅仅是关于提示词 (prompts)。它关乎经济效益。每一次 API 调用都是真金白银。如果你不为了效率而设计,你的项目将会失败。
你是如何管理你的 AI 成本的?
Source: https://dev.to/__c1b9e06dc90a7e0a676b/how-i-stopped-my-ai-feature-from-draining-my-wallet-20il