From e28d4b17412e4f985245d933a3045161a22eebb9 Mon Sep 17 00:00:00 2001 From: JustSong Date: Sat, 14 Oct 2023 15:26:28 +0800 Subject: [PATCH] feat: support cloudflare AI gateway now (close #565, #598) --- README.md | 9 +++++---- controller/relay-text.go | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cb641947..5d807e2d 100644 --- a/README.md +++ b/README.md @@ -95,12 +95,13 @@ _✨ 通过标准的 OpenAI API 格式访问所有的大模型,开箱即用 15. 支持模型映射,重定向用户的请求模型。 16. 支持失败自动重试。 17. 支持绘图接口。 -18. 支持丰富的**自定义**设置, +18. 支持 [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/providers/openai/),渠道设置的代理部分填写 `https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/openai` 即可。 +19. 支持丰富的**自定义**设置, 1. 支持自定义系统名称,logo 以及页脚。 2. 支持自定义首页和关于页面,可以选择使用 HTML & Markdown 代码进行自定义,或者使用一个单独的网页通过 iframe 嵌入。 -19. 支持通过系统访问令牌访问管理 API。 -20. 支持 Cloudflare Turnstile 用户校验。 -21. 支持用户管理,支持**多种用户登录注册方式**: +20. 支持通过系统访问令牌访问管理 API。 +21. 支持 Cloudflare Turnstile 用户校验。 +22. 支持用户管理,支持**多种用户登录注册方式**: + 邮箱登录注册(支持注册邮箱白名单)以及通过邮箱进行密码重置。 + [GitHub 开放授权](https://github.com/settings/applications/new)。 + 微信公众号授权(需要额外部署 [WeChat Server](https://github.com/songquanpeng/wechat-server))。 diff --git a/controller/relay-text.go b/controller/relay-text.go index fba49a7f..db1ec3a2 100644 --- a/controller/relay-text.go +++ b/controller/relay-text.go @@ -119,6 +119,11 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { baseURL = c.GetString("base_url") } fullRequestURL := fmt.Sprintf("%s%s", baseURL, requestURL) + if channelType == common.ChannelTypeOpenAI { + if strings.HasPrefix(baseURL, "https://gateway.ai.cloudflare.com") { + fullRequestURL = fmt.Sprintf("%s%s", baseURL, strings.TrimPrefix(requestURL, "/v1")) + } + } switch apiType { case APITypeOpenAI: if channelType == common.ChannelTypeAzure {