Automatic mode is now default
This commit is contained in:
parent
ddc89851fa
commit
e1ad9080de
@ -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(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user