> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Portkey

> Simplifiez le développement de l’IA en utilisant Portkey AI Gateway avec Novita AI pour des performances rapides, sécurisées et fiables.

Portkey AI Gateway transforme la manière dont les développeurs travaillent avec des modèles d’IA comme Novita AI, en fournissant une interface unifiée pour accéder facilement à plusieurs modèles de langage avec un routage rapide, sécurisé et fiable. Cette intégration simplifie le développement de l’IA et améliore les performances des applications.

Ce guide vous accompagnera dans la configuration de Portkey AI Gateway, puis dans l’intégration de l’API Novita AI avec Portkey.

## Comment configurer Portkey AI Gateway

La configuration de Portkey AI Gateway est simple et efficace, et ne nécessite que trois étapes clés : configurer la passerelle, envoyer votre première requête, puis optimiser le routage et les garde-fous pour des performances fluides.

### Étape 1 : Configurer votre AI Gateway

Pour exécuter la passerelle localement, assurez-vous que Node.js et npm sont installés sur votre système. Une fois prêt, exécutez la commande suivante :

```jason theme={"system"}
npx @portkey-ai/gateway
```

Une fois la passerelle démarrée, deux URL clés s’afficheront :

* The Gateway: `http://localhost:8787/v1`
* The Gateway Console: `http://localhost:8787/public/`

### Étape 2 : Effectuer votre première requête

Commencez par installer la bibliothèque Python Portkey AI :

```python theme={"system"}
pip install -qU portkey-ai
```

Ensuite, exécutez le code Python suivant pour envoyer votre première requête :

```python theme={"system"}
from portkey_ai import Portkey

# OpenAI compatible client
client = Portkey(
    provider="openai", # or 'anthropic', 'bedrock', 'groq', etc
    Authorization="sk-***" # the provider API key
)

# Make a request through your AI Gateway
client.chat.completions.create(
    messages=[{"role": "user", "content": "What's the weather like?"}],
    model="gpt-4o-mini"
)
```

Surveillez facilement tous vos journaux locaux dans un emplacement centralisé à l’aide de la Gateway Console à l’adresse : `http://localhost:8787/public/`.

### Étape 3 : Routage et garde-fous

Portkey AI Gateway vous permet de configurer des règles de routage, d’ajouter des fonctionnalités de fiabilité et d’appliquer des garde-fous. Voici un exemple de configuration :

```python theme={"system"}
config = {
  "retry": {"attempts": 5},

  "output_guardrails": [{
    "default.contains": {"operator": "none", "words": ["Apple"]},
    "deny": True
  }]
}

# Attach the config to the client
client = client.with_options(config=config)

client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Reply randomly with Apple or Bat"}]
)

# In this example, the guardrail denies all replies containing "Apple", so the response would always be "Bat". The retry configuration would attempt the request up to 5 times before giving up.
```

<Frame>
  <img src="https://mintcdn.com/novitaai/AUzGFUdz_qhrXjaJ/images/third-party/portkey-gateway.png?fit=max&auto=format&n=AUzGFUdz_qhrXjaJ&q=85&s=f871cd472dd92dfd665afc2a6889f4c8" alt="" width="1210" height="412" data-path="images/third-party/portkey-gateway.png" />
</Frame>

## Comment intégrer l’API Novita AI avec Portkey

Pour accéder à l’API Novita AI via Portkey AI Gateway, suivez ces étapes :

### Étape 1 : Installer le Portkey SDK

Intégrez le Portkey SDK à votre application pour interagir facilement avec l’API de Novita AI via la passerelle de Portkey.

**Node.JS**

```jason theme={"system"}
npm install --save portkey-ai
```

**Python**

```python theme={"system"}
pip install portkey-ai
```

### Étape 2 : Initialiser Portkey avec la clé virtuelle

Pour intégrer Novita AI avec Portkey, récupérez votre clé API LLM depuis [ Novita AI ](https://novita.ai/settings/key-management) et ajoutez-la à Portkey afin de générer la clé virtuelle.

**Node.JS SDK**

```jason theme={"system"}
import Portkey from 'portkey-ai'

const portkey = new Portkey({
  apiKey: "PORTKEY_API_KEY",  // Replace with your Portkey API key
  virtualKey: "VIRTUAL_KEY"   // Replace with your virtual key for Novita AI
})
```

**Python SDK**

```python theme={"system"}
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 Novita AI
)
```

### Étape 3 : Appeler Chat Completions avec Novita AI

Utilisez l’instance Portkey pour envoyer des requêtes à Novita AI. Si nécessaire, vous pouvez remplacer la clé virtuelle directement dans l’appel API.

**Node.JS SDK**

```jason theme={"system"}
const chatCompletion = await portkey.chat.completions.create({
  messages: [{ role: 'user', content: 'Say this is a test' }],
  model: 'Nous-Hermes-2-Mixtral-8x7B-DPO'
});

console.log(chatCompletion.choices);
```

**Python SDK**

```python theme={"system"}
completion = portkey.chat.completions.create(
    messages= [{ "role": 'user', "content": 'Say this is a test' }],
    model= 'reka-core'
)

print(completion)
```
