Skip to main content

Langchain-Cohere

This package contains the LangChain integrations for Cohere.

Cohere empowers every developer and enterprise to build amazing products and capture true business value with language AI.

Installation

  • Install the langchain-cohere package:
pip install langchain-cohere
  • Get a Cohere API key and set it as an environment variable (COHERE_API_KEY)

Migration from langchain-community

Cohere's integrations used to be part of the langchain-community package, but since version 0.0.30 the integration in langchain-community has been deprecated in favour langchain-cohere.

The two steps to migrate are:

  1. Import from langchain_cohere instead of langchain_community, for example:

    • from langchain_community.chat_models import ChatCohere -> from langchain_cohere import ChatCohere
    • from langchain_community.retrievers import CohereRagRetriever -> from langchain_cohere import CohereRagRetriever
    • from langchain.embeddings import CohereEmbeddings -> from langchain_cohere import CohereEmbeddings
    • from langchain.retrievers.document_compressors import CohereRerank -> from langchain_cohere import CohereRerank
  2. The Cohere Python SDK version is now managed by this package and only v5+ is supported.

    • There's no longer a need to specify cohere as a dependency in requirements.txt/pyproject.toml (etc.)

Supported LangChain Integrations

API description Endpoint docs Import Example usage
Chat Build chat bots chat from langchain_cohere import ChatCohere notebook
RAG Retriever Connect to external data sources chat + rag from langchain_cohere import CohereRagRetriever notebook
Text Embedding Embed strings to vectors embed from langchain_cohere import CohereEmbeddings notebook
Rerank Retriever Rank strings based on relevance rerank from langchain_cohere import CohereRerank notebook
ReAct Agent Let the model choose a sequence of actions to take chat + rag from langchain_cohere.react_multi_hop.agent import create_cohere_react_agent notebook

Usage Examples

Chat

from langchain_cohere import ChatCohere
from langchain_core.messages import HumanMessage

llm = ChatCohere()

messages = [HumanMessage(content="Hello, can you introduce yourself?")]
print(llm.invoke(messages))

Vision (Image Inputs)

Command A Vision models can process images alongside text. Supports both URL and base64-encoded images.

from langchain_cohere import ChatCohere
from langchain_core.messages import HumanMessage

# Initialize the vision model
llm = ChatCohere(model="command-a-vision-07-2025")

# Using an image URL
message = HumanMessage(
    content=[
        {"type": "text", "text": "What's in this image?"},
        {
            "type": "image_url",
            "image_url": {"url": "https://example.com/image.jpg"}
        }
    ]
)
response = llm.invoke([message])
print(response.content)

# Using a base64-encoded image with detail level
message = HumanMessage(
    content=[
        {"type": "text", "text": "Describe this chart in detail"},
        {
            "type": "image_url",
            "image_url": {
                "url": "data:image/png;base64,iVBORw0KG...",
                "detail": "high"  # Options: "low", "high", or "auto" (default)
            }
        }
    ]
)
response = llm.invoke([message])
print(response.content)

# Multiple images
message = HumanMessage(
    content=[
        {"type": "text", "text": "Compare these images"},
        {"type": "image_url", "image_url": {"url": "https://example.com/image1.jpg"}},
        {"type": "image_url", "image_url": {"url": "https://example.com/image2.jpg"}}
    ]
)
response = llm.invoke([message])
print(response.content)

Image Requirements:

  • Maximum 20 images per request or 20MB total
  • Supported formats: PNG, JPEG, WEBP, non-animated GIF
  • Detail levels affect token usage:
    • "low": 256 tokens per image (faster, lower cost)
    • "high": More tokens based on image size (better quality)
    • "auto": Automatically selects appropriate detail level

For more information, see Cohere's Vision documentation.

ReAct Agent

from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_cohere import ChatCohere, create_cohere_react_agent
from langchain.prompts import ChatPromptTemplate
from langchain.agents import AgentExecutor

llm = ChatCohere()

internet_search = TavilySearchResults(max_results=4)
internet_search.name = "internet_search"
internet_search.description = "Route a user query to the internet"

prompt = ChatPromptTemplate.from_template("{input}")

agent = create_cohere_react_agent(
    llm,
    [internet_search],
    prompt
)

agent_executor = AgentExecutor(agent=agent, tools=[internet_search], verbose=True)

agent_executor.invoke({
    "input": "In what year was the company that was founded as Sound of Music added to the S&P 500?",
})

RAG Retriever

from langchain_cohere import ChatCohere, CohereRagRetriever

rag = CohereRagRetriever(llm=ChatCohere())
print(rag.get_relevant_documents("Who are Cohere?"))

Text Embedding

from langchain_cohere import CohereEmbeddings

embeddings = CohereEmbeddings(model="embed-english-light-v3.0")
print(embeddings.embed_documents(["This is a test document."]))

Contributing

Contributions to this project are welcomed and appreciated. The LangChain contribution guide has instructions on how to setup a local environment and contribute pull requests.

Release files for langchain-cohere 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langchain-cohere 0.6.0
File Size Uploaded
langchain_cohere-0.6.0.tar.gz 39.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-cohere 0.6.0
File Interpreter ABI Platform
langchain_cohere-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 84.5 kB

Release files / langchain_cohere-0.6.0.tar.gz

Download URL langchain_cohere-0.6.0.tar.gz
Size 39.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5e45b56d0a5cc6f3de9f61bcd4fd449b9f3ece85e6b569c3d7c304992808bb0c
BLAKE2b-256 checksum
How to use checksums
5a11de374cbd215d49185c5f70228528887da5253f681291adaad9b86ef52522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / langchain_cohere-0.6.0-py3-none-any.whl

Download URL langchain_cohere-0.6.0-py3-none-any.whl
Size 45.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
524bc2f390b96a0b1bb98ec6e97f209fe7cd1654e6608e6e89db2e78b6c75838
BLAKE2b-256 checksum
How to use checksums
c55e90f88e0316411fedf2dfdb7c5d53b106ac0186b2e432b93980acdf2ee250
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page