From b1e38783e442abc4795f090826d6388b82714a14 Mon Sep 17 00:00:00 2001 From: Arun Lodhi Date: Fri, 5 Jul 2024 15:56:05 +0530 Subject: [PATCH] Bugfix/observation-includes-not-function (#2744) * Bugfix: observation?.includes is not a function * Check type of observation before checking source document prefix * lint-fix --------- Co-authored-by: Henry Heng --- packages/components/src/agents.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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] }