mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-25 06:14:06 +00:00
fix(publish): generate correct chat history and usage (#2412)
This commit is contained in:
@@ -34,8 +34,11 @@ export enum ChatSourceEnum {
|
|||||||
share = 'share',
|
share = 'share',
|
||||||
api = 'api',
|
api = 'api',
|
||||||
team = 'team',
|
team = 'team',
|
||||||
feishu = 'feishu'
|
feishu = 'feishu',
|
||||||
|
official_account = 'official_account',
|
||||||
|
wecom = 'wecom'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ChatSourceMap = {
|
export const ChatSourceMap = {
|
||||||
[ChatSourceEnum.test]: {
|
[ChatSourceEnum.test]: {
|
||||||
name: i18nT('common:core.chat.logs.test')
|
name: i18nT('common:core.chat.logs.test')
|
||||||
@@ -54,6 +57,12 @@ export const ChatSourceMap = {
|
|||||||
},
|
},
|
||||||
[ChatSourceEnum.feishu]: {
|
[ChatSourceEnum.feishu]: {
|
||||||
name: i18nT('common:core.chat.logs.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')
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
import { DispatchNodeResponseType } from '../workflow/runtime/type';
|
import { DispatchNodeResponseType } from '../workflow/runtime/type';
|
||||||
import { FlowNodeTypeEnum } from '../workflow/node/constant';
|
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 { ChatHistoryItemResType, ChatItemType, UserChatItemValueItemType } from './type.d';
|
||||||
import { sliceStrStartEnd } from '../../common/string/tools';
|
import { sliceStrStartEnd } from '../../common/string/tools';
|
||||||
|
import { PublishChannelEnum } from '../../support/outLink/constant';
|
||||||
|
|
||||||
// Concat 2 -> 1, and sort by role
|
// Concat 2 -> 1, and sort by role
|
||||||
export const concatHistories = (histories1: ChatItemType[], histories2: ChatItemType[]) => {
|
export const concatHistories = (histories1: ChatItemType[], histories2: ChatItemType[]) => {
|
||||||
@@ -123,3 +124,22 @@ export const getPluginOutputsFromChatResponses = (responses: ChatHistoryItemResT
|
|||||||
responses.find((item) => item.moduleType === FlowNodeTypeEnum.pluginOutput)?.pluginOutput ?? {};
|
responses.find((item) => item.moduleType === FlowNodeTypeEnum.pluginOutput)?.pluginOutput ?? {};
|
||||||
return outputs;
|
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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
@@ -6,7 +6,10 @@ export enum UsageSourceEnum {
|
|||||||
shareLink = 'shareLink',
|
shareLink = 'shareLink',
|
||||||
training = 'training',
|
training = 'training',
|
||||||
cronJob = 'cronJob',
|
cronJob = 'cronJob',
|
||||||
feishu = 'feishu'
|
share = 'share',
|
||||||
|
wecom = 'wecom',
|
||||||
|
feishu = 'feishu',
|
||||||
|
official_account = 'official_account'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const UsageSourceMap = {
|
export const UsageSourceMap = {
|
||||||
@@ -27,5 +30,14 @@ export const UsageSourceMap = {
|
|||||||
},
|
},
|
||||||
[UsageSourceEnum.feishu]: {
|
[UsageSourceEnum.feishu]: {
|
||||||
label: i18nT('user:usage.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')
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
import { PRICE_SCALE } from '../constants';
|
import { PRICE_SCALE } from '../constants';
|
||||||
import { UsageSourceEnum } from './constants';
|
import { UsageSourceEnum } from './constants';
|
||||||
import { AuthUserTypeEnum } from '../../permission/constant';
|
import { AuthUserTypeEnum } from '../../permission/constant';
|
||||||
|
import { PublishChannelEnum } from '../../outLink/constant';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dataset price / PRICE_SCALE = real price
|
* dataset price / PRICE_SCALE = real price
|
||||||
@@ -21,3 +22,22 @@ export const getUsageSourceByAuthType = ({
|
|||||||
if (authType === AuthUserTypeEnum.apikey) return UsageSourceEnum.api;
|
if (authType === AuthUserTypeEnum.apikey) return UsageSourceEnum.api;
|
||||||
return UsageSourceEnum.fastgpt;
|
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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
@@ -495,10 +495,12 @@
|
|||||||
"logs": {
|
"logs": {
|
||||||
"api": "API 调用",
|
"api": "API 调用",
|
||||||
"feishu": "飞书",
|
"feishu": "飞书",
|
||||||
|
"official_account": "公众号",
|
||||||
"online": "在线使用",
|
"online": "在线使用",
|
||||||
"share": "外部链接调用",
|
"share": "外部链接调用",
|
||||||
"team": "团队空间对话",
|
"team": "团队空间对话",
|
||||||
"test": "测试"
|
"test": "测试",
|
||||||
|
"wecom": "企业微信"
|
||||||
},
|
},
|
||||||
"markdown": {
|
"markdown": {
|
||||||
"Edit Question": "编辑问题",
|
"Edit Question": "编辑问题",
|
||||||
|
@@ -75,6 +75,9 @@
|
|||||||
"no_collaborators": "暂无协作者"
|
"no_collaborators": "暂无协作者"
|
||||||
},
|
},
|
||||||
"usage": {
|
"usage": {
|
||||||
"feishu": "飞书"
|
"feishu": "飞书",
|
||||||
|
"official_account": "公众号",
|
||||||
|
"share": "分享链接",
|
||||||
|
"wecom": "企业微信"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user