`
const openai = new OpenAI();
const ConversationPage = () => {
const router = useRouter();
//const proModal = useProModal();
const [messages, setMessages] = useState<ChatCompletionRequestMessage[]>([]);
const form = useForm<z.infer<typeof formSchema>>({
resolver: zodResolver(formSchema),
defaultValues: {
prompt: ""
}
});
const isLoading = form.formState.isSubmitting;
const onSubmit = async (values: z.infer<typeof formSchema>) => {
console.log(values);
try {
//const completion: ChatCompletionRequestMessage = { role: "user", content: values.prompt };
const completion = await openai.chat.completions.create({
messages: [{ "role": "system", "content" : "You are a helpful assistant." }],
model: "gpt-3.5-turbo",
})
const newMessages = [...messages, completion];
const response = await axios.post('/api/conversation', { messages: newMessages });
setMessages((current) => [...current, completion, response.data]);
form.reset();
} catch (error: any) {
console.log(error);
} finally {
router.refresh();
}
}
`