fix: zep memory
This commit is contained in:
parent
023967e0c2
commit
fd9d6fcb03
|
|
@ -35,6 +35,14 @@ class ZepMemory_Memory implements INode {
|
|||
type: 'boolean',
|
||||
default: true
|
||||
},
|
||||
{
|
||||
label: 'Session Id',
|
||||
name: 'sessionId',
|
||||
type: 'string',
|
||||
placeholder: 'if empty, chatId will be used automatically',
|
||||
default: '',
|
||||
additionalParams: true
|
||||
},
|
||||
{
|
||||
label: 'Auto Summary Template',
|
||||
name: 'autoSummaryTemplate',
|
||||
|
|
@ -88,11 +96,13 @@ class ZepMemory_Memory implements INode {
|
|||
const inputKey = nodeData.inputs?.inputKey as string
|
||||
const autoSummaryTemplate = nodeData.inputs?.autoSummaryTemplate as string
|
||||
const autoSummary = nodeData.inputs?.autoSummary as boolean
|
||||
const sessionId = options?.chatId as string
|
||||
const sessionId = nodeData.inputs?.sessionId as string
|
||||
|
||||
const chatId = options?.chatId as string
|
||||
|
||||
const obj: ZepMemoryInput = {
|
||||
baseURL,
|
||||
sessionId,
|
||||
sessionId: sessionId ? sessionId : chatId,
|
||||
aiPrefix,
|
||||
humanPrefix,
|
||||
returnMessages: true,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import { IChildProcessMessage, IReactFlowNode, IReactFlowObject, IRunChatflowMessageValue, INodeData } from './Interface'
|
||||
import { buildLangchain, constructGraphs, getEndingNode, getStartingNodes, resolveVariables } from './utils'
|
||||
import { getChatId } from './index'
|
||||
|
||||
export class ChildProcess {
|
||||
/**
|
||||
|
|
@ -76,6 +77,7 @@ export class ChildProcess {
|
|||
const { startingNodeIds, depthQueue } = getStartingNodes(nonDirectedGraph, endingNodeId)
|
||||
|
||||
/*** BFS to traverse from Starting Nodes to Ending Node ***/
|
||||
const chatId = await getChatId(chatflow.id)
|
||||
const reactFlowNodes = await buildLangchain(
|
||||
startingNodeIds,
|
||||
nodes,
|
||||
|
|
@ -83,7 +85,7 @@ export class ChildProcess {
|
|||
depthQueue,
|
||||
componentNodes,
|
||||
incomingInput.question,
|
||||
'',
|
||||
chatId,
|
||||
incomingInput?.overrideConfig
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -506,15 +506,8 @@ export class App {
|
|||
})
|
||||
if (!chatflow) return res.status(404).send(`Chatflow ${chatflowid} not found`)
|
||||
|
||||
// first chatmessage id as the unique chat id
|
||||
const firstChatMessage = await this.AppDataSource.getRepository(ChatMessage)
|
||||
.createQueryBuilder('cm')
|
||||
.select('cm.id')
|
||||
.where('chatflowid = :chatflowid', { chatflowid })
|
||||
.orderBy('cm.createdDate', 'ASC')
|
||||
.getOne()
|
||||
if (!firstChatMessage) return res.status(500).send(`Chatflow ${chatflowid} first message not found`)
|
||||
const chatId = firstChatMessage.id
|
||||
const chatId = await getChatId(chatflow.id)
|
||||
if (!chatId) return res.status(500).send(`Chatflow ${chatflowid} first message not found`)
|
||||
|
||||
if (!isInternal) {
|
||||
await this.validateKey(req, res, chatflow)
|
||||
|
|
@ -672,6 +665,18 @@ export class App {
|
|||
}
|
||||
}
|
||||
|
||||
export async function getChatId(chatflowid: string) {
|
||||
// first chatmessage id as the unique chat id
|
||||
const firstChatMessage = await getDataSource()
|
||||
.getRepository(ChatMessage)
|
||||
.createQueryBuilder('cm')
|
||||
.select('cm.id')
|
||||
.where('chatflowid = :chatflowid', { chatflowid })
|
||||
.orderBy('cm.createdDate', 'ASC')
|
||||
.getOne()
|
||||
return firstChatMessage ? firstChatMessage.id : ''
|
||||
}
|
||||
|
||||
let serverApp: App | undefined
|
||||
|
||||
export async function start(): Promise<void> {
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ export const ChatMessage = ({ open, chatflowid, isDialog }) => {
|
|||
|
||||
setLoading(true)
|
||||
setMessages((prevMessages) => [...prevMessages, { message: userInput, type: 'userMessage' }])
|
||||
// waiting for first chatmessage uploaded, the first chatmessage id will be chatId for every components
|
||||
// waiting for first chatmessage saved, the first chatmessage will be used in sendMessageAndGetPrediction
|
||||
await addChatMessage(userInput, 'userMessage')
|
||||
|
||||
// Send user question and history to API
|
||||
|
|
|
|||
Loading…
Reference in New Issue