Skip to main content

Scaffold a custom Cohere connector

Project description

Create Cohere Connector PRs Welcome PyPi

Generates a custom Cohere Connector with one command. Cohere Connectors enable to combine Cohere's large language models (LLMs), which power the Chat API, with up-to-date factual information. They enhance Cohere's retrieval augmented generation (RAG) offering, and can respond to user questions and prompts with substantive, grounded generations that contain citations to external public or private knowledge bases.

Note that this is an experimental project. If something doesn’t work, please file an issue.

You might also refer to the official Cohere repo for Connectors: https://github.com/cohere-ai/quick-start-connectors

🧮 What is included?

Your environment will have everything you need to quickly prototype and deploy a custom Cohere Connector:

  • API service implementing the required search endpoint using FastAPI (support for Flask is planned).
  • Bearer Token Authentication using the Authorization header in HTTP requests.
  • Pydantic models for data validation and serialization.
  • Client class to retrieve data from a custom data source.
  • Deploy script to register your connector with Cohere.

🚀 Quickstart

  1. Install create-cohere-connector package:

You might install this package globall:

poetry self add poetry-scaffold

or within a virtual environment:

# Windows
py -m venv .venv
.venv\scripts\activate
# macOS/Linux
python3 -m venv .venv
source .venv/bin/activate
pip3 install create-cohere-connector
  1. Bootstrap your project:
poetry run create-cohere-connector

This will prompt for a project name:

Project name [myconnector]: hello-connector
Api framework [FastAPI]: FastAPI
Authentication [Bearer]: Bearer
Caching [None]: None

generate the initial project structure:

myconnector
├── README.md
├── deploy.py
├── Dockerfile
├── pyproject.toml
├── poetry.lock
├── .gitignore
└── provider
    ├── __init__.py
    ├── app.py
    ├── config.py
    ├── client.py
    ├── provider.py
    ├── exceptions.py
    └── datamodels.py

and install dependencies:

 Project created successfully!
  1. Set environment variables

You might rename .env_template to .env, and complete it.

  1. Span a shell within the virtual environment
poetry shell
  1. Install dependencies
poetry config virtualenvs.in-project true
poetry install --no-root
  1. Start API service
poetry run uvicorn app:app --app-dir provider --port 5000 --reload
  1. Deploy Cohere Connector
python deploy.py

👩‍💻 Contributions

If you would like to contribute, here are some features that we are planning to add:

  • Improve Poetry virtual environment creation
  • Flask support
  • Semantic caching
  • OAuth 2.0
  • Data models scaffolding

⚖️ License

Create Cohere Connector is open source software licensed as Apache 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

create_cohere_connector-0.1.12.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

create_cohere_connector-0.1.12-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file create_cohere_connector-0.1.12.tar.gz.

File metadata

  • Download URL: create_cohere_connector-0.1.12.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Windows/11

File hashes

Hashes for create_cohere_connector-0.1.12.tar.gz
Algorithm Hash digest
SHA256 481ed9959987c462e034d81c0e9ea949176e386b1ec015e772576d03f2cde34c
MD5 9719088c111c7025e2d5fd3baa3b000f
BLAKE2b-256 ae9829b472c9b0d11be2acdf59d970c1d5dd3d5c2120b3f5dbbe3c97f2e8bb3b

See more details on using hashes here.

File details

Details for the file create_cohere_connector-0.1.12-py3-none-any.whl.

File metadata

File hashes

Hashes for create_cohere_connector-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 60d4085bc81fdbcd4c6be0b7d0fd27b4b503168431681500262440639d6b4b97
MD5 78084f07a7c54e1e425874bb5acea139
BLAKE2b-256 8bc4acc015627f2dbc2f211460d66d1d24e2bc461764be865466ff145175af83

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page