# Langchain-Cohere
This package contains the LangChain integrations for [Cohere](https://cohere.com/).
[Cohere](https://cohere.com/) empowers every developer and enterprise to build amazing products and capture true business value with language AI.
## Installation
- Install the `langchain-cohere` package:
```bash
pip install langchain-cohere
```
- Get a [Cohere API key](https://cohere.com/) 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](https://docs.cohere.com/reference/chat) | `from langchain_cohere import ChatCohere` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/chat/cohere.ipynb) |
| RAG Retriever | Connect to external data sources | [chat + rag](https://docs.cohere.com/reference/chat) | `from langchain_cohere import CohereRagRetriever` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/retrievers/cohere.ipynb) |
| Text Embedding | Embed strings to vectors | [embed](https://docs.cohere.com/reference/embed) | `from langchain_cohere import CohereEmbeddings` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/text_embedding/cohere.ipynb) |
| Rerank Retriever | Rank strings based on relevance | [rerank](https://docs.cohere.com/reference/rerank) | `from langchain_cohere import CohereRerank` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/retrievers/cohere-reranker.ipynb) |
| ReAct Agent | Let the model choose a sequence of actions to take | [chat + rag](https://docs.cohere.com/reference/chat) | `from langchain_cohere.react_multi_hop.agent import create_cohere_react_agent` | [notebook](https://github.com/cohere-ai/notebooks/blob/main/notebooks/Vanilla_Multi_Step_Tool_Use.ipynb) |
## Usage Examples
### Chat
```python
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))
```
### ReAct Agent
```python
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
```python
from langchain_cohere import ChatCohere, CohereRagRetriever
rag = CohereRagRetriever(llm=ChatCohere())
print(rag.get_relevant_documents("Who are Cohere?"))
```
### Text Embedding
```python
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](https://python.langchain.com/docs/contributing/code/) has instructions on how to setup a local environment and contribute pull requests.
Raw data
{
"_id": null,
"home_page": "https://github.com/langchain-ai/langchain-cohere",
"name": "langchain-cohere",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/76/a0/42e68d879d43be0d29964e57ace960e44f684e243411bb9f72d4c797ebd0/langchain_cohere-0.3.4.tar.gz",
"platform": null,
"description": "# Langchain-Cohere\n\nThis package contains the LangChain integrations for [Cohere](https://cohere.com/).\n\n[Cohere](https://cohere.com/) empowers every developer and enterprise to build amazing products and capture true business value with language AI.\n\n## Installation\n- Install the `langchain-cohere` package:\n```bash\npip install langchain-cohere\n```\n\n- Get a [Cohere API key](https://cohere.com/) and set it as an environment variable (`COHERE_API_KEY`)\n\n## Migration from langchain-community\n\nCohere'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`.\n\nThe two steps to migrate are:\n\n1) Import from langchain_cohere instead of langchain_community, for example:\n * `from langchain_community.chat_models import ChatCohere` -> `from langchain_cohere import ChatCohere`\n * `from langchain_community.retrievers import CohereRagRetriever` -> `from langchain_cohere import CohereRagRetriever`\n * `from langchain.embeddings import CohereEmbeddings` -> `from langchain_cohere import CohereEmbeddings`\n * `from langchain.retrievers.document_compressors import CohereRerank` -> `from langchain_cohere import CohereRerank`\n\n2) The Cohere Python SDK version is now managed by this package and only v5+ is supported.\n * There's no longer a need to specify cohere as a dependency in requirements.txt/pyproject.toml (etc.) \n\n## Supported LangChain Integrations\n\n| API | description | Endpoint docs | Import | Example usage |\n|------------------|-----------------------------------------------------|-----------------------------------------------------------|--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|\n| Chat | Build chat bots | [chat](https://docs.cohere.com/reference/chat) | `from langchain_cohere import ChatCohere` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/chat/cohere.ipynb) |\n| RAG Retriever | Connect to external data sources | [chat + rag](https://docs.cohere.com/reference/chat) | `from langchain_cohere import CohereRagRetriever` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/retrievers/cohere.ipynb) |\n| Text Embedding | Embed strings to vectors | [embed](https://docs.cohere.com/reference/embed) | `from langchain_cohere import CohereEmbeddings` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/text_embedding/cohere.ipynb) |\n| Rerank Retriever | Rank strings based on relevance | [rerank](https://docs.cohere.com/reference/rerank) | `from langchain_cohere import CohereRerank` | [notebook](https://github.com/langchain-ai/langchain/blob/master/docs/docs/integrations/retrievers/cohere-reranker.ipynb) |\n| ReAct Agent | Let the model choose a sequence of actions to take | [chat + rag](https://docs.cohere.com/reference/chat) | `from langchain_cohere.react_multi_hop.agent import create_cohere_react_agent` | [notebook](https://github.com/cohere-ai/notebooks/blob/main/notebooks/Vanilla_Multi_Step_Tool_Use.ipynb) |\n\n\n## Usage Examples\n\n### Chat\n\n```python\nfrom langchain_cohere import ChatCohere\nfrom langchain_core.messages import HumanMessage\n\nllm = ChatCohere()\n\nmessages = [HumanMessage(content=\"Hello, can you introduce yourself?\")]\nprint(llm.invoke(messages))\n```\n\n### ReAct Agent\n\n```python\nfrom langchain_community.tools.tavily_search import TavilySearchResults\nfrom langchain_cohere import ChatCohere, create_cohere_react_agent\nfrom langchain.prompts import ChatPromptTemplate\nfrom langchain.agents import AgentExecutor\n\nllm = ChatCohere()\n\ninternet_search = TavilySearchResults(max_results=4)\ninternet_search.name = \"internet_search\"\ninternet_search.description = \"Route a user query to the internet\"\n\nprompt = ChatPromptTemplate.from_template(\"{input}\")\n\nagent = create_cohere_react_agent(\n llm,\n [internet_search],\n prompt\n)\n\nagent_executor = AgentExecutor(agent=agent, tools=[internet_search], verbose=True)\n\nagent_executor.invoke({\n \"input\": \"In what year was the company that was founded as Sound of Music added to the S&P 500?\",\n})\n```\n\n### RAG Retriever\n\n```python\nfrom langchain_cohere import ChatCohere, CohereRagRetriever\n\nrag = CohereRagRetriever(llm=ChatCohere())\nprint(rag.get_relevant_documents(\"Who are Cohere?\"))\n```\n\n### Text Embedding\n\n```python\nfrom langchain_cohere import CohereEmbeddings\n\nembeddings = CohereEmbeddings(model=\"embed-english-light-v3.0\")\nprint(embeddings.embed_documents([\"This is a test document.\"]))\n```\n\n## Contributing\n\nContributions to this project are welcomed and appreciated.\nThe [LangChain contribution guide](https://python.langchain.com/docs/contributing/code/) has instructions on how to setup a local environment and contribute pull requests.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An integration package connecting Cohere and LangChain",
"version": "0.3.4",
"project_urls": {
"Homepage": "https://github.com/langchain-ai/langchain-cohere",
"Repository": "https://github.com/langchain-ai/langchain-cohere",
"Source Code": "https://github.com/langchain-ai/langchain-cohere/tree/main/libs/cohere"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b8b35adeb0a21cf226e96ed0f4bbb047a4c7da0b5b8f78d770ce255ef4da048d",
"md5": "66f9def17ebac30e83228b2406033f14",
"sha256": "7562ee6950068459a04e821b5c3097f0229c0573e96af3640eea562b395c0f0c"
},
"downloads": -1,
"filename": "langchain_cohere-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "66f9def17ebac30e83228b2406033f14",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 44338,
"upload_time": "2024-12-20T10:55:09",
"upload_time_iso_8601": "2024-12-20T10:55:09.858343Z",
"url": "https://files.pythonhosted.org/packages/b8/b3/5adeb0a21cf226e96ed0f4bbb047a4c7da0b5b8f78d770ce255ef4da048d/langchain_cohere-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "76a042e68d879d43be0d29964e57ace960e44f684e243411bb9f72d4c797ebd0",
"md5": "da92fd55c88fb951a5075d7ace81af43",
"sha256": "5482f9d52e0e71abff891a70957165dd033e7f8f01e640f1bfb27fccf119973c"
},
"downloads": -1,
"filename": "langchain_cohere-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "da92fd55c88fb951a5075d7ace81af43",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 36928,
"upload_time": "2024-12-20T10:55:11",
"upload_time_iso_8601": "2024-12-20T10:55:11.053263Z",
"url": "https://files.pythonhosted.org/packages/76/a0/42e68d879d43be0d29964e57ace960e44f684e243411bb9f72d4c797ebd0/langchain_cohere-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-20 10:55:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "langchain-ai",
"github_project": "langchain-cohere",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "langchain-cohere"
}