From 6d37d440a6e33d0664996618b07c2a4306632279 Mon Sep 17 00:00:00 2001 From: Savas Ziplies <nea@users.noreply.github.com> Date: Fri, 14 Feb 2025 09:17:03 +0100 Subject: [PATCH] refactor(agent): changed regex for tool use extraction to look for optional "Input:" prefix to comply with Cohere command-r models (#1654) --- .changeset/sweet-llamas-dress.md | 5 +++++ packages/llamaindex/src/agent/react.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/sweet-llamas-dress.md diff --git a/.changeset/sweet-llamas-dress.md b/.changeset/sweet-llamas-dress.md new file mode 100644 index 000000000..024d67edd --- /dev/null +++ b/.changeset/sweet-llamas-dress.md @@ -0,0 +1,5 @@ +--- +"llamaindex": patch +--- + +fix: Update react agent to support tool calls from Cohere command-r models diff --git a/packages/llamaindex/src/agent/react.ts b/packages/llamaindex/src/agent/react.ts index abfa1d24c..cfd6e6880 100644 --- a/packages/llamaindex/src/agent/react.ts +++ b/packages/llamaindex/src/agent/react.ts @@ -100,7 +100,7 @@ function extractToolUse( inputText: string, ): [thought: string, action: string, input: string] { const pattern = - /\s*Thought: (.*?)\nAction: ([a-zA-Z0-9_]+).*?\.*Input: .*?(\{.*?\})/s; + /\s*Thought: (.*?)\nAction: ([a-zA-Z0-9_]+).*?\.*[Input:]*.*?(\{.*?\})/s; const match = inputText.match(pattern); -- GitLab