一处配好四家大模型密钥:Fabric多AI供应商集成与模型切换实战
【免费下载链接】FabricFabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.项目地址: https://gitcode.com/GitHub_Trending/fa/Fabric
如果你之前只用过 OpenAI,某天它的服务变慢、涨价,或者你想试试 Claude 处理长文档,你会发现整个工具链都得跟着换。Fabric 把这件事简化成了两步:在一个配置文件里写好所有供应商的 API 密钥,然后运行任何命令时都可以指定用哪家的哪个模型来干活。多供应商密钥配置和模型切换从此不需要改代码、不需要重装,一行命令就能换"大脑"。
先说清楚这个功能解决什么麻烦
很多 AI 工具的底层写死了某一家供应商,意味着模型能力上限被锁死,账单也被锁死。Fabric 的设计思路相反:它把各家 AI 服务统一注册进同一个插件管理器,你在 供应商集成源码 里能看到 OpenAI、Anthropic、Google Gemini、Amazon Bedrock 等各自独立的客户端实现,但它们对外暴露的是同一套调用接口。
这带来三个直接好处:
- 不被绑定:密钥配了四家,任何一家出问题,切到另一家只需改命令行里的一个参数
- 按任务分工:长文档分析用上下文窗口大的模型,批量摘要用便宜快的模型,各自为战
- 本地与云端混用:接上 Ollama 或 LM Studio,敏感内容不出本机,普通任务走云端
密钥放在哪里
所有密钥集中在一个文件:~/.config/fabric/.env。Fabric 首次运行会自动创建它,你只需要把用到的供应商填进去。填了哪家的密钥,哪家的模型就可被调用,没填的不会出现在可选列表里。
最典型的四家配置如下,按注释取消对应行即可:
# OpenAI OPENAI_API_KEY=你的密钥 # Anthropic(Claude) ANTHROPIC_API_KEY=你的密钥 # Google Gemini GEMINI_API_KEY=你的密钥除了这四家,Fabric 还支持 Bedrock、Perplexity、Groq、Mistral、Azure、Vertex AI,以及通过 OpenAI 兼容协议接入的 Groq、Mistral、Together 等,本地方案则有 Ollama 和 LM Studio。全部走同一套.env机制,格式大同小异:供应商名_API_KEY=密钥。
一行命令换模型
指定模型用-m参数,格式是供应商|模型名,竖线前面是谁家,后面是具体模型。比如:
fabric -p summarize -m "openai|gpt-4o" fabric -p summarize -m "anthropic|claude-sonnet-4-20250514"同一条 summarize 命令,两行之间只是换了背后的模型。供应商名不区分大小写,写OpenAI或openai都行。如果你更习惯分开写,也有独立的-V参数指定供应商、-m只写模型名,两种写法效果一致。
想看看当前机器上到底配好了哪几家、各有哪些模型可用,直接看启动后的供应商列表即可——Fabric 会并行向每家拉取模型清单,连不上的会自动跳过,不影响其他家。
每个模式绑定一个默认模型
命令行临时切换适合试错,但很多任务你其实有固定偏好:代码审查永远要最强的,日常摘要用最省钱的。Fabric 支持用环境变量按模式(pattern)固化默认模型,变量名规则是FABRIC_MODEL_加上模式名的大写形式:
export FABRIC_MODEL_SUMMARIZE="anthropic|claude-sonnet-4-20250514" export FABRIC_MODEL_REVIEW_CODE="openai|gpt-4o"写进你的 shell 配置文件后,再运行fabric -p summarize就不用在命令行写-m了,它会自动套用上面绑定的模型。命令行显式传了-m时优先级更高,临时覆盖依然有效。
各家有哪些专属能力
统一接口不等于能力拉平。几家主流供应商在 Fabric 里有各自用不上的超能力,选型时值得留意:
| 供应商 | 在 Fabric 中的专属能力 |
|---|---|
| Anthropic | 支持 OAuth 登录(ANTHROPIC_USE_OAUTH_LOGIN=true),可用 Max 订阅代替 API 按量付费;部分模型开启百万 token 上下文窗口,长文档一把梭 |
| OpenAI | 语音转文字、图像生成,适合多模态任务 |
| Google Gemini | 文本转语音并可选发音人,内置网络搜索 |
| 本地(Ollama / LM Studio) | 数据不出本机,配合 OpenAI 兼容协议使用,适合隐私敏感场景 |
拿长文档来说:把一份两百页的年报丢给 Anthropic 的百万上下文模型,一次读完并输出摘要;同样文档给普通上下文窗口的模型就得切段处理,质量不稳定。这种差异是"按任务分派供应商"最实际的依据。
REST API 里怎么继续用多供应商
Fabric 自带的 REST API 会继承.env里配置的全部供应商,启动时全部就绪:
fabric --serve --address :8080 --api-key 你的密钥
端点请求中按同样的方式带上供应商与模型参数即可,也就是说命令行里能做的"换大脑"操作,API 调用方同样能做。接口细节见 REST API 文档。
怎么按任务选供应商
没有全能选手,给几条务实的对应关系:
- 超长文档、代码库级分析:优先 Anthropic 的 1M 上下文模型,或先用便宜模型分段摘要再汇总
- 日常批量处理、对成本敏感:OpenAI 的中端模型或 Groq 这类高吞吐服务
- 需要联网搜索:Gemini
- 隐私敏感、离线环境:Ollama / LM Studio 本地部署
- 混合云团队:Azure AI Gateway 或 Bedrock,走企业已有的云账号
实际操作中不用纠结"哪家最强":同一任务换两三家的模型各跑一遍,对比输出再定默认绑定,成本几乎为零。
连不上时先查这三处
- 密钥本身:确认
.env里对应的行没拼错、密钥没过期,尤其是从旧账号迁移过来的 - 供应商服务状态:看该家的状态页,Fabric 端报的错有时只是上游在抖动
- 用另一家验证:立刻换一家供应商跑同一条命令,如果成功,问题就锁定在原供应商侧而不是 Fabric 配置
再不行,可以跑fabric --setup重新走一遍供应商配置向导,它会逐家检测并只保留真正连通的那些。
供应商的注册、模型清单拉取与按名查找逻辑都在 供应商管理器源码 里,想弄清某个行为的具体机制时比翻文档更快。
【免费下载链接】FabricFabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.项目地址: https://gitcode.com/GitHub_Trending/fa/Fabric
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考