Context by Cohere
Introducing Tool Use With Command R: Seamlessly Automate Business Workflows

Introducing Tool Use With Command R: Seamlessly Automate Business Workflows

Tool Use enables language models to interact with user-defined tools to automate highly sophisticated tasks.


Our newest generative model, Command R, comes with a Tool Use API that enables the language model to interact with user-defined tools to automate highly sophisticated tasks. 

Command R in Tool Use mode creates API payloads (JSONs with specific parameters) based on user interactions and conversational history. These can be used to instruct any other application or tool. For example, an application can be instructed to automatically categorize and route support tickets to the appropriate individual, change a status in a customer relationship management software (CRM), or retrieve relevant snippets from a vector database. 

Outputs from the application are then fed back into Command R for it to generate a final response. Responses come with citations, making it easy for users to trace back claims from the sourced data or results from the tools used. This advances Command R applications from simple chatbots to powerful agents and research tools for increased productivity.

Tool Use (also known as function calling) can also connect Command R seamlessly to external systems like databases, search engines, and any application that has an API to create automated workflows across multiple systems.

Competitive on Real-World Tool Use Benchmarks

Tool Use with Command R shows strong performance when evaluated against real-world tool use capabilities in a multi-turn conversational setting. We tested against Tool Use APIs when available, and open-source implementations when unavailable. Command R is stronger than Llama 2 70b, Mixtral and Mistral Large. We found some surprising results with the Mistral API; this may be due to their implementation.

We evaluate each LLM's real-world tool-use capabilities in a multi-turn conversational setting, using Microsoft’s ToolTalk (Hard) benchmark (Farn & Shin 2023). Predicted tool calls are evaluated against the ground-truth, with overall conversation success metrics deemed on how likely the model recalls all tool calls and avoids bad actions (i.e. a tool call that has unwanted side effects). We made use of tool APIs when available.

Balancing high efficiency and strong performance with the flexibility of deployment across all major cloud providers, Command R offers the best solution on the market for building AI applications relying on Tool Use.

Adopting Tool Use in the Enterprise

Tool Use is a simple four step process for developers to implement:

  1. Configure the request. Developer describes the tools Command R will work with
  2. Choose the right tool. Upon receiving a user query, Command R will indicate which tool it wants to use and will provide the arguments and generate a tool call 
  3. Execute the tool call. The developer will run the tool and deliver the output back to Command R
  4. As a result, the LLM will generate an answer based on tool results. Command R uses the tools’ output to generate a response to the end user

Tool Use enables a richer set of behaviors for Command R. For example, it allows the language model to interact with data hosted in external sources, and to take action on enterprise tools beyond just retrieval.

Example: Keep Your CRM Up-To-Date Automatically

To boost enterprise productivity, users can automate updates to their CRM based on the latest interactions with their target customers. 

Here’s how it works. 

A sales manager might want the CRM to automatically update with new information after a call with a target customer, instead of spending time manually making the changes. For example, using two tools, you can update your CRM with new points of contact based on a customer call transcript.

The first tool retrieves all the information about a target customer from the CRM system. Given this information alongside a transcript of the sales call, Command-R identifies which fields in the CRM need to be changed with new data and generates the instruction. 

Now with the CRM instructions, a separate second tool can be directed to write to the CRM, updating the fields that it had previously suggested. The CRM is now updated with the names and roles identified previously and has the most up-to-date information based on the latest customer call.

Harnessing automations to update a CRM enhances efficiency and ensures that your customer data is always current. This workflow, powered by Command-R and Tool Use, streamlines the manual task of entering data, letting the sales teams focus on building relationships and closing deals.

Get Started

Keeping your CRM up-to-date automatically is just one of many applications that can be set up with Tool Use.

Developers can get started with and learn more about our Tool Use API in our developer documentation. Check out our notebook for a tutorial on how to set up a tool, we’re excited to see what you build! Share your tools in our Discord Community.

Coming Soon…

Multi-hop Tool Use. If you want to join the beta, please reach out!

Keep reading