Announcing Command R, our new highly scalable enterprise language model.

Learn More

semantic search

Build better search for any language

Semantic Search provides powerful semantic search capabilities that find text, documents, and articles based on meaning, not just keywords.

Code sample that runs the Cohere API embed endpoint for search with only a few lines
Using Cohere to search what the tallest mountain in the world is

What’s possible with Semantic Search

Vector search: English

Semantic Search finds what you need, fast. Go beyond keywords and find docs, reviews, and more that are similar based on meaning.

Vector search: Multilingual

Cohere offers high-performance multilingual search capability to help businesses scale globally. Search and return results in any language.

"At ML6, we see that multilingualism remains a major challenge in an English-centric NLP landscape — especially in Europe. Naturally, we are actively on the lookout for solutions and have been impressed by what we’ve seen from Cohere thus far!"

Matthias FeysCo-Founder & CTO
ML6

Simple APIs, powerful results

No matter your level of experience with ML/AI, the Cohere Platform makes it easy to add search to your applications.

1import cohere  #Install with: pip install cohere
2import hnswlib #Install with: pip install hnswlib
3co = cohere.Client('{apiKey}') 
4
5docs = [
6   'Cohere offers NLP foundation models as an easy to use service.',
7   'Semantic search is based on vectors, it works for 100+ languages.',
8   'Our generate model is powered by a large language model.'
9]
10
11#Get your document embeddings
12doc_embs = co.embed(texts=docs, model='embed-english-v3.0', input_type=search_documents).embeddings
13
14#Create a search index
15index = hnswlib.Index(space='ip', dim=1024)
16index.init_index(max_elements=len(doc_embs), ef_construction=512, M=64)
17index.add_items(doc_embs, list(range(len(doc_embs))))
18
19#Search
20query = "What is semantic search"
21query_emb = co.embed(texts=[query], model='embed-english-v3.0', input_type=search_query).embeddings
22doc_ids = index.knn_query(query_emb, k=1)[0][0]
23
24for doc_id in doc_ids:
25    print(docs[doc_id])
1Semantic search is based on vectors, it works for 100+ languages.

Why Semantic Search

1

Embeddings performance

Cohere’s Embed model leads the industry in accuracy and performance, meaning the highest search relevance, even with noisy datasets

2

Multilingual support

Over 100 languages are supported, so the same topics, products and issues are identified the same way in each


3

Scalability

Cohere Embed supports data compression, reducing storage and compute requirements

4

Flexible deployment options

Cohere models are accessible through a SaaS API, cloud services (e.g., OCI, AWS SageMaker, Bedrock), and private deployments (VPC and on-prem)

Semantic Search resources

Semantic search documentation

Learn how to implement semantic search using Cohere’s embedding models.

Get started with Cohere today!

Reach out to us and let’s discuss your search needs.