mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 13:03:50 +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',
|
||||
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')
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
};
|
||||
|
@@ -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')
|
||||
}
|
||||
};
|
||||
|
@@ -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;
|
||||
}
|
||||
};
|
||||
|
@@ -495,10 +495,12 @@
|
||||
"logs": {
|
||||
"api": "API 调用",
|
||||
"feishu": "飞书",
|
||||
"official_account": "公众号",
|
||||
"online": "在线使用",
|
||||
"share": "外部链接调用",
|
||||
"team": "团队空间对话",
|
||||
"test": "测试"
|
||||
"test": "测试",
|
||||
"wecom": "企业微信"
|
||||
},
|
||||
"markdown": {
|
||||
"Edit Question": "编辑问题",
|
||||
|
@@ -75,6 +75,9 @@
|
||||
"no_collaborators": "暂无协作者"
|
||||
},
|
||||
"usage": {
|
||||
"feishu": "飞书"
|
||||
"feishu": "飞书",
|
||||
"official_account": "公众号",
|
||||
"share": "分享链接",
|
||||
"wecom": "企业微信"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user