Add advanced ai

This commit is contained in:
Emily
2024-09-16 01:03:49 +02:00
parent 4c46a36c75
commit c3904ebd55
19 changed files with 641 additions and 194 deletions

View File

@@ -1,8 +1,5 @@
import { getUserProjectFromId } from "~/server/LIVE_DEMO_DATA";
import { AiChatModel } from "@schema/ai/AiChatSchema";
import { sendMessageOnChat } from "~/server/services/AiService";
export default defineEventHandler(async event => {

View File

@@ -1,8 +1,7 @@
import { getUserProjectFromId } from "~/server/LIVE_DEMO_DATA";
import { AiChatModel } from "@schema/ai/AiChatSchema";
import { sendMessageOnChat } from "~/server/services/AiService";
import type OpenAI from "openai";
import { getChartsInMessage } from "~/server/services/AiService";
export default defineEventHandler(async event => {
@@ -19,11 +18,14 @@ export default defineEventHandler(async event => {
const chat = await AiChatModel.findOne({ _id: chat_id, project_id });
if (!chat) return;
const messages = chat.messages.filter(e => {
return (e.role == 'user' || (e.role == 'assistant' && e.content != undefined))
}).map(e => {
return { role: e.role, content: e.content }
});
return messages;
return (chat.messages as OpenAI.Chat.Completions.ChatCompletionMessageParam[])
.filter(e => e.role === 'assistant' || e.role === 'user')
.map(e => {
const charts = getChartsInMessage(e);
const content = e.content;
return { role: e.role, content, charts }
})
.filter(e=>{
return e.charts.length > 0 || e.content
})
});

View File

@@ -23,5 +23,6 @@ export default defineEventHandler(async event => {
if (chatsRemaining <= 0) return setResponseStatus(event, 400, 'CHAT_LIMIT_REACHED');
const response = await sendMessageOnChat(text, project._id.toString(), chat_id);
return response || 'Error getting response';
return response;
});