You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/libs/partners/cohere
harry-cohere beab9adffb
cohere: Improve integration test stability, fix documents bug (#19929)
**Description**: Improves the stability of all Cohere partner package
integration tests. Fixes a bug with document parsing (both dicts and
Documents are handled).
6 months ago
..
docs cohere, docs: update imports and installs to langchain_cohere (#19918) 6 months ago
langchain_cohere cohere: Improve integration test stability, fix documents bug (#19929) 6 months ago
scripts cohere[patch]: add cohere as a partner package (#19049) 6 months ago
tests cohere: Improve integration test stability, fix documents bug (#19929) 6 months ago
.gitignore cohere[patch]: add cohere as a partner package (#19049) 6 months ago
LICENSE cohere[patch]: add cohere as a partner package (#19049) 6 months ago
Makefile cohere[patch]: add cohere as a partner package (#19049) 6 months ago
README.md cohere, docs: update imports and installs to langchain_cohere (#19918) 6 months ago
poetry.lock cohere[patch]: release 0.1.0rc2 (#19924) 6 months ago
pyproject.toml cohere[patch]: release 0.1.0rc2 (#19924) 6 months ago

README.md

Cohere

Cohere is a Canadian startup that provides natural language processing models that help companies improve human-machine interactions.

Installation and Setup

  • Install the Python SDK :
pip install langchain-cohere

Get a Cohere api key and set it as an environment variable (COHERE_API_KEY)

Cohere langchain integrations

API description Endpoint docs Import Example usage
Chat Build chat bots chat from langchain_cohere import ChatCohere cohere.ipynb
LLM Generate text generate from langchain_cohere import Cohere cohere.ipynb
RAG Retriever Connect to external data sources chat + rag from langchain.retrievers import CohereRagRetriever cohere.ipynb
Text Embedding Embed strings to vectors embed from langchain_cohere import CohereEmbeddings cohere.ipynb
Rerank Retriever Rank strings based on relevance rerank from langchain.retrievers.document_compressors import CohereRerank cohere.ipynb

Quick copy examples

Chat

from langchain_cohere import ChatCohere
from langchain_core.messages import HumanMessage
chat = ChatCohere()
messages = [HumanMessage(content="knock knock")]
print(chat(messages))

LLM

from langchain_cohere import Cohere

llm = Cohere(model="command")
print(llm.invoke("Come up with a pet name"))

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
from langchain.retrievers import CohereRagRetriever
from langchain_core.documents import Document

rag = CohereRagRetriever(llm=ChatCohere())
print(rag.get_relevant_documents("What is cohere ai?"))

Text Embedding

from langchain_cohere import CohereEmbeddings

embeddings = CohereEmbeddings(model="embed-english-light-v3.0")
print(embeddings.embed_documents(["This is a test document."]))