langchain-cohere


Namelangchain-cohere JSON
Version 0.1.7 PyPI version JSON
download
home_pagehttps://github.com/langchain-ai/langchain-cohere
SummaryAn integration package connecting Cohere and LangChain
upload_time2024-06-11 08:48:43
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.8.1
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.8.1",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/1a/37/bc394f758ecc12db58b7440e7b664b4ea9e15500e44d3543c3995202c6ca/langchain_cohere-0.1.7.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.1.7",
    "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": "3291d89fbfe3aae96189df7cc8ae897197acb9306fe5c24f6455e8a4bfaa2591",
                "md5": "b93eb679b27db6513390f7062cbf9036",
                "sha256": "ffb6654098c7374eb0b51b446d0f5da91ccd87fc7103ea43df8b48abf95be6a2"
            },
            "downloads": -1,
            "filename": "langchain_cohere-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b93eb679b27db6513390f7062cbf9036",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8.1",
            "size": 31516,
            "upload_time": "2024-06-11T08:48:33",
            "upload_time_iso_8601": "2024-06-11T08:48:33.744019Z",
            "url": "https://files.pythonhosted.org/packages/32/91/d89fbfe3aae96189df7cc8ae897197acb9306fe5c24f6455e8a4bfaa2591/langchain_cohere-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1a37bc394f758ecc12db58b7440e7b664b4ea9e15500e44d3543c3995202c6ca",
                "md5": "bdba3bf23bc4b9d9985fb57eacf62482",
                "sha256": "5ff2c354977c4a4ac4360ce3fe7ee0687f51ab59b533d1b8a7f6a9835cf50f1e"
            },
            "downloads": -1,
            "filename": "langchain_cohere-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "bdba3bf23bc4b9d9985fb57eacf62482",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8.1",
            "size": 26910,
            "upload_time": "2024-06-11T08:48:43",
            "upload_time_iso_8601": "2024-06-11T08:48:43.731781Z",
            "url": "https://files.pythonhosted.org/packages/1a/37/bc394f758ecc12db58b7440e7b664b4ea9e15500e44d3543c3995202c6ca/langchain_cohere-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-11 08:48:43",
    "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.27729s