From 0ecd49e312b8392ae6ec5118a058d58b4e9df4ec Mon Sep 17 00:00:00 2001 From: Zhang Minghan <zmh13054618081@dingtalk.com> Date: Tue, 12 Mar 2024 15:08:11 +0800 Subject: [PATCH] feat: support moonshot ai (#107) --- adapter/adapter.go | 2 + app/src/admin/channel.ts | 8 ++- app/src/admin/colors.ts | 4 ++ app/src/admin/datasets/charge.ts | 62 +++++++++++++++-------- app/src/components/admin/ChargeWidget.tsx | 2 +- globals/constant.go | 2 +- 6 files changed, 55 insertions(+), 25 deletions(-) diff --git a/adapter/adapter.go b/adapter/adapter.go index 445424b4..4c76a05f 100644 --- a/adapter/adapter.go +++ b/adapter/adapter.go @@ -35,6 +35,8 @@ var channelFactories = map[string]adaptercommon.FactoryCreator{ globals.SkylarkChannelType: skylark.NewChatInstanceFromConfig, globals.ZhinaoChannelType: zhinao.NewChatInstanceFromConfig, globals.MidjourneyChannelType: midjourney.NewChatInstanceFromConfig, + + globals.MoonshotChannelType: openai.NewChatInstanceFromConfig, // openai format } func createChatRequest(conf globals.ChannelConfig, props *adaptercommon.ChatProps, hook globals.Hook) error { diff --git a/app/src/admin/channel.ts b/app/src/admin/channel.ts index 7b9283ff..2826ce37 100644 --- a/app/src/admin/channel.ts +++ b/app/src/admin/channel.ts @@ -36,7 +36,8 @@ export const ChannelTypes: Record<string, string> = { palm: "Google Gemini", midjourney: "Midjourney Proxy", sparkdesk: "讯飞星火 SparkDesk", - chatglm: "智谱 ChatGLM", + chatglm: "智谱清言 ChatGLM", + moonshot: "月之暗面 Moonshot", qwen: "通义千问 TongYi", hunyuan: "腾讯混元 Hunyuan", zhinao: "360智脑 360GLM", @@ -207,6 +208,11 @@ export const ChannelInfos: Record<string, ChannelInfo> = { "> 接入点填写你的 Midjourney Proxy 的部署地址,如 *http://localhost:8080*, *https://example.com* \n" + "> 注意:**请在系统设置中设置后端的公网 IP / 域名,否则无法接收回调报错 please provide available notify url** \n", }, + moonshot: { + endpoint: "https://api.moonshot.cn", + format: "<api-key>", + models: ["moonshot-v1-8k", "moonshot-v1-32k", "moonshot-v1-128k"], + } }; export const defaultChannelModels: string[] = getUniqueList( diff --git a/app/src/admin/colors.ts b/app/src/admin/colors.ts index 4ef2edab..901a98a7 100644 --- a/app/src/admin/colors.ts +++ b/app/src/admin/colors.ts @@ -46,6 +46,10 @@ export const modelColorMapper: Record<string, string> = { "spark-desk-v3": "blue-400", "spark-desk-v3.5": "blue-400", + "moonshot-v1-8k": "black-500", + "moonshot-v1-32k": "black-500", + "moonshot-v1-128k": "black-500", + "chat-bison-001": "red-500", "gemini-pro": "red-500", "gemini-pro-vision": "red-500", diff --git a/app/src/admin/datasets/charge.ts b/app/src/admin/datasets/charge.ts index c4dff605..34c6138e 100644 --- a/app/src/admin/datasets/charge.ts +++ b/app/src/admin/datasets/charge.ts @@ -119,38 +119,56 @@ export const pricing: PricingDataset = [ }, { models: ["spark-desk-v1.5"], - input: 0.15, - output: 0.15, + input: 0.015, + output: 0.015, currency: Currency.CNY, }, { models: ["spark-desk-v2", "spark-desk-v3"], - input: 0.3, - output: 0.3, + input: 0.03, + output: 0.03, + currency: Currency.CNY, + }, + { + models: ["moonshot-v1-8k"], + input: 0.012, + output: 0.012, + currency: Currency.CNY, + }, + { + models: ["moonshot-v1-32k"], + input: 0.024, + output: 0.024, + currency: Currency.CNY, + }, + { + models: ["moonshot-v1-128k"], + input: 0.06, + output: 0.06, currency: Currency.CNY, }, { models: ["zhipu-chatglm-lite", "zhipu-chatglm-std", "zhipu-chatglm-turbo"], - input: 0.05, - output: 0.05, + input: 0.005, + output: 0.005, currency: Currency.CNY, }, { models: ["zhipu-chatglm-pro"], - input: 0.1, - output: 0.1, + input: 0.01, + output: 0.01, currency: Currency.CNY, }, { models: ["qwen-plus", "qwen-plus-net"], - input: 0.2, - output: 0.2, + input: 0.02, + output: 0.02, currency: Currency.CNY, }, { models: ["qwen-turbo", "qwen-turbo-net"], - input: 0.08, - output: 0.08, + input: 0.008, + output: 0.008, currency: Currency.CNY, }, { @@ -164,8 +182,8 @@ export const pricing: PricingDataset = [ }, { models: ["hunyuan"], - input: 1, - output: 1, + input: 0.1, + output: 0.1, currency: Currency.CNY, }, { @@ -176,26 +194,26 @@ export const pricing: PricingDataset = [ }, { models: ["baichuan-53b"], - input: 0.2, - output: 0.2, + input: 0.02, + output: 0.02, currency: Currency.CNY, }, { models: ["skylark-lite-public"], - input: 0.04, - output: 0.04, + input: 0.004, + output: 0.004, currency: Currency.CNY, }, { models: ["skylark-plus-public"], - input: 0.08, - output: 0.08, + input: 0.008, + output: 0.008, currency: Currency.CNY, }, { models: ["skylark-pro-public", "skylark-chat"], - input: 0.11, - output: 0.11, + input: 0.011, + output: 0.011, currency: Currency.CNY, }, ]; diff --git a/app/src/components/admin/ChargeWidget.tsx b/app/src/components/admin/ChargeWidget.tsx index 8c9d3b5f..7b002f2a 100644 --- a/app/src/components/admin/ChargeWidget.tsx +++ b/app/src/components/admin/ChargeWidget.tsx @@ -686,7 +686,7 @@ function ChargeTable({ data, dispatch, onRefresh }: ChargeTableProps) { dispatch({ type: "set", payload: props }); // scroll to top - scrollUp(getQuerySelector(".admin-content")!); + scrollUp(getQuerySelector(".admin-content > .scrollarea-viewport")!); }} > <Settings2 className={`h-4 w-4`} /> diff --git a/globals/constant.go b/globals/constant.go index 4e8199bf..a056913c 100644 --- a/globals/constant.go +++ b/globals/constant.go @@ -23,7 +23,7 @@ const ( BingChannelType = "bing" PalmChannelType = "palm" MidjourneyChannelType = "midjourney" - OneAPIChannelType = "oneapi" + MoonshotChannelType = "moonshot" ) const (