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 <henryheng@flowiseai.com>
This commit is contained in:
Arun Lodhi
2024-07-05 15:56:05 +05:30
committed by GitHub
parent dfdeb02b3a
commit b1e38783e4
+6 -5
View File
@@ -427,9 +427,10 @@ export class AgentExecutor extends BaseChain<ChainValues, AgentExecutorOutput> {
usedTools.push({ usedTools.push({
tool: tool.name, tool: tool.name,
toolInput: action.toolInput as any, toolInput: action.toolInput as any,
toolOutput: observation.includes(SOURCE_DOCUMENTS_PREFIX) toolOutput:
? observation.split(SOURCE_DOCUMENTS_PREFIX)[0] typeof observation === 'string' && observation.includes(SOURCE_DOCUMENTS_PREFIX)
: observation ? observation.split(SOURCE_DOCUMENTS_PREFIX)[0]
: observation
}) })
} else { } else {
observation = `${action.tool} is not a valid tool, try another one.` observation = `${action.tool} is not a valid tool, try another one.`
@@ -449,7 +450,7 @@ export class AgentExecutor extends BaseChain<ChainValues, AgentExecutorOutput> {
return { action, observation: observation ?? '' } 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) const observationArray = observation.split(SOURCE_DOCUMENTS_PREFIX)
observation = observationArray[0] observation = observationArray[0]
const docs = observationArray[1] const docs = observationArray[1]
@@ -558,7 +559,7 @@ export class AgentExecutor extends BaseChain<ChainValues, AgentExecutorOutput> {
input: this.input 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) const observationArray = observation.split(SOURCE_DOCUMENTS_PREFIX)
observation = observationArray[0] observation = observationArray[0]
} }