{"repo":"geekai-pub/openai-proxy","free":true,"listed":false,"github":"https://github.com/geekai-pub/openai-proxy","clone":"git clone https://github.com/geekai-pub/openai-proxy.git","description":"基于 Go 实现的 OpenAI HTTP 代理（云函数、lambda 函数、自己部署均可）","language":"Go","stars":531,"topics":["go","openai-api","proxy","tencent-cloud","stream"],"license":null,"category":"networking-infra","readme_excerpt":"GO-OPENAI-PROXY 基于 Go 实现的 OpenAI API HTTP 代理 想要快速体验，将 OpenAI API 调用域名从默认的 api.openai.com 调整为 proxy.geekai.co 即可。你可以在这里预览演示效果：演示应用。 切换到 Azure OpenAI 默认在 9000 端口代理 OpenAI API，要想切换到 Azure OpenAI API，可以在 scf bootstrap 的启动命令中添加域名参数来指定你的 Azure OpenAI API Endpoint: 如果 9000 端口被占用，可以通过 -post=9001 指定其他端口。 代理任意全球域名 这个工具最早是为 OpenAI 代理而生，但实际上现在已经可以支持通过一个入口代理任意域名，只需要在发起发起代理请求的时候通过 X-Target-Host 设置你想要代理的域名（不带 http(s):// 前缀）即可，优先级是 请求头 命令行参数 默认值 ： 编译打包 你可以修改源代码调整代理逻辑，然后编译打包进行部署： 此命令需要本地安装go开发环境，如果不想本地安装 go 环境进行编译打包，可以直接下载根据最新源代码编译打包好的 main.zip ：Releases 部署测试 支持部署到腾讯/阿里云函数、AWS lambda 函数以及任意云服务器，以下以腾讯云函数为例进行演示。 然后在腾讯云云函数代码管理界面上传打包好 zip 包即可完成部署： 你可以通过腾讯云云函数提供的测试工具进行测试，也可以本地通过 curl/postman 进行测试，使用的时候只需要将 api.openai.com 替换成代理域名 proxy.geekai.co 即可： 你可以选择自己搭建，也可以直接使用我提供的代理域名 proxy.geekai.co ，反正是免费的。关于代理背后的原理，可以看我在极客书房发布的这篇教程：国内无法调用 OpenAI 接口的解决办法。 本地调试走VPN的话可以设置环境变量 ENV=local ，然后直连 api.openai.com ： 流式响应支持 这个源代码本身是支持 stream 流式响应代理的，但目前很多云函数并不支持分块流式传输。所以，如果你需要实现流式响应，可以把编译后的二进制文件 main 丢到任意海外云服务器运行，这样就变成支持流式响应的 OpenAI HTTP 代理了，如果你不想折腾，可以使用我这边提供的 proxy.geekai.co 作为代理进行测试： 如果你是通过 Nginx 这种反向代理对外提供服务，记得通过如下配置项将默认缓冲和缓存关掉才会生效：","default_branch":null,"files":null,"tree":[],"storefront":"/r/geekai-pub","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/geekai-pub/openai-proxy/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}