mirror of
https://github.com/Mintplex-Labs/anything-llm
synced 2026-04-25 17:15:37 +02:00
Automatic mode is now default
This commit is contained in:
@@ -650,7 +650,7 @@ function apiWorkspaceEndpoints(app) {
|
||||
const { slug } = request.params;
|
||||
const {
|
||||
message,
|
||||
mode = "query",
|
||||
mode = null,
|
||||
sessionId = null,
|
||||
attachments = [],
|
||||
reset = false,
|
||||
@@ -669,7 +669,11 @@ function apiWorkspaceEndpoints(app) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((!message?.length || !VALID_CHAT_MODE.includes(mode)) && !reset) {
|
||||
const resolvedMode = mode ?? workspace.chatMode;
|
||||
if (
|
||||
(!message?.length || !VALID_CHAT_MODE.includes(resolvedMode)) &&
|
||||
!reset
|
||||
) {
|
||||
response.status(400).json({
|
||||
id: uuidv4(),
|
||||
type: "abort",
|
||||
@@ -678,7 +682,7 @@ function apiWorkspaceEndpoints(app) {
|
||||
close: true,
|
||||
error: !message?.length
|
||||
? "Message is empty"
|
||||
: `${mode} is not a valid mode.`,
|
||||
: `${resolvedMode} is not a valid mode.`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -686,7 +690,7 @@ function apiWorkspaceEndpoints(app) {
|
||||
const result = await ApiChatHandler.chatSync({
|
||||
workspace,
|
||||
message,
|
||||
mode,
|
||||
mode: resolvedMode,
|
||||
user: null,
|
||||
thread: null,
|
||||
sessionId: !!sessionId ? String(sessionId) : null,
|
||||
@@ -801,7 +805,7 @@ function apiWorkspaceEndpoints(app) {
|
||||
const { slug } = request.params;
|
||||
const {
|
||||
message,
|
||||
mode = "query",
|
||||
mode = null,
|
||||
sessionId = null,
|
||||
attachments = [],
|
||||
reset = false,
|
||||
@@ -820,7 +824,11 @@ function apiWorkspaceEndpoints(app) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((!message?.length || !VALID_CHAT_MODE.includes(mode)) && !reset) {
|
||||
const resolvedMode = mode ?? workspace.chatMode;
|
||||
if (
|
||||
(!message?.length || !VALID_CHAT_MODE.includes(resolvedMode)) &&
|
||||
!reset
|
||||
) {
|
||||
response.status(400).json({
|
||||
id: uuidv4(),
|
||||
type: "abort",
|
||||
@@ -829,7 +837,7 @@ function apiWorkspaceEndpoints(app) {
|
||||
close: true,
|
||||
error: !message?.length
|
||||
? "Message is empty"
|
||||
: `${mode} is not a valid mode.`,
|
||||
: `${resolvedMode} is not a valid mode.`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -844,7 +852,7 @@ function apiWorkspaceEndpoints(app) {
|
||||
response,
|
||||
workspace,
|
||||
message,
|
||||
mode,
|
||||
mode: resolvedMode,
|
||||
user: null,
|
||||
thread: null,
|
||||
sessionId: !!sessionId ? String(sessionId) : null,
|
||||
|
||||
@@ -385,7 +385,7 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
const { slug, threadSlug } = request.params;
|
||||
const {
|
||||
message,
|
||||
mode = "query",
|
||||
mode = null,
|
||||
userId,
|
||||
attachments = [],
|
||||
reset = false,
|
||||
@@ -408,7 +408,11 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((!message?.length || !VALID_CHAT_MODE.includes(mode)) && !reset) {
|
||||
const resolvedMode = mode ?? workspace.chatMode;
|
||||
if (
|
||||
(!message?.length || !VALID_CHAT_MODE.includes(resolvedMode)) &&
|
||||
!reset
|
||||
) {
|
||||
response.status(400).json({
|
||||
id: uuidv4(),
|
||||
type: "abort",
|
||||
@@ -417,7 +421,7 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
close: true,
|
||||
error: !message?.length
|
||||
? "Message is empty"
|
||||
: `${mode} is not a valid mode.`,
|
||||
: `${resolvedMode} is not a valid mode.`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -426,7 +430,7 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
const result = await ApiChatHandler.chatSync({
|
||||
workspace,
|
||||
message,
|
||||
mode,
|
||||
mode: resolvedMode,
|
||||
user,
|
||||
thread,
|
||||
attachments,
|
||||
@@ -553,7 +557,7 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
const { slug, threadSlug } = request.params;
|
||||
const {
|
||||
message,
|
||||
mode = "query",
|
||||
mode = null,
|
||||
userId,
|
||||
attachments = [],
|
||||
reset = false,
|
||||
@@ -576,7 +580,11 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((!message?.length || !VALID_CHAT_MODE.includes(mode)) && !reset) {
|
||||
const resolvedMode = mode ?? workspace.chatMode;
|
||||
if (
|
||||
(!message?.length || !VALID_CHAT_MODE.includes(resolvedMode)) &&
|
||||
!reset
|
||||
) {
|
||||
response.status(400).json({
|
||||
id: uuidv4(),
|
||||
type: "abort",
|
||||
@@ -585,7 +593,7 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
close: true,
|
||||
error: !message?.length
|
||||
? "Message is empty"
|
||||
: `${mode} is not a valid mode.`,
|
||||
: `${resolvedMode} is not a valid mode.`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -602,7 +610,7 @@ function apiWorkspaceThreadEndpoints(app) {
|
||||
response,
|
||||
workspace,
|
||||
message,
|
||||
mode,
|
||||
mode: resolvedMode,
|
||||
user,
|
||||
thread,
|
||||
attachments,
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
const { v4 } = require("uuid");
|
||||
const prisma = require("../utils/prisma");
|
||||
const { VALID_CHAT_MODE } = require("../utils/chats/stream");
|
||||
/**
|
||||
* Valid chat modes for embeds.
|
||||
* - chat: Chat mode will use the workspace's chat mode.
|
||||
* - query: Query mode will use the workspace's query mode.
|
||||
* - automatic: Automatic mode is NOT supported for embeds.
|
||||
*/
|
||||
const VALID_CHAT_MODE = ["chat", "query"];
|
||||
|
||||
const EmbedConfig = {
|
||||
writable: [
|
||||
|
||||
@@ -94,7 +94,8 @@ const Workspace = {
|
||||
return n;
|
||||
},
|
||||
chatMode: (value) => {
|
||||
if (!value || !Workspace.VALID_CHAT_MODES.includes(value)) return "chat";
|
||||
if (!value || !Workspace.VALID_CHAT_MODES.includes(value))
|
||||
return "automatic";
|
||||
return value;
|
||||
},
|
||||
chatProvider: (value) => {
|
||||
@@ -206,7 +207,7 @@ const Workspace = {
|
||||
const workspace = await prisma.workspaces.create({
|
||||
data: {
|
||||
name: this.validations.name(name),
|
||||
chatMode: "chat", // default to chat mode for now
|
||||
chatMode: "automatic",
|
||||
...this.validateFields(additionalFields),
|
||||
slug,
|
||||
},
|
||||
|
||||
@@ -112,7 +112,7 @@ async function processDocumentAttachments(attachments = []) {
|
||||
async function chatSync({
|
||||
workspace,
|
||||
message = null,
|
||||
mode = "chat",
|
||||
mode = null,
|
||||
user = null,
|
||||
thread = null,
|
||||
sessionId = null,
|
||||
@@ -120,7 +120,7 @@ async function chatSync({
|
||||
reset = false,
|
||||
}) {
|
||||
const uuid = uuidv4();
|
||||
const chatMode = mode ?? "chat";
|
||||
const chatMode = mode ?? workspace?.chatMode ?? "automatic";
|
||||
|
||||
// If the user wants to reset the chat history we do so pre-flight
|
||||
// and continue execution. If no message is provided then the user intended
|
||||
@@ -459,7 +459,7 @@ async function streamChat({
|
||||
response,
|
||||
workspace,
|
||||
message = null,
|
||||
mode = "chat",
|
||||
mode = null,
|
||||
user = null,
|
||||
thread = null,
|
||||
sessionId = null,
|
||||
@@ -467,7 +467,7 @@ async function streamChat({
|
||||
reset = false,
|
||||
}) {
|
||||
const uuid = uuidv4();
|
||||
const chatMode = mode ?? "chat";
|
||||
const chatMode = mode ?? workspace?.chatMode ?? "automatic";
|
||||
|
||||
// If the user wants to reset the chat history we do so pre-flight
|
||||
// and continue execution. If no message is provided then the user intended
|
||||
|
||||
@@ -18,7 +18,10 @@ async function streamChatWithForEmbed(
|
||||
sessionId,
|
||||
{ promptOverride, modelOverride, temperatureOverride, username }
|
||||
) {
|
||||
const chatMode = embed.chat_mode;
|
||||
// Automatic mode is NOT valid for embeds, so we default to chat mode.
|
||||
let chatMode = embed.chat_mode ?? "chat";
|
||||
if (chatMode === "automatic") chatMode = "chat";
|
||||
|
||||
const chatModel = embed.allow_model_override ? modelOverride : null;
|
||||
|
||||
// If there are overrides in request & they are permitted, override the default workspace ref information.
|
||||
|
||||
@@ -16,7 +16,7 @@ async function chatSync({
|
||||
temperature = null,
|
||||
}) {
|
||||
const uuid = uuidv4();
|
||||
const chatMode = workspace?.chatMode ?? "chat";
|
||||
const chatMode = workspace?.chatMode ?? "automatic";
|
||||
const LLMConnector = getLLMProvider({
|
||||
provider: workspace?.chatProvider,
|
||||
model: workspace?.chatModel,
|
||||
@@ -219,7 +219,7 @@ async function streamChat({
|
||||
temperature = null,
|
||||
}) {
|
||||
const uuid = uuidv4();
|
||||
const chatMode = workspace?.chatMode ?? "chat";
|
||||
const chatMode = workspace?.chatMode ?? "automatic";
|
||||
const LLMConnector = getLLMProvider({
|
||||
provider: workspace?.chatProvider,
|
||||
model: workspace?.chatModel,
|
||||
|
||||
@@ -19,7 +19,7 @@ async function streamChatWithWorkspace(
|
||||
response,
|
||||
workspace,
|
||||
message,
|
||||
chatMode = "chat",
|
||||
chatMode = "automatic",
|
||||
user = null,
|
||||
thread = null,
|
||||
attachments = []
|
||||
|
||||
@@ -79,7 +79,7 @@ async function streamResponse({
|
||||
(await AgentHandler.isAgentInvocation({
|
||||
message,
|
||||
workspace,
|
||||
chatMode: workspace.chatMode ?? "chat",
|
||||
chatMode: workspace.chatMode ?? "automatic",
|
||||
}))
|
||||
) {
|
||||
return await handleAgentResponse(
|
||||
|
||||
Reference in New Issue
Block a user