"use strict"; const { IndexesService } = require('./indexes.service'); const router = require('express').Router(); /** * 存活统计:用户存活情况统计接口 * @see */ /** * @api {get} /aiagent/indexes/loader AGENT:文件加载器 * @apiSampleRequest /api/aiagent/indexes/loader * @apiVersion 0.5.0 * @apiName agentIndexesLoader * @apiGroup apig * @apiParam {string} [story] 故事ID * @apiParam {string} [attach] 附件ID * @apiParam {string} [url] 可访问文件地址 * @apiParam {string} [md5] 当前文件MD5校验码 * @apiParam {string} [extend] 文件后缀名 * @apiSuccess {data} data 结果 * @apiSuccessExample Success-Response: * HTTP/11 200 OK * { * code:200, * data:[ * docsIdList:["xxxxxxxxx1","xxxxxxxxx2","xxxxxxxxx3","xxxxxxxxx4"], * docs:[{pageContent:"",metadata:""}] * ] * } */ router.post("/loader",async (request,response)=>{ // 仅URL直接返回分割结果 let url = request.body.url || request.params.url || request.query.url let md5 = request.body.md5 || request.params.md5 || request.query.md5 let extend = request.body.extend || request.params.extend || request.query.extend if(!url){ response.status(500) response.json({ code:500, error:"请传入参数:url,md5" }) return } // 含Story存储Document后,返回分割文档ID let story = request.body.story || request.params.story || request.query.story let attach = request.body.attach || request.params.attach || request.query.attach // 加载Indexes,开始分割文档 let indexes = new IndexesService(); let docs let splitDocs try{ docs = await indexes.load(url,extend,md5); let splitCount = 0 if(docs?.length>0){ splitDocs = await indexes.split(docs) splitCount = splitDocs?.length } response.json({ code:200, data:{ doc:docs?.[0], split:splitDocs, docsIdList:[], splitCount:splitCount } }) }catch(err){ console.error(err) response.status(500) response.json({ code:500, err:err }) } }) module.exports = router;