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.llms 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.invoke(messages))
API Reference:ChatCohere | HumanMessage
Usage of the Cohere chat model
LLMβ
from langchain_cohere.llms import Cohere
llm = Cohere()
print(llm.invoke("Come up with a pet name"))
API Reference:Cohere
Usage of the Cohere (legacy) LLM model
ReAct Agentβ
The agent is based on the paper ReAct: Synergizing Reasoning and Acting in Language Models.
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_cohere import ChatCohere, create_cohere_react_agent
from langchain_core.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?",
})
API Reference:TavilySearchResults | ChatCohere | create_cohere_react_agent | ChatPromptTemplate | AgentExecutor
RAG Retrieverβ
from langchain_cohere import ChatCohere
from langchain.retrievers import CohereRagRetriever
from langchain_core.documents import Document
rag = CohereRagRetriever(llm=ChatCohere())
print(rag.invoke("What is cohere ai?"))
Usage of the Cohere RAG Retriever
Text Embeddingβ
from langchain_cohere import CohereEmbeddings
embeddings = CohereEmbeddings(model="embed-english-light-v3.0")
print(embeddings.embed_documents(["This is a test document."]))
API Reference:CohereEmbeddings
Usage of the Cohere Text Embeddings model
Rerankerβ
Usage of the Cohere Reranker