langchain-cohere


Namelangchain-cohere JSON
Version 0.3.4 PyPI version JSON
download
home_pagehttps://github.com/langchain-ai/langchain-cohere
SummaryAn integration package connecting Cohere and LangChain
upload_time2024-12-20 10:55:11
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.37085s