feat: SQL agent improvements (#8709)

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
Michael Kret
2024-02-26 15:35:00 +02:00
committed by GitHub
parent 7012577fce
commit 09524304e6
11 changed files with 212 additions and 63 deletions

View File

@@ -3,6 +3,7 @@ import type { EventNamesAiNodesType, IDataObject, IExecuteFunctions } from 'n8n-
import { BaseChatModel } from 'langchain/chat_models/base';
import { BaseChatModel as BaseChatModelCore } from '@langchain/core/language_models/chat_models';
import type { BaseOutputParser } from '@langchain/core/output_parsers';
import { BaseMessage } from 'langchain/schema';
export function getMetadataFiltersValues(
ctx: IExecuteFunctions,
@@ -77,3 +78,17 @@ export async function logAiEvent(
executeFunctions.logger.debug(`Error logging AI event: ${event}`);
}
}
export function serializeChatHistory (chatHistory: Array<BaseMessage>): string {
return chatHistory
.map((chatMessage) => {
if (chatMessage._getType() === 'human') {
return `Human: ${chatMessage.content}`;
} else if (chatMessage._getType() === 'ai') {
return `Assistant: ${chatMessage.content}`;
} else {
return `${chatMessage.content}`;
}
})
.join('\n');
}