停止硬编码你的 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