diff --git a/agents/mrkl.go b/agents/mrkl.go index ea35bd98c..4bc577408 100644 --- a/agents/mrkl.go +++ b/agents/mrkl.go @@ -70,7 +70,7 @@ func (a *OneShotZeroAgent) Plan( fullInputs[key] = value } - fullInputs["agent_scratchpad"] = constructScratchPad(intermediateSteps) + fullInputs["agent_scratchpad"] = constructMrklScratchPad(intermediateSteps) fullInputs["today"] = time.Now().Format("January 02, 2006") var stream func(ctx context.Context, chunk []byte) error @@ -119,6 +119,18 @@ func (a *OneShotZeroAgent) GetTools() []tools.Tool { return a.Tools } +func constructMrklScratchPad(steps []schema.AgentStep) string { + var scratchPad string + if len(steps) > 0 { + for _, step := range steps { + scratchPad += "\n" + step.Action.Log + scratchPad += "\nObservation: " + step.Observation + "\n" + } + } + + return scratchPad +} + func (a *OneShotZeroAgent) parseOutput(output string) ([]schema.AgentAction, *schema.AgentFinish, error) { if strings.Contains(output, _finalAnswerAction) { splits := strings.Split(output, _finalAnswerAction) diff --git a/agents/mrkl_prompt.go b/agents/mrkl_prompt.go index 1ffcf3a77..eb929febb 100644 --- a/agents/mrkl_prompt.go +++ b/agents/mrkl_prompt.go @@ -28,7 +28,7 @@ Final Answer: the final answer to the original input question` _defaultMrklSuffix = `Begin! Question: {{.input}} -Thought:{{.agent_scratchpad}}` +{{.agent_scratchpad}}` ) func createMRKLPrompt(tools []tools.Tool, prefix, instructions, suffix string) prompts.PromptTemplate {