一个月前我决定自己搭一个 API 中转站。预算是阿里云最便宜的 ECS:1核 1.6GB 内存,月费不到 50 块。
这篇文章记录我踩过的坑,以及为什么 500 元的年预算够用了。
为什么不直接用官方 API
两个原因。
第一,价格。DeepSeek 官方 API 的价格在涨,而且高峰期限流严重。中转站可以接多个上游(DeepSeek + 小米 + 通义千问),哪个便宜用哪个,哪个挂了自动切。
第二,可控。所有请求经过自己的服务器,可以加语义缓存(相同问题直接返回缓存,省 token)、加访问控制、加用量统计。这些在官方 API 那里都是黑盒。
技术选型
核心只有三样东西:
- FastAPI — Python 异步框架,写 API 最趁手
- Nginx — 反代 + SSL,比自己折腾 HTTPS 省一个下午
- Redis — 缓存层。API 响应扔进去,下次相同问题直接返回
关键踩坑
坑 1:上游 Key 会过期。 我的 DeepSeek key 在第三周突然失效,所有请求返回 401。查了半天才发现是 key 过期了——不是欠费,就是有有效期。解决方案:换新 key + 接小米和通义千问作为备份。三个上游互为备份,挂一个不影响服务。
坑 2:语义缓存比你以为的难做。 一开始我用精确匹配——请求内容 hash 后查 Redis。命中率不到 5%。后来改成 embedding 相似度匹配:新请求进来,算 embedding,找 Redis 里最相似的缓存,相似度 > 0.95 就返回。命率升到 30% 左右。代码不到 80 行,效果超出预期。
坑 3:1.6GB 内存是硬天花板。 跑了 FastAPI + Redis + PostgreSQL + Nginx 四个进程,空闲内存只剩 250-400MB。任何新服务(n8n、Node 应用)都可能触发 OOM。我的经验:部署前一定先 free -h。能走 SaaS 的不要自己部署,能在本地跑的不上服务器。
成本明细
| 项目 | 月费 |
|---|---|
| 阿里云 ECS 1核1.6G | ¥48 |
| Redis (同机部署) | ¥0 |
| PostgreSQL (同机) | ¥0 |
| API 用量 (日均 500 次) | ¥15-30 |
| 域名 + SSL | ¥0 (Let’s Encrypt) |
| 月总计 | ¥63-78 |
要不要自己搭
如果你是个人开发者,每天 API 调用量在几百次量级,强烈建议自己搭。500 块一年,买个对 API 的完全控制权。
如果你的量很大(日均万次以上),官方 API 的折扣可能更划算,而且运维成本不能忽略。
对于我——一个把 API 当日常工具的 AI 用户——这 500 块是今年花得最值的技术投资。