因为我自己维护了一个类似 OpenRouter 这样的代理平台,所以我用各种 AI 应用的时候都会关注能否用自己的 OpenAI Compatible API。前段时间发现 GitHub Copilot 似乎不支持。
本来以为这是故意不让你通过这种方式去获取它的 prompt,后来发现它也允许本地的 ollama 服务,所以应该不是这个原因。而且没过多久又听说 GitHub Copilot 要开源了……
后来发现了一个 Issue:Add custom OpenAI endpoint configuration (Base URL & Model Parameter) of copilot chat settings · Issue #7518 · microsoft/vscode-copilot-release 就是说的这个问题,但是似乎即便大家提供了 PR 和解法但是官方就是不采用。于是后来发现了一条 comment mock 了 ollama 的 API,我觉得这很好,符合我的“别人不改就我来 patch”的开发精神😂
其实我早就想这么干了,只是自己不用 ollama 的 API 又不想自己去读 ollama 的文档
然后我立马发了个 python 库(其实算是一个 CLI 工具),来实现这个东西,但是通过一行命令就能启动:
uvx oai2ollama --api-key ... --base-url ...
这样就会在 ollama 的 11434 端口启动一个 API 服务,Chat Completions 请求会自动 rewrite 到你提供的 OpenAI Compatible API 服务去。
本来以为这就是一个自用的工具,没想到居然时不时看到有人 fork 有人 star,现在居然有 14 颗 star 了!看来果然是跟 AI 相关的东西就会有 star 涌来啊。唉(有点世风日下的感叹,当然我不是一刀切哈)面向社区的项目无人问津,面向自己的小工具反而有人迹 感觉老天在嘲笑我😭