停止硬编码你的 AI API 调用
我不再硬编码 AI API 调用了。 这会带来维护噩梦。
我最初使用的是 OpenAI。 后来客户想要 Claude。 我当时为 OpenAI 写了一个函数。 增加另一个供应商意味着要复制代码。
我尝试过使用环境变量。 结果代码变成了一堆乱七八糟的 if-else 语句。 我需要一个通用的接口。
我构建了一个抽象层。 我使用了策略模式 (Strategy pattern)。
它的工作原理如下:
- 为供应商创建一个基类。
- 为每个 API 编写一个特定的类。
- 让应用程序调用基类。
你的应用无需关心运行的是哪个后端。
优点:
- 轻松添加新供应商。
- 使用模拟供应商进行测试。
缺点:
- 对于单一供应商来说,这有些过度设计。
- 你会失去某些 API 的独特功能。
- 错误映射需要额外的工作量。
我的建议: 从一个具体的供应商开始。 当你添加第二个供应商时再进行重构。
这让我免于进行大规模的重写。
你是如何处理多个 AI 供应商的?
来源:https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-hardcoding-ai-api-calls-and-built-a-simple-abstraction-layer-27me 可选学习社区:https://t.me/GyaanSetuAi