Skip to main content

Python SDK for the Cohere API

Project description

ci badge version badge license badge

Cohere Python SDK

This package provides functionality developed to simplify interfacing with the Cohere API in Python 3.

Documentation

  • SDK Documentation can be found here.
    • You can build SDK documentation locally using cd docs; make clean html.
  • For more details on advanced parameters, you can also consult the API documentation.
  • See the examples directory for examples, including some additional functionality for visualizations in Jupyter notebooks.

Installation

The package can be installed with pip:

pip install --upgrade cohere

Install from source:

pip install .

Requirements

  • Python 3.8+

Quick Start

To use this library, you must have an API key and specify it as a string when creating the cohere.Client object. API keys can be created through the platform. This is a basic example of the creating the client and using the generate endpoint.

import cohere

# initialize the Cohere Client with an API Key
co = cohere.Client('YOUR_API_KEY')

# generate a prediction for a prompt
prediction = co.chat(message='Howdy! 🤠', model='command')

# print the predicted text
print(f'Chatbot: {prediction.text}')

There is also an asyncio compatible client called cohere.AsyncClient with an equivalent interface. Consult the SDK Docs for more details.

Versioning

Each SDK release is only compatible with the latest version of the Cohere API at the time of release. To use the SDK with an older API version, you need to download a version of the SDK tied to the API version you want. Look at the Changelog to see which SDK version to download.

Endpoints

For a full breakdown of endpoints and arguments, please consult the SDK Docs and Cohere Docs.

Cohere Endpoint Function
/chat co.chat()
/generate co.generate()
/embed co.embed()
/rerank co.rerank()
/classify co.classify()
/tokenize co.tokenize()
/detokenize co.detokenize()
/detect-language co.detect_language()

Models

When you call Cohere's APIs we decide on a good default model for your use-case behind the scenes. The default model is great to get you started, but in production environments we recommend that you specify the model size yourself via the model parameter. Learn more about the available models here(https://dashboard.cohere.com)

Responses

All of the endpoint functions will return a Cohere object corresponding to the endpoint (e.g. for generation, it would be Generation). The responses can be found as instance variables of the object (e.g. generation would be Generation.text). The names of these instance variables and a detailed breakdown of the response body can be found in the SDK Docs and Cohere Docs. Printing the Cohere response object itself will display an organized view of the instance variables.

Exceptions

Unsuccessful API calls from the SDK will raise an exception. Please see the documentation's page on errors for more information about what the errors mean.

Contributing

To set up a development environment, first ensure you have poetry 1.7+ installed and run:

poetry shell    # any time you want to run code or tests
poetry install  # install and update dependencies in your environment, the first time

In addition, to ensure your code is formatted correctly, install pre-commit hooks using:

pre-commit install

You can run tests locally using:

python -m pytest

You can configure a different base url with:

CO_API_URL="https://localhost:8050" python3 foo.py

or in code using one of:

cohere.COHERE_API_URL = "https://localhost:8050"    # Place before client initilization
cohere.Client(...,api_url="https://localhost:8050") # Alternatively, as a parameter to the Client

Project details


Release history Release notifications | RSS feed

This version

4.39

Download files

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

Source Distribution

cohere-4.39.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cohere-4.39-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

Details for the file cohere-4.39.tar.gz.

File metadata

  • Download URL: cohere-4.39.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for cohere-4.39.tar.gz
Algorithm Hash digest
SHA256 9e94bb1e5b2e2d464738e0ab3c99ed2879c043cccc90ecbeffd124e81867745d
MD5 b6df9eff0d430cb94fce3416dc7fb128
BLAKE2b-256 1597005e3cc327c5bcac2f5a1f5b224b98d4e16a8194717c23e1f7c25c2668bb

See more details on using hashes here.

File details

Details for the file cohere-4.39-py3-none-any.whl.

File metadata

  • Download URL: cohere-4.39-py3-none-any.whl
  • Upload date:
  • Size: 51.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for cohere-4.39-py3-none-any.whl
Algorithm Hash digest
SHA256 7f157b7ac0a70b1dda77dc56c4fc063e8d21efcd2bb13759cd5b6839080405e7
MD5 fae64011fef6ba912fd1f0eeed71a1ee
BLAKE2b-256 caca92b7d1ec6cc79666f4275abdc8aefa5453b63c2a0d4e8383d10c05e81b6f

See more details on using hashes here.

Supported by

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