diff --git a/README.md b/README.md index e57dd11b..40f6e4e0 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ _✨ 通过标准的 OpenAI API 格式访问所有的大模型,开箱即用 + [x] [DeepSeek](https://www.deepseek.com/) + [x] [Cloudflare Workers AI](https://developers.cloudflare.com/workers-ai/) + [x] [DeepL](https://www.deepl.com/) + + [x] [together.ai](https://www.together.ai/) 2. 支持配置镜像以及众多[第三方代理服务](https://iamazing.cn/page/openai-api-third-party-services)。 3. 支持通过**负载均衡**的方式访问多个渠道。 4. 支持 **stream 模式**,可以通过流式传输实现打字机效果。 diff --git a/relay/adaptor/openai/compatible.go b/relay/adaptor/openai/compatible.go index ae8449db..0116a2eb 100644 --- a/relay/adaptor/openai/compatible.go +++ b/relay/adaptor/openai/compatible.go @@ -10,6 +10,7 @@ import ( "github.com/songquanpeng/one-api/relay/adaptor/mistral" "github.com/songquanpeng/one-api/relay/adaptor/moonshot" "github.com/songquanpeng/one-api/relay/adaptor/stepfun" + "github.com/songquanpeng/one-api/relay/adaptor/togetherai" "github.com/songquanpeng/one-api/relay/channeltype" ) @@ -24,6 +25,7 @@ var CompatibleChannels = []int{ channeltype.LingYiWanWu, channeltype.StepFun, channeltype.DeepSeek, + channeltype.TogetherAI, } func GetCompatibleChannelMeta(channelType int) (string, []string) { @@ -48,6 +50,8 @@ func GetCompatibleChannelMeta(channelType int) (string, []string) { return "stepfun", stepfun.ModelList case channeltype.DeepSeek: return "deepseek", deepseek.ModelList + case channeltype.TogetherAI: + return "together.ai", togetherai.ModelList default: return "openai", ModelList } diff --git a/relay/adaptor/togetherai/constants.go b/relay/adaptor/togetherai/constants.go new file mode 100644 index 00000000..0a79fbdc --- /dev/null +++ b/relay/adaptor/togetherai/constants.go @@ -0,0 +1,10 @@ +package togetherai + +// https://docs.together.ai/docs/inference-models + +var ModelList = []string{ + "meta-llama/Llama-3-70b-chat-hf", + "deepseek-ai/deepseek-coder-33b-instruct", + "mistralai/Mixtral-8x22B-Instruct-v0.1", + "Qwen/Qwen1.5-72B-Chat", +} diff --git a/relay/channeltype/define.go b/relay/channeltype/define.go index 84d074a6..60964565 100644 --- a/relay/channeltype/define.go +++ b/relay/channeltype/define.go @@ -40,6 +40,7 @@ const ( DeepSeek Cloudflare DeepL + TogetherAI Dummy ) diff --git a/relay/channeltype/url.go b/relay/channeltype/url.go index e4d7fbc9..f5767f47 100644 --- a/relay/channeltype/url.go +++ b/relay/channeltype/url.go @@ -40,6 +40,7 @@ var ChannelBaseURLs = []string{ "https://api.deepseek.com", // 36 "https://api.cloudflare.com", // 37 "https://api-free.deepl.com", // 38 + "https://api.together.xyz", // 39 } func init() { diff --git a/web/berry/src/constants/ChannelConstants.js b/web/berry/src/constants/ChannelConstants.js index b7a720ef..e6b0aed5 100644 --- a/web/berry/src/constants/ChannelConstants.js +++ b/web/berry/src/constants/ChannelConstants.js @@ -143,6 +143,12 @@ export const CHANNEL_OPTIONS = { value: 38, color: 'primary' }, + 39: { + key: 39, + text: 'together.ai', + value: 39, + color: 'primary' + }, 8: { key: 8, text: '自定义渠道', diff --git a/web/default/src/constants/channel.constants.js b/web/default/src/constants/channel.constants.js index 9d7c7fa0..43ee51b7 100644 --- a/web/default/src/constants/channel.constants.js +++ b/web/default/src/constants/channel.constants.js @@ -24,6 +24,7 @@ export const CHANNEL_OPTIONS = [ {key: 36, text: 'DeepSeek', value: 36, color: 'black'}, {key: 37, text: 'Cloudflare', value: 37, color: 'orange'}, {key: 38, text: 'DeepL', value: 38, color: 'black'}, + {key: 39, text: 'together.ai', value: 39, color: 'blue'}, {key: 8, text: '自定义渠道', value: 8, color: 'pink'}, {key: 22, text: '知识库:FastGPT', value: 22, color: 'blue'}, {key: 21, text: '知识库:AI Proxy', value: 21, color: 'purple'},