diff --git a/packages/components/src/agents.ts b/packages/components/src/agents.ts index ef3acfd9..3f94822c 100644 --- a/packages/components/src/agents.ts +++ b/packages/components/src/agents.ts @@ -427,9 +427,10 @@ export class AgentExecutor extends BaseChain { usedTools.push({ tool: tool.name, toolInput: action.toolInput as any, - toolOutput: observation.includes(SOURCE_DOCUMENTS_PREFIX) - ? observation.split(SOURCE_DOCUMENTS_PREFIX)[0] - : observation + toolOutput: + typeof observation === 'string' && observation.includes(SOURCE_DOCUMENTS_PREFIX) + ? observation.split(SOURCE_DOCUMENTS_PREFIX)[0] + : observation }) } else { observation = `${action.tool} is not a valid tool, try another one.` @@ -449,7 +450,7 @@ export class AgentExecutor extends BaseChain { return { action, observation: observation ?? '' } } } - if (observation?.includes(SOURCE_DOCUMENTS_PREFIX)) { + if (typeof observation === 'string' && observation.includes(SOURCE_DOCUMENTS_PREFIX)) { const observationArray = observation.split(SOURCE_DOCUMENTS_PREFIX) observation = observationArray[0] const docs = observationArray[1] @@ -558,7 +559,7 @@ export class AgentExecutor extends BaseChain { input: this.input } ) - if (observation?.includes(SOURCE_DOCUMENTS_PREFIX)) { + if (typeof observation === 'string' && observation.includes(SOURCE_DOCUMENTS_PREFIX)) { const observationArray = observation.split(SOURCE_DOCUMENTS_PREFIX) observation = observationArray[0] }