mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-10-10 21:26:01 +02:00
@@ -45,6 +45,7 @@ import {
|
|||||||
processRawChatHistory,
|
processRawChatHistory,
|
||||||
removeMessage,
|
removeMessage,
|
||||||
sendMessage,
|
sendMessage,
|
||||||
|
SendMessageParams,
|
||||||
setMessageAsLatest,
|
setMessageAsLatest,
|
||||||
updateLlmOverrideForChatSession,
|
updateLlmOverrideForChatSession,
|
||||||
updateParentChildren,
|
updateParentChildren,
|
||||||
@@ -1080,7 +1081,7 @@ export function ChatPage({
|
|||||||
|
|
||||||
async function updateCurrentMessageFIFO(
|
async function updateCurrentMessageFIFO(
|
||||||
stack: CurrentMessageFIFO,
|
stack: CurrentMessageFIFO,
|
||||||
params: any
|
params: SendMessageParams
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
for await (const packet of sendMessage(params)) {
|
for await (const packet of sendMessage(params)) {
|
||||||
@@ -1374,7 +1375,6 @@ export function ChatPage({
|
|||||||
regenerationRequest?.parentMessage.messageId ||
|
regenerationRequest?.parentMessage.messageId ||
|
||||||
lastSuccessfulMessageId,
|
lastSuccessfulMessageId,
|
||||||
chatSessionId: currChatSessionId,
|
chatSessionId: currChatSessionId,
|
||||||
promptId: null,
|
|
||||||
filters: buildFilters(
|
filters: buildFilters(
|
||||||
filterManager.selectedSources,
|
filterManager.selectedSources,
|
||||||
filterManager.selectedDocumentSets,
|
filterManager.selectedDocumentSets,
|
||||||
|
@@ -160,35 +160,12 @@ export type PacketType =
|
|||||||
| AgenticMessageResponseIDInfo
|
| AgenticMessageResponseIDInfo
|
||||||
| UserKnowledgeFilePacket;
|
| UserKnowledgeFilePacket;
|
||||||
|
|
||||||
export async function* sendMessage({
|
export interface SendMessageParams {
|
||||||
regenerate,
|
|
||||||
message,
|
|
||||||
fileDescriptors,
|
|
||||||
userFileIds,
|
|
||||||
userFolderIds,
|
|
||||||
parentMessageId,
|
|
||||||
chatSessionId,
|
|
||||||
promptId,
|
|
||||||
filters,
|
|
||||||
selectedDocumentIds,
|
|
||||||
queryOverride,
|
|
||||||
forceSearch,
|
|
||||||
modelProvider,
|
|
||||||
modelVersion,
|
|
||||||
temperature,
|
|
||||||
systemPromptOverride,
|
|
||||||
useExistingUserMessage,
|
|
||||||
alternateAssistantId,
|
|
||||||
signal,
|
|
||||||
forceUserFileSearch,
|
|
||||||
useLanggraph,
|
|
||||||
}: {
|
|
||||||
regenerate: boolean;
|
regenerate: boolean;
|
||||||
message: string;
|
message: string;
|
||||||
fileDescriptors: FileDescriptor[];
|
fileDescriptors: FileDescriptor[];
|
||||||
parentMessageId: number | null;
|
parentMessageId: number | null;
|
||||||
chatSessionId: string;
|
chatSessionId: string;
|
||||||
promptId: number | null | undefined;
|
|
||||||
filters: Filters | null;
|
filters: Filters | null;
|
||||||
selectedDocumentIds: number[] | null;
|
selectedDocumentIds: number[] | null;
|
||||||
queryOverride?: string;
|
queryOverride?: string;
|
||||||
@@ -204,7 +181,30 @@ export async function* sendMessage({
|
|||||||
userFolderIds?: number[];
|
userFolderIds?: number[];
|
||||||
forceUserFileSearch?: boolean;
|
forceUserFileSearch?: boolean;
|
||||||
useLanggraph?: boolean;
|
useLanggraph?: boolean;
|
||||||
}): AsyncGenerator<PacketType, void, unknown> {
|
}
|
||||||
|
|
||||||
|
export async function* sendMessage({
|
||||||
|
regenerate,
|
||||||
|
message,
|
||||||
|
fileDescriptors,
|
||||||
|
userFileIds,
|
||||||
|
userFolderIds,
|
||||||
|
parentMessageId,
|
||||||
|
chatSessionId,
|
||||||
|
filters,
|
||||||
|
selectedDocumentIds,
|
||||||
|
queryOverride,
|
||||||
|
forceSearch,
|
||||||
|
modelProvider,
|
||||||
|
modelVersion,
|
||||||
|
temperature,
|
||||||
|
systemPromptOverride,
|
||||||
|
useExistingUserMessage,
|
||||||
|
alternateAssistantId,
|
||||||
|
signal,
|
||||||
|
forceUserFileSearch,
|
||||||
|
useLanggraph,
|
||||||
|
}: SendMessageParams): AsyncGenerator<PacketType, void, unknown> {
|
||||||
const documentsAreSelected =
|
const documentsAreSelected =
|
||||||
selectedDocumentIds && selectedDocumentIds.length > 0;
|
selectedDocumentIds && selectedDocumentIds.length > 0;
|
||||||
const body = JSON.stringify({
|
const body = JSON.stringify({
|
||||||
@@ -212,7 +212,10 @@ export async function* sendMessage({
|
|||||||
chat_session_id: chatSessionId,
|
chat_session_id: chatSessionId,
|
||||||
parent_message_id: parentMessageId,
|
parent_message_id: parentMessageId,
|
||||||
message: message,
|
message: message,
|
||||||
prompt_id: promptId,
|
// just use the default prompt for the assistant.
|
||||||
|
// should remove this in the future, as we don't support multiple prompts for a
|
||||||
|
// single assistant anyways
|
||||||
|
prompt_id: null,
|
||||||
search_doc_ids: documentsAreSelected ? selectedDocumentIds : null,
|
search_doc_ids: documentsAreSelected ? selectedDocumentIds : null,
|
||||||
force_user_file_search: forceUserFileSearch,
|
force_user_file_search: forceUserFileSearch,
|
||||||
file_descriptors: fileDescriptors,
|
file_descriptors: fileDescriptors,
|
||||||
@@ -221,13 +224,7 @@ export async function* sendMessage({
|
|||||||
regenerate,
|
regenerate,
|
||||||
retrieval_options: !documentsAreSelected
|
retrieval_options: !documentsAreSelected
|
||||||
? {
|
? {
|
||||||
run_search:
|
run_search: queryOverride || forceSearch ? "always" : "auto",
|
||||||
promptId === null ||
|
|
||||||
promptId === undefined ||
|
|
||||||
queryOverride ||
|
|
||||||
forceSearch
|
|
||||||
? "always"
|
|
||||||
: "auto",
|
|
||||||
real_time: true,
|
real_time: true,
|
||||||
filters: filters,
|
filters: filters,
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user