mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-19 18:14:38 +00:00
perf: 去除内容截取
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
## 常见问题
|
## 常见问题
|
||||||
**内容长度**
|
**内容长度**
|
||||||
单次最长 4000 tokens, 上下文最长 8000 tokens, 上下文超长时会被截断。
|
chatgpt 上下文最长 4096 tokens, 上下文超长时会报错。
|
||||||
|
|
||||||
**删除和复制**
|
**删除和复制**
|
||||||
点击对话头像,可以选择复制或删除该条内容。
|
点击对话头像,可以选择复制或删除该条内容。
|
||||||
|
@@ -61,7 +61,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 控制在 tokens 数量,防止超出
|
// 控制在 tokens 数量,防止超出
|
||||||
const filterPrompts = openaiChatFilter(prompts, modelConstantsData.contextMaxToken);
|
// const filterPrompts = openaiChatFilter(prompts, modelConstantsData.contextMaxToken);
|
||||||
|
|
||||||
// 格式化文本内容成 chatgpt 格式
|
// 格式化文本内容成 chatgpt 格式
|
||||||
const map = {
|
const map = {
|
||||||
@@ -69,12 +69,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
||||||
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
||||||
};
|
};
|
||||||
const formatPrompts: ChatCompletionRequestMessage[] = filterPrompts.map(
|
const formatPrompts: ChatCompletionRequestMessage[] = prompts.map((item: ChatItemType) => ({
|
||||||
(item: ChatItemType) => ({
|
|
||||||
role: map[item.obj],
|
role: map[item.obj],
|
||||||
content: item.value
|
content: item.value
|
||||||
})
|
}));
|
||||||
);
|
|
||||||
// console.log(formatPrompts);
|
// console.log(formatPrompts);
|
||||||
// 计算温度
|
// 计算温度
|
||||||
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
||||||
|
@@ -116,8 +116,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 有匹配情况下,添加知识库内容。
|
// 有匹配情况下,添加知识库内容。
|
||||||
// 系统提示词过滤,最多 2000 tokens
|
// 系统提示词过滤,最多 2500 tokens
|
||||||
const systemPrompt = systemPromptFilter(formatRedisPrompt, 2000);
|
const systemPrompt = systemPromptFilter(formatRedisPrompt, 2500);
|
||||||
|
|
||||||
prompts.unshift({
|
prompts.unshift({
|
||||||
obj: 'SYSTEM',
|
obj: 'SYSTEM',
|
||||||
@@ -128,7 +128,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 控制在 tokens 数量,防止超出
|
// 控制在 tokens 数量,防止超出
|
||||||
const filterPrompts = openaiChatFilter(prompts, modelConstantsData.contextMaxToken);
|
// const filterPrompts = openaiChatFilter(prompts, modelConstantsData.contextMaxToken);
|
||||||
|
|
||||||
// 格式化文本内容成 chatgpt 格式
|
// 格式化文本内容成 chatgpt 格式
|
||||||
const map = {
|
const map = {
|
||||||
@@ -136,12 +136,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
||||||
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
||||||
};
|
};
|
||||||
const formatPrompts: ChatCompletionRequestMessage[] = filterPrompts.map(
|
const formatPrompts: ChatCompletionRequestMessage[] = prompts.map((item: ChatItemType) => ({
|
||||||
(item: ChatItemType) => ({
|
|
||||||
role: map[item.obj],
|
role: map[item.obj],
|
||||||
content: item.value
|
content: item.value
|
||||||
})
|
}));
|
||||||
);
|
|
||||||
// console.log(formatPrompts);
|
// console.log(formatPrompts);
|
||||||
// 计算温度
|
// 计算温度
|
||||||
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
||||||
|
@@ -74,21 +74,16 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 控制在 tokens 数量,防止超出
|
|
||||||
const filterPrompts = openaiChatFilter(prompts, modelConstantsData.contextMaxToken);
|
|
||||||
|
|
||||||
// 格式化文本内容成 chatgpt 格式
|
// 格式化文本内容成 chatgpt 格式
|
||||||
const map = {
|
const map = {
|
||||||
Human: ChatCompletionRequestMessageRoleEnum.User,
|
Human: ChatCompletionRequestMessageRoleEnum.User,
|
||||||
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
||||||
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
||||||
};
|
};
|
||||||
const formatPrompts: ChatCompletionRequestMessage[] = filterPrompts.map(
|
const formatPrompts: ChatCompletionRequestMessage[] = prompts.map((item: ChatItemType) => ({
|
||||||
(item: ChatItemType) => ({
|
|
||||||
role: map[item.obj],
|
role: map[item.obj],
|
||||||
content: item.value
|
content: item.value
|
||||||
})
|
}));
|
||||||
);
|
|
||||||
// console.log(formatPrompts);
|
// console.log(formatPrompts);
|
||||||
// 计算温度
|
// 计算温度
|
||||||
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
||||||
|
@@ -140,8 +140,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 有匹配或者低匹配度模式情况下,添加知识库内容。
|
// 有匹配或者低匹配度模式情况下,添加知识库内容。
|
||||||
// 系统提示词过滤,最多 2800 tokens
|
// 系统提示词过滤,最多 2500 tokens
|
||||||
const systemPrompt = systemPromptFilter(formatRedisPrompt, 2800);
|
const systemPrompt = systemPromptFilter(formatRedisPrompt, 2500);
|
||||||
|
|
||||||
prompts.unshift({
|
prompts.unshift({
|
||||||
obj: 'SYSTEM',
|
obj: 'SYSTEM',
|
||||||
@@ -151,21 +151,16 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 控制在 tokens 数量,防止超出
|
|
||||||
const filterPrompts = openaiChatFilter(prompts, modelConstantsData.contextMaxToken);
|
|
||||||
|
|
||||||
// 格式化文本内容成 chatgpt 格式
|
// 格式化文本内容成 chatgpt 格式
|
||||||
const map = {
|
const map = {
|
||||||
Human: ChatCompletionRequestMessageRoleEnum.User,
|
Human: ChatCompletionRequestMessageRoleEnum.User,
|
||||||
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
AI: ChatCompletionRequestMessageRoleEnum.Assistant,
|
||||||
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
SYSTEM: ChatCompletionRequestMessageRoleEnum.System
|
||||||
};
|
};
|
||||||
const formatPrompts: ChatCompletionRequestMessage[] = filterPrompts.map(
|
const formatPrompts: ChatCompletionRequestMessage[] = prompts.map((item: ChatItemType) => ({
|
||||||
(item: ChatItemType) => ({
|
|
||||||
role: map[item.obj],
|
role: map[item.obj],
|
||||||
content: item.value
|
content: item.value
|
||||||
})
|
}));
|
||||||
);
|
|
||||||
// console.log(formatPrompts);
|
// console.log(formatPrompts);
|
||||||
// 计算温度
|
// 计算温度
|
||||||
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
const temperature = modelConstantsData.maxTemperature * (model.temperature / 10);
|
||||||
|
Reference in New Issue
Block a user