Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including Mistral AI APIs.
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.
{% hint style="info" %}
Provider Slug**: mistral-ai
**
{% endhint %}
Portkey provides a consistent API to interact with models from various providers. To integrate Mistral AI with Portkey:
Add the Portkey SDK to your application to interact with Mistral AI's API through Portkey's gateway.
{% tabs %} {% tab title="NodeJS" %}
npm install --save portkey-ai
{% endtab %}
{% tab title="Python" %}
pip install portkey-ai
{% endtab %} {% endtabs %}
Set up Portkey with your virtual key as part of the initialization configuration. You can create a virtual key for Mistral AI in the UI.
{% tabs %} {% tab title="NodeJS SDK" %}
import Portkey from 'portkey-ai'
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"]
virtualKey: "VIRTUAL_KEY" // Your Mistral AI Virtual Key
})
{% endtab %}
{% tab title="Python SDK" %}
from portkey_ai import Portkey
portkey = Portkey(
api_key="PORTKEY_API_KEY", # Replace with your Portkey API key
virtual_key="VIRTUAL_KEY" # Replace with your virtual key for Mistral AI
)
{% endtab %} {% endtabs %}
Use the Portkey instance to send requests to Mistral AI. You can also override the virtual key directly in the API call if needed.
{% hint style="info" %} You can also call the new Codestral model here! {% endhint %}
{% tabs %} {% tab title="NodeJS SDK" %}
const chatCompletion = await portkey.chat.completions.create({
messages: [{ role: 'user', content: 'Say this is a test' }],
model: 'codestral-latest',
});
console.log(chatCompletion.choices);
{% endtab %}
{% tab title="Python SDK" %}
completion = portkey.chat.completions.create(
messages= [{ "role": 'user', "content": 'Say this is a test' }],
model= 'codestral-latest'
)
print(completion)
{% endtab %} {% endtabs %}
Using Portkey, you can also call Mistral API's new Codestral endpoint. Just pass the Codestral URL https://codestral.mistral.ai/v1
with the customHost
property.
{% tabs %} {% tab title="NodeJS SDK" %}
import Portkey from 'portkey-ai'
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY",
virtualKey: "MISTRAL_VIRTUAL_KEY",
customHost: "https://codestral.mistral.ai/v1"
})
const codeCompletion = await portkey.chat.completions.create({
model: "codestral-latest",
messages: [{"role": "user", "content": "Write a minimalist Python code to validate the proof for the special number 1729"}]
});
console.log(codeCompletion.choices[0].message.content);
{% endtab %}
{% tab title="Python SDK" %}
from portkey_ai import Portkey
portkey = Portkey(
api_key="PORTKEY_API_KEY",
virtual_key="MISTRAL_VIRTUAL_KEY",
custom_host="https://codestral.mistral.ai/v1"
)
code_completion = portkey.chat.completions.create(
model="codestral-latest",
messages=[{"role": "user", "content": "Write a minimalist Python code to validate the proof for the special number 1729"}]
)
print(code_completion.choices[0].message.content)
{% endtab %} {% endtabs %}
Here's a handy guide for when you might want to make your requests to the Codestral endpoint v/s the original Mistral API endpoint:
For more, check out Mistral's Code Generation guide here.
You can manage all prompts to Mistral AI in the Prompt Library. All the current models of Mistral AI 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.
The complete list of features supported in the SDK are available on the link below.
{% content-ref url="../../api-reference/portkey-sdk-client.md" %} portkey-sdk-client.md {% endcontent-ref %}
You'll find more information in the relevant sections: