mirror of
https://github.com/labring/FastGPT.git
synced 2025-12-26 04:32:50 +00:00
101 lines
2.1 KiB
TypeScript
101 lines
2.1 KiB
TypeScript
import type { ServiceName } from '@/types/mongoSchema';
|
||
import { ModelSchema } from '../types/mongoSchema';
|
||
|
||
export enum ChatModelNameEnum {
|
||
GPT35 = 'gpt-3.5-turbo',
|
||
GPT3 = 'text-davinci-003'
|
||
}
|
||
|
||
export type ModelConstantsData = {
|
||
serviceCompany: `${ServiceName}`;
|
||
name: string;
|
||
model: `${ChatModelNameEnum}`;
|
||
trainName: string; // 空字符串代表不能训练
|
||
maxToken: number;
|
||
maxTemperature: number;
|
||
trainedMaxToken: number; // 训练后最大多少tokens
|
||
price: number; // 多少钱 / 1token,单位: 0.00001元
|
||
};
|
||
|
||
export const modelList: ModelConstantsData[] = [
|
||
{
|
||
serviceCompany: 'openai',
|
||
name: 'chatGPT',
|
||
model: ChatModelNameEnum.GPT35,
|
||
trainName: '',
|
||
maxToken: 4000,
|
||
trainedMaxToken: 2000,
|
||
maxTemperature: 2,
|
||
price: 3
|
||
},
|
||
{
|
||
serviceCompany: 'openai',
|
||
name: 'GPT3',
|
||
model: ChatModelNameEnum.GPT3,
|
||
trainName: 'davinci',
|
||
maxToken: 4000,
|
||
trainedMaxToken: 2000,
|
||
maxTemperature: 2,
|
||
price: 30
|
||
}
|
||
];
|
||
|
||
export enum TrainingStatusEnum {
|
||
pending = 'pending',
|
||
succeed = 'succeed',
|
||
errored = 'errored',
|
||
canceled = 'canceled'
|
||
}
|
||
|
||
export enum ModelStatusEnum {
|
||
running = 'running',
|
||
training = 'training',
|
||
pending = 'pending',
|
||
closed = 'closed'
|
||
}
|
||
|
||
export const formatModelStatus = {
|
||
[ModelStatusEnum.running]: {
|
||
colorTheme: 'green',
|
||
text: '运行中'
|
||
},
|
||
[ModelStatusEnum.training]: {
|
||
colorTheme: 'blue',
|
||
text: '训练中'
|
||
},
|
||
[ModelStatusEnum.pending]: {
|
||
colorTheme: 'gray',
|
||
text: '加载中'
|
||
},
|
||
[ModelStatusEnum.closed]: {
|
||
colorTheme: 'red',
|
||
text: '已关闭'
|
||
}
|
||
};
|
||
|
||
export const defaultModel: ModelSchema = {
|
||
_id: '',
|
||
userId: '',
|
||
name: '',
|
||
avatar: '',
|
||
status: ModelStatusEnum.pending,
|
||
updateTime: Date.now(),
|
||
trainingTimes: 0,
|
||
systemPrompt: '',
|
||
intro: '',
|
||
temperature: 5,
|
||
service: {
|
||
company: 'openai',
|
||
trainId: '',
|
||
chatModel: ChatModelNameEnum.GPT35,
|
||
modelName: ChatModelNameEnum.GPT35
|
||
},
|
||
security: {
|
||
domain: ['*'],
|
||
contextMaxLen: 1,
|
||
contentMaxLen: 1,
|
||
expiredTime: 9999,
|
||
maxLoadAmount: 1
|
||
}
|
||
};
|