Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including Cohere's generation, embedding, and other endpoints.
With Portkey, you can take advantage of features like fast AI gateway access, observability, prompt management, and more, all while ensuring the secure management of your LLM API keys through a virtual key system.
Provider Slug: cohere
Portkey SDK Integration with Cohere
Portkey provides a consistent API to interact with models from Cohere. To integrate Cohere with Portkey:
1. Install the Portkey SDK
Add the Portkey SDK to your application to interact with Cohere's models through Portkey's gateway.
npm install --save portkey-ai
pip install portkey-ai
2. Initialize Portkey with the Virtual Key
To use Cohere with Portkey, get your API key from here, then add it to Portkey to create the virtual key.
import Portkey from'portkey-ai'constportkey=newPortkey({ apiKey:"PORTKEY_API_KEY",// defaults to process.env["PORTKEY_API_KEY"] virtualKey:"VIRTUAL_KEY"// Your Cohere Virtual Key})
from portkey_ai import Portkeyportkey =Portkey( api_key="PORTKEY_API_KEY", # Replace with your Portkey API key virtual_key="VIRTUAL_KEY"# Replace with your virtual key for Cohere)
3. Invoke Chat Completions with Cohere
Use the Portkey instance to send requests to Cohere's models. You can also override the virtual key directly in the API call if needed.
constchatCompletion=awaitportkey.chat.completions.create({ messages: [{ role:'user', content:'Say this is a test' }], model:'command',});console.log(chatCompletion.choices);
chat_completion = portkey.chat.completions.create( messages= [{ "role": 'user', "content": 'Say this is a test' }], model='command')
Managing Cohere Prompts
You can manage all prompts to Cohere in the Prompt Library. All the current models of Cohere are supported and you can easily start testing different prompts.
Once you're ready with your prompt, you can use the portkey.prompts.completions.create interface to use the prompt in your application.
Other Cohere Endpoints
Embeddings
Embedding endpoints are natively supported within Portkey like this:
constembedding=awaitportkey.embeddings.create({ input:'Name the tallest buildings in Hawaii'});console.log(embedding);
Re-ranking
You can use cohere reranking the portkey.post method with the body expected by Cohere's reranking API.
constresponse=awaitportkey.post("/rerank",{"return_documents":false,"max_chunks_per_doc":10,"model":"rerank-english-v2.0","query":"What is the capital of the United States?","documents": ["Carson City is the capital city of the American state of Nevada.", "The Commonwealth of the Northern Mariana Islands is a group of islands in the Pacific Ocean. Its capital is Saipan.",
"Washington, D.C. (also known as simply Washington or D.C., and officially as the District of Columbia) is the capital of the United States. It is a federal district.",
"Capital punishment (the death penalty) has existed in the United States since beforethe United States was a country. As of 2017, capital punishment is legal in 30 of the 50 states."
]})
response = portkey.post("/rerank", return_documents=False, max_chunks_per_doc=10, model="rerank-english-v2.0", query="What is the capital of the United States?", documents=["Carson City is the capital city of the American state of Nevada.", "The Commonwealth of the Northern Mariana Islands is a group of islands in the Pacific Ocean. Its capital is Saipan.",
"Washington, D.C. (also known as simply Washington or D.C., and officially as the District of Columbia) is the capital of the United States. It is a federal district.",
"Capital punishment (the death penalty) has existed in the United States since beforethe United States was a country. As of 2017, capital punishment is legal in 30 of the 50 states."
] )
Next Steps
The complete list of features supported in the SDK are available on the link below.