Skip to main content

An integration package connecting Cohere and LangChain

Project description

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.

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

langchain_cohere-0.6.0.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

langchain_cohere-0.6.0-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file langchain_cohere-0.6.0.tar.gz.

File metadata

  • Download URL: langchain_cohere-0.6.0.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for langchain_cohere-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5e45b56d0a5cc6f3de9f61bcd4fd449b9f3ece85e6b569c3d7c304992808bb0c
MD5 736b156ec110222c60a094f7eb0b2c38
BLAKE2b-256 5a11de374cbd215d49185c5f70228528887da5253f681291adaad9b86ef52522

See more details on using hashes here.

File details

Details for the file langchain_cohere-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_cohere-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 524bc2f390b96a0b1bb98ec6e97f209fe7cd1654e6608e6e89db2e78b6c75838
MD5 2b3b22194f3176dd477c981c7a79b5b6
BLAKE2b-256 c55e90f88e0316411fedf2dfdb7c5d53b106ac0186b2e432b93980acdf2ee250

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