Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
This package contains the LangChain integrations for Cohere.
Cohere empowers every developer and enterprise to build amazing products and capture true business value with language AI.
langchain-cohere
package:pip install langchain-cohere
COHERE_API_KEY
)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:
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
The Cohere Python SDK version is now managed by this package and only v5+ is supported.
API | description | Endpoint docs | Import | Example usage |
---|---|---|---|---|
Chat | Build chat bots | chat | from langchain_cohere import ChatCohere | notebook |
RAG Retriever | Connect to external data sources | chat + rag | from langchain_cohere import CohereRagRetriever | notebook |
Text Embedding | Embed strings to vectors | embed | from langchain_cohere import CohereEmbeddings | notebook |
Rerank Retriever | Rank strings based on relevance | rerank | from langchain_cohere import CohereRerank | notebook |
ReAct Agent | Let the model choose a sequence of actions to take | chat + rag | from langchain_cohere.react_multi_hop.agent import create_cohere_react_agent | notebook |
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))
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?",
})
from langchain_cohere import ChatCohere, CohereRagRetriever
rag = CohereRagRetriever(llm=ChatCohere())
print(rag.get_relevant_documents("Who are Cohere?"))
from langchain_cohere import CohereEmbeddings
embeddings = CohereEmbeddings(model="embed-english-light-v3.0")
print(embeddings.embed_documents(["This is a test document."]))
Contributions to this project are welcomed and appreciated. The LangChain contribution guide has instructions on how to setup a local environment and contribute pull requests.
FAQs
An integration package connecting Cohere and LangChain
We found that langchain-cohere demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.