From 255ae7dced50743b1f4fd691f512cdb386ecc580 Mon Sep 17 00:00:00 2001
From: Emanuel Ferreira <contatoferreirads@gmail.com>
Date: Sun, 11 Feb 2024 18:46:55 -0300
Subject: [PATCH] fix: react agent history (#540)

---
 .changeset/blue-fireants-cheer.md          | 5 +++++
 examples/agent/react_agent.ts              | 3 +--
 packages/core/src/agent/react/formatter.ts | 2 +-
 packages/core/src/agent/react/worker.ts    | 4 ++--
 4 files changed, 9 insertions(+), 5 deletions(-)
 create mode 100644 .changeset/blue-fireants-cheer.md

diff --git a/.changeset/blue-fireants-cheer.md b/.changeset/blue-fireants-cheer.md
new file mode 100644
index 000000000..20596b165
--- /dev/null
+++ b/.changeset/blue-fireants-cheer.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+chore: update example (perfoms better with default model)
diff --git a/examples/agent/react_agent.ts b/examples/agent/react_agent.ts
index 5cb1c550d..f982734b3 100644
--- a/examples/agent/react_agent.ts
+++ b/examples/agent/react_agent.ts
@@ -64,8 +64,7 @@ async function main() {
 
   // Chat with the agent
   const response = await agent.chat({
-    message: "I want to sum 5 and 5 and divide by 2",
-    toolChoice: "auto",
+    message: "Divide 16 by 2 then add 20",
   });
 
   // Print the response
diff --git a/packages/core/src/agent/react/formatter.ts b/packages/core/src/agent/react/formatter.ts
index 89a4be561..bcf25aa05 100644
--- a/packages/core/src/agent/react/formatter.ts
+++ b/packages/core/src/agent/react/formatter.ts
@@ -76,8 +76,8 @@ export class ReActChatFormatter implements BaseAgentChatFormatter {
         content: systemContent,
         role: "system",
       },
-      ...reasoningHistory,
       ...chatHistory,
+      ...reasoningHistory,
     ];
   }
 }
diff --git a/packages/core/src/agent/react/worker.ts b/packages/core/src/agent/react/worker.ts
index cb0511ccc..ff5b1a9fd 100644
--- a/packages/core/src/agent/react/worker.ts
+++ b/packages/core/src/agent/react/worker.ts
@@ -82,7 +82,7 @@ export class ReActAgentWorker implements AgentWorker {
     verbose,
     toolRetriever,
   }: ReActAgentWorkerParams) {
-    this.llm = llm ?? new OpenAI({ model: "gpt-3.5-turbo-1106" });
+    this.llm = llm ?? new OpenAI({ model: "gpt-3.5-turbo-0613" });
     this.callbackManager = callbackManager || new CallbackManager();
 
     this.maxInteractions = maxInteractions ?? 10;
@@ -322,7 +322,7 @@ export class ReActAgentWorker implements AgentWorker {
 
     const inputChat = this.reactChatFormatter.format(
       tools,
-      [...task.memory.get(), ...task.extraState.newMemory.get()],
+      [...task.memory.getAll(), ...task.extraState.newMemory.getAll()],
       task.extraState.currentReasoning,
     );
 
-- 
GitLab