fix(publish): generate correct chat history and usage (#2412)

This commit is contained in:
Finley Ge
2024-08-16 15:59:17 +08:00
committed by GitHub
parent bebbba399a
commit 9b74437417
6 changed files with 71 additions and 5 deletions

View File

@@ -34,8 +34,11 @@ export enum ChatSourceEnum {
share = 'share',
api = 'api',
team = 'team',
feishu = 'feishu'
feishu = 'feishu',
official_account = 'official_account',
wecom = 'wecom'
}
export const ChatSourceMap = {
[ChatSourceEnum.test]: {
name: i18nT('common:core.chat.logs.test')
@@ -54,6 +57,12 @@ export const ChatSourceMap = {
},
[ChatSourceEnum.feishu]: {
name: i18nT('common:core.chat.logs.feishu')
},
[ChatSourceEnum.official_account]: {
name: i18nT('common:core.chat.logs.official_account')
},
[ChatSourceEnum.wecom]: {
name: i18nT('common:core.chat.logs.wecom')
}
};

View File

@@ -1,8 +1,9 @@
import { DispatchNodeResponseType } from '../workflow/runtime/type';
import { FlowNodeTypeEnum } from '../workflow/node/constant';
import { ChatItemValueTypeEnum, ChatRoleEnum } from './constants';
import { ChatItemValueTypeEnum, ChatRoleEnum, ChatSourceEnum } from './constants';
import { ChatHistoryItemResType, ChatItemType, UserChatItemValueItemType } from './type.d';
import { sliceStrStartEnd } from '../../common/string/tools';
import { PublishChannelEnum } from '../../support/outLink/constant';
// Concat 2 -> 1, and sort by role
export const concatHistories = (histories1: ChatItemType[], histories2: ChatItemType[]) => {
@@ -123,3 +124,22 @@ export const getPluginOutputsFromChatResponses = (responses: ChatHistoryItemResT
responses.find((item) => item.moduleType === FlowNodeTypeEnum.pluginOutput)?.pluginOutput ?? {};
return outputs;
};
export const getChatSourceByPublishChannel = (publishChannel: PublishChannelEnum) => {
switch (publishChannel) {
case PublishChannelEnum.share:
return ChatSourceEnum.share;
case PublishChannelEnum.iframe:
return ChatSourceEnum.share;
case PublishChannelEnum.apikey:
return ChatSourceEnum.api;
case PublishChannelEnum.feishu:
return ChatSourceEnum.feishu;
case PublishChannelEnum.wecom:
return ChatSourceEnum.wecom;
case PublishChannelEnum.officialAccount:
return ChatSourceEnum.official_account;
default:
return ChatSourceEnum.online;
}
};

View File

@@ -6,7 +6,10 @@ export enum UsageSourceEnum {
shareLink = 'shareLink',
training = 'training',
cronJob = 'cronJob',
feishu = 'feishu'
share = 'share',
wecom = 'wecom',
feishu = 'feishu',
official_account = 'official_account'
}
export const UsageSourceMap = {
@@ -27,5 +30,14 @@ export const UsageSourceMap = {
},
[UsageSourceEnum.feishu]: {
label: i18nT('user:usage.feishu')
},
[UsageSourceEnum.official_account]: {
label: i18nT('user:usage.official_account')
},
[UsageSourceEnum.share]: {
label: i18nT('user:usage.share')
},
[UsageSourceEnum.wecom]: {
label: i18nT('user:usage.wecom')
}
};

View File

@@ -2,6 +2,7 @@
import { PRICE_SCALE } from '../constants';
import { UsageSourceEnum } from './constants';
import { AuthUserTypeEnum } from '../../permission/constant';
import { PublishChannelEnum } from '../../outLink/constant';
/**
* dataset price / PRICE_SCALE = real price
@@ -21,3 +22,22 @@ export const getUsageSourceByAuthType = ({
if (authType === AuthUserTypeEnum.apikey) return UsageSourceEnum.api;
return UsageSourceEnum.fastgpt;
};
export const getUsageSourceByPublishChannel = (publishchannel: PublishChannelEnum) => {
switch (publishchannel) {
case PublishChannelEnum.share:
return UsageSourceEnum.share;
case PublishChannelEnum.iframe:
return UsageSourceEnum.shareLink;
case PublishChannelEnum.apikey:
return UsageSourceEnum.api;
case PublishChannelEnum.feishu:
return UsageSourceEnum.feishu;
case PublishChannelEnum.wecom:
return UsageSourceEnum.wecom;
case PublishChannelEnum.officialAccount:
return UsageSourceEnum.official_account;
default:
return UsageSourceEnum.fastgpt;
}
};

View File

@@ -495,10 +495,12 @@
"logs": {
"api": "API 调用",
"feishu": "飞书",
"official_account": "公众号",
"online": "在线使用",
"share": "外部链接调用",
"team": "团队空间对话",
"test": "测试"
"test": "测试",
"wecom": "企业微信"
},
"markdown": {
"Edit Question": "编辑问题",

View File

@@ -75,6 +75,9 @@
"no_collaborators": "暂无协作者"
},
"usage": {
"feishu": "飞书"
"feishu": "飞书",
"official_account": "公众号",
"share": "分享链接",
"wecom": "企业微信"
}
}