From d758c87a064d532b8072ba4f61821dbeaa101f43 Mon Sep 17 00:00:00 2001 From: thucpn <thucsh2@gmail.com> Date: Mon, 17 Mar 2025 17:42:36 +0700 Subject: [PATCH] support callback --- packages/server/src/server.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/server/src/server.ts b/packages/server/src/server.ts index 487aad9e2..128f8ef95 100644 --- a/packages/server/src/server.ts +++ b/packages/server/src/server.ts @@ -1,5 +1,6 @@ import type { Message } from "ai"; import express from "express"; +import type { ChatMessage } from "llamaindex"; import { getUserMessageContent, pipeExpressResponse } from "./helper"; import { chatWithWorkflow } from "./workflow/stream"; import type { ServerWorkflow } from "./workflow/type"; @@ -7,12 +8,16 @@ import type { ServerWorkflow } from "./workflow/type"; export interface LlamaIndexServerParams { workflow: ServerWorkflow; port?: number; + callbacks?: { + beforeChat?: (messages: ChatMessage[]) => void; + }; } export class LlamaIndexServer { app: express.Application; workflow: ServerWorkflow; port: number; + callbacks?: LlamaIndexServerParams["callbacks"]; constructor({ workflow, port = 3000 }: LlamaIndexServerParams) { this.app = express(); @@ -28,6 +33,7 @@ export class LlamaIndexServer { try { const { messages } = req.body as { messages: Message[] }; const userMessageContent = getUserMessageContent(messages); + this.callbacks?.beforeChat?.(messages as ChatMessage[]); const streamResponse = await chatWithWorkflow( userMessageContent, this.workflow, -- GitLab