Files
chatbot-ui/pages/api/chat.ts
T
Mckay Wrigley 7810a3e7dc Add GPT-4 support (#25)
* mobile ui updates

* fixes sidebar btn

* return if null

* mobile input blur

* handle mobile enter key

* new convo name

* new delete mechanism

* test height

* revert

* change padding

* remove overflow

* check relative

* padding

* done

* retry

* test

* test

* should work now

* test

* test

* more

* max h

* revert

* done
2023-03-20 03:53:00 -06:00

39 lines
949 B
TypeScript

import { Message, OpenAIModel } from "@/types";
import { OpenAIStream } from "@/utils/server";
export const config = {
runtime: "edge"
};
const handler = async (req: Request): Promise<Response> => {
try {
const { model, messages, key } = (await req.json()) as {
model: OpenAIModel;
messages: Message[];
key: string;
};
const charLimit = 12000;
let charCount = 0;
let messagesToSend: Message[] = [];
for (let i = messages.length - 1; i >= 0; i--) {
const message = messages[i];
if (charCount + message.content.length > charLimit) {
break;
}
charCount += message.content.length;
messagesToSend = [message, ...messagesToSend];
}
const stream = await OpenAIStream(model, key, messagesToSend);
return new Response(stream);
} catch (error) {
console.error(error);
return new Response("Error", { status: 500 });
}
};
export default handler;