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-coherepackage:
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:
-
Import from langchain_cohere instead of langchain_community, for example:
from langchain_community.chat_models import ChatCohere->from langchain_cohere import ChatCoherefrom langchain_community.retrievers import CohereRagRetriever->from langchain_cohere import CohereRagRetrieverfrom langchain.embeddings import CohereEmbeddings->from langchain_cohere import CohereEmbeddingsfrom langchain.retrievers.document_compressors import CohereRerank->from langchain_cohere import CohereRerank
-
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.
Metadata
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| langchain_cohere-0.6.0.tar.gz | 39.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|
Security for langchain-cohere 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.