支持原生多轮对话

This commit is contained in:
Vinlic
2024-04-28 14:11:16 +08:00
parent 2aa6465a36
commit 7cc6033201
2 changed files with 56 additions and 28 deletions

View File

@@ -13,22 +13,22 @@ export default {
'/completions': async (request: Request) => {
request
.validate('body.conversation_id', v => _.isUndefined(v) || _.isString(v))
.validate('body.messages', _.isArray)
.validate('headers.authorization', _.isString)
// refresh_token切分
const tokens = chat.tokenSplit(request.headers.authorization);
// 随机挑选一个refresh_token
const token = _.sample(tokens);
const model = request.body.model;
const messages = request.body.messages;
if (request.body.stream) {
const stream = await chat.createCompletionStream(model, messages, token, request.body.use_search);
const { model, conversation_id: convId, messages, stream, use_search } = request.body;
if (stream) {
const stream = await chat.createCompletionStream(model, messages, token, use_search, convId);
return new Response(stream, {
type: "text/event-stream"
});
}
else
return await chat.createCompletion(model, messages, token, request.body.use_search);
return await chat.createCompletion(model, messages, token, use_search, convId);
}
}