Cohere Toolkit

Build LLM-based products with ease using an all-in-one RAG application

2024-05-06

Cohere Toolkit Overview

The Cohere Toolkit is a comprehensive, deployable Retrieval-Augmented Generation (RAG) application designed to help developers quickly build and customize Large Language Model (LLM)-based products. It provides a modular and extensible framework for integrating various model providers, data sources, and tools, making it an ideal solution for AI-driven applications.

Key Features

  • Pre-built Web Interfaces: Includes a Next.js-based web app with a built-in SQL database for conversation history, along with a Slack bot implementation.
  • Customizable Backend: Supports multiple model providers such as Cohere Platform, Sagemaker, Azure, Bedrock, HuggingFace, and local models.
  • Tool Integration: Easily add tools like Google Drive, Gmail, Slack, GitHub, SharePoint, and Google Text-to-Speech.
  • Deployment Flexibility: Offers guides for deploying services on AWS, GCP, and Azure, as well as local and cloud-based development setups.
  • Developer-Friendly: Includes a Makefile for streamlined workflows, Docker Compose support, and debugging tools for VSCode/PyCharm.

Getting Started

You can run the Toolkit locally or in the cloud with minimal setup. The project requires Docker, Docker Compose (≥2.22), and Poetry for dependency management. The frontend is served at http://localhost:4000.

Quick Start Commands

git clone https://github.com/cohere-ai/cohere-toolkit.git
cd cohere-toolkit
make first-run

For direct Docker usage:

docker compose up
docker compose run --build backend alembic -c src/backend/alembic.ini upgrade head

Extending the Toolkit

The Toolkit is designed for community contributions, with detailed guides on adding authentication, custom tools, and deployment workflows. Whether you're enhancing the UI, integrating new providers, or optimizing performance, your contributions are highly valued.

Check out the documentation to get started!

Artificial Intelligence Large Language Models Retrieval-Augmented Generation Natural Language Processing Developer Tools