UNPKG

mongodb-chatbot-server

Version:

A chatbot server for retrieval augmented generation (RAG).

48 lines 2.96 kB
import { References, SomeMessage, DataStreamer, Conversation, OpenAiChatMessage, ConversationCustomData, ChatLlm } from "mongodb-rag-core"; import { Request as ExpressRequest } from "express"; import { GenerateUserPromptFunc } from "../processors/GenerateUserPromptFunc"; import { FilterPreviousMessages } from "../processors/FilterPreviousMessages"; export type ClientContext = Record<string, unknown>; export interface GenerateResponseParams { shouldStream: boolean; llm: ChatLlm; latestMessageText: string; clientContext?: ClientContext; customData?: ConversationCustomData; dataStreamer?: DataStreamer; generateUserPrompt?: GenerateUserPromptFunc; filterPreviousMessages?: FilterPreviousMessages; reqId: string; llmNotWorkingMessage: string; noRelevantContentMessage: string; conversation: Conversation; request?: ExpressRequest; } interface GenerateResponseReturnValue { messages: SomeMessage[]; } export type GenerateResponse = (params: GenerateResponseParams) => Promise<GenerateResponseReturnValue>; /** Generate a response with/without streaming. Supports tool calling and standard response generation. Response includes the user message with any data mutations and the assistant response message, plus any intermediate tool calls. */ export declare function generateResponse({ shouldStream, llm, latestMessageText, clientContext, customData, generateUserPrompt, filterPreviousMessages, dataStreamer, reqId, llmNotWorkingMessage, noRelevantContentMessage, conversation, request, }: GenerateResponseParams): Promise<GenerateResponseReturnValue>; type BaseGenerateResponseMessageParams = Omit<GenerateResponseParams, "latestMessageText" | "customData" | "filterPreviousMessages" | "shouldStream"> & { references?: References; shouldGenerateMessage?: boolean; llmConversation: OpenAiChatMessage[]; }; export type AwaitGenerateResponseParams = Omit<BaseGenerateResponseMessageParams, "dataStreamer">; export declare function awaitGenerateResponseMessage({ reqId, llmConversation, llm, llmNotWorkingMessage, noRelevantContentMessage, request, references, conversation, shouldGenerateMessage, }: AwaitGenerateResponseParams): Promise<GenerateResponseReturnValue>; export type StreamGenerateResponseParams = BaseGenerateResponseMessageParams & Required<Pick<GenerateResponseParams, "dataStreamer">> & { /** Arbitrary data about the message to stream before the generated response. */ metadata?: Record<string, unknown>; }; export declare function streamGenerateResponseMessage({ dataStreamer, llm, llmConversation, reqId, references, noRelevantContentMessage, llmNotWorkingMessage, conversation, request, metadata, shouldGenerateMessage, }: StreamGenerateResponseParams): Promise<GenerateResponseReturnValue>; export declare function convertMessageFromLlmToDb(message: OpenAiChatMessage): SomeMessage; export {}; //# sourceMappingURL=generateResponse.d.ts.map