From 9e03768e09f2441d7cd1778efb787f71facc6c66 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Tue, 5 Mar 2024 02:00:58 +0900 Subject: [PATCH] Add sendXMLFile function for processing XML files --- src/ts/process/files/multisend.ts | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/ts/process/files/multisend.ts b/src/ts/process/files/multisend.ts index 66a30010..ffa38936 100644 --- a/src/ts/process/files/multisend.ts +++ b/src/ts/process/files/multisend.ts @@ -156,6 +156,28 @@ async function sendTxtFile(arg:sendFileArg) { return Buffer.from(`\n${message}\n\n`).toString('base64') } +async function sendXMLFile(arg:sendFileArg) { + const hypa = new HypaProcesser('MiniLM') + let nodeTexts:string[] = [] + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(arg.file, "text/xml"); + const nodes = xmlDoc.getElementsByTagName('*') + for(const node of nodes){ + nodeTexts.push(node.textContent) + } + hypa.addText(nodeTexts) + const result = await hypa.similaritySearch(arg.query) + let message = '' + for(let i = 0; i5){ + break + } + } + console.log(message) + return Buffer.from(`\n${message}\n\n`).toString('base64') +} + type postFileResult = postFileResultImage | postFileResultVoid | postFileResultText type postFileResultImage = { @@ -211,6 +233,16 @@ export async function postChatFile(query:string):Promise{ name: file.name } } + case 'xml':{ + return { + type: 'text', + data: await sendXMLFile({ + file: BufferToText(file.data), + query: query + }), + name: file.name + } + } case 'jpg': case 'jpeg': case 'png':