> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lancedb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cohere

Using cohere API requires cohere package, which can be installed using `pip install cohere`. Cohere embeddings are used to generate embeddings for text data. The embeddings can be used for various tasks like semantic search, clustering, and classification.
You also need to set the `COHERE_API_KEY` environment variable to use the Cohere API.

Supported models are:

* embed-english-v3.0
* embed-multilingual-v3.0
* embed-english-light-v3.0
* embed-multilingual-light-v3.0
* embed-english-v2.0
* embed-english-light-v2.0
* embed-multilingual-v2.0

Supported parameters (to be passed in `create` method) are:

| Parameter | Type | Default Value | Description |
| - | - | - | - |
| `name` | `str` | `"embed-english-v2.0"` | The model ID of the cohere model to use. Supported base models for Text Embeddings: embed-english-v3.0, embed-multilingual-v3.0, embed-english-light-v3.0, embed-multilingual-light-v3.0, embed-english-v2.0, embed-english-light-v2.0, embed-multilingual-v2.0 |
| `source_input_type` | `str` | `"search_document"` | The type of input data to be used for the source column. |
| `query_input_type` | `str` | `"search_query"` | The type of input data to be used for the query. |

Cohere supports following input types:

| Input Type | Description |
| - | - |
| "`search_document`" | Used for embeddings stored in a vector |
| | database for search use-cases. |
| "`search_query`" | Used for embeddings of search queries |
| | run against a vector DB |
| "`semantic_similarity`" | Specifies the given text will be used |
| | for Semantic Textual Similarity (STS) |
| "`classification`" | Used for embeddings passed through a |
| | text classifier. |
| "`clustering`" | Used for the embeddings run through a |
| | clustering algorithm |

Usage Example:

import tempfile
from pathlib import Path

import lancedb
from lancedb.embeddings import EmbeddingFunctionRegistry
from lancedb.pydantic import LanceModel, Vector

cohere = (
&#x20;   EmbeddingFunctionRegistry.get\_instance()
&#x20;   .get("cohere")
&#x20;   .create(name="embed-multilingual-v2.0")
)

class TextModel(LanceModel):
&#x20;   text: str = cohere.SourceField()
&#x20;   vector: Vector(cohere.ndims()) = cohere.VectorField()

data = \[\{"text": "hello world"}, \{"text": "goodbye world"}]

db = lancedb.connect(str(Path(tempfile.mkdtemp()) / "cohere-demo"))
tbl = db.create\_table("test", schema=TextModel, mode="overwrite")
tbl.add(data)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.