4.6.8-production (#822)

* Json completion (#16)

* json-completion

* fix duplicate

* fix

* fix: config json

* feat: query extension

* perf: i18n

* 468 doc

* json editor

* perf: doc

* perf: default extension model

* docker file

* doc

* perf: token count

* perf: search extension

* format

* perf: some constants data

---------

Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
This commit is contained in:
Archer
2024-02-05 00:51:46 +08:00
committed by GitHub
parent ec8e2512bc
commit 51bbdf26a3
68 changed files with 4118 additions and 3787 deletions

View File

@@ -87,7 +87,10 @@ export const pushGenerateVectorBill = ({
tmbId,
charsLength,
model,
source = BillSourceEnum.fastgpt
source = BillSourceEnum.fastgpt,
extensionModel,
extensionInputTokens,
extensionOutputTokens
}: {
billId?: string;
teamId: string;
@@ -95,19 +98,43 @@ export const pushGenerateVectorBill = ({
charsLength: number;
model: string;
source?: `${BillSourceEnum}`;
extensionModel?: string;
extensionInputTokens?: number;
extensionOutputTokens?: number;
}) => {
let { total, modelName } = formatModelPrice2Store({
const { total: totalVector, modelName: vectorModelName } = formatModelPrice2Store({
model,
inputLen: charsLength,
type: ModelTypeEnum.vector
});
const { extensionTotal, extensionModelName } = (() => {
if (!extensionModel || !extensionInputTokens || !extensionOutputTokens)
return {
extensionTotal: 0,
extensionModelName: ''
};
const { total, modelName } = formatModelPrice2Store({
model: extensionModel,
inputLen: extensionInputTokens,
outputLen: extensionOutputTokens,
type: ModelTypeEnum.llm
});
return {
extensionTotal: total,
extensionModelName: modelName
};
})();
const total = totalVector + extensionTotal;
// 插入 Bill 记录
if (billId) {
concatBill({
teamId,
tmbId,
total,
total: totalVector,
billId,
charsLength,
listIndex: 0
@@ -123,9 +150,20 @@ export const pushGenerateVectorBill = ({
{
moduleName: 'wallet.moduleName.index',
amount: total,
model: modelName,
model: vectorModelName,
charsLength
}
},
...(extensionModel !== undefined
? [
{
moduleName: extensionModelName,
amount: extensionTotal,
model: extensionModelName,
inputTokens: extensionInputTokens,
outputTokens: extensionOutputTokens
}
]
: [])
]
});
}