UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

37 lines (31 loc) 1.14 kB
import { z } from 'zod'; import { ChunkModel } from '@/database/models/chunk'; import { FileModel } from '@/database/models/file'; import { MessageModel } from '@/database/models/message'; import { authedProcedure, router } from '@/libs/trpc/lambda'; import { serverDatabase } from '@/libs/trpc/lambda/middleware'; import { DocumentService } from '@/server/services/document'; const documentProcedure = authedProcedure.use(serverDatabase).use(async (opts) => { const { ctx } = opts; return opts.next({ ctx: { chunkModel: new ChunkModel(ctx.serverDB, ctx.userId), documentService: new DocumentService(ctx.serverDB, ctx.userId), fileModel: new FileModel(ctx.serverDB, ctx.userId), messageModel: new MessageModel(ctx.serverDB, ctx.userId), }, }); }); export const documentRouter = router({ parseFileContent: documentProcedure .input( z.object({ id: z.string(), skipExist: z.boolean().optional(), }), ) .mutation(async ({ ctx, input }) => { const lobeDocument = await ctx.documentService.parseFile(input.id); return lobeDocument; }), });