fix(Information Extractor Node): Improve error handling for empty inputs (#15590)

This commit is contained in:
Benjamin Schroth
2025-05-22 14:52:23 +02:00
committed by GitHub
parent 4661e39427
commit bb2f675817
3 changed files with 154 additions and 138 deletions

View File

@@ -2,7 +2,7 @@ import type { BaseLanguageModel } from '@langchain/core/language_models/base';
import { HumanMessage } from '@langchain/core/messages';
import { ChatPromptTemplate, SystemMessagePromptTemplate } from '@langchain/core/prompts';
import type { OutputFixingParser } from 'langchain/output_parsers';
import type { IExecuteFunctions } from 'n8n-workflow';
import { NodeOperationError, type IExecuteFunctions } from 'n8n-workflow';
import { getTracingConfig } from '@utils/tracing';
@@ -15,6 +15,11 @@ export async function processItem(
parser: OutputFixingParser<object>,
) {
const input = ctx.getNodeParameter('text', itemIndex) as string;
if (!input?.trim()) {
throw new NodeOperationError(ctx.getNode(), `Text for item ${itemIndex} is not defined`, {
itemIndex,
});
}
const inputPrompt = new HumanMessage(input);
const options = ctx.getNodeParameter('options', itemIndex, {}) as {