# 🚀 Libérez tout le potentiel de votre API gateway avec l'IA : un guide simple pour créer votre première AI Gateway 🤖

- URL: https://blog.cloud-apim.com/creez-votre-premiere-ai-gateway
- Published: 2024-07-08
- Language: fr
- Authors: Thomas Delafaye, Mathieu Ancelin
- Topics: IA, LLM, API gateway, AI gateway, API, API management
- Publisher: Cloud APIM (https://www.cloud-apim.com)

---
Aujourd'hui, l'**IA** révolutionne notre façon d'interagir avec la technologie.

L'une de ses applications les plus puissantes concerne nos API gateways : l'IA peut y enrichir les fonctionnalités, renforcer la sécurité et améliorer l'expérience utilisateur.

Dans ce nouvel article, nous vous guidons pas à pas dans la création de vos premières entités de fournisseur d'IA et de contexte, pour tirer parti de l'IA dans votre API management.

## Guide pas à pas pour créer vos entités de fournisseur d'IA et de contexte

### 1\. Créez votre projet Serverless

Commencez par vous inscrire sur [**Cloud APIM**](https://www.cloud-apim.com/fr) et créez votre premier projet pour utiliser nos plugins d'IA.

Si vous n'en avez pas encore créé, suivez ces étapes :

* Rendez-vous sur [https://www.cloud-apim.com/fr](https://www.cloud-apim.com/fr)
    
* Connectez-vous à votre [tableau de bord Cloud APIM Serverless](https://console.cloud-apim.com/serverless/projects).
    
* Cliquez sur *« New project »* et saisissez le nom de votre projet.
    

### 2\. Clonez ou forkez notre dépôt Git

Rendez-vous sur notre dépôt modèle pour les plugins d'IA [https://github.com/cloud-apim/otoroshi-llm-extension-serverless-example](https://github.com/cloud-apim/otoroshi-llm-extension-serverless-example)

**Clonez-le** ou **forkez-le** vers votre dépôt personnel.

```bash
git clone https://github.com/cloud-apim/otoroshi-llm-extension-serverless-example.git
```

Ce dépôt hébergera toute la configuration de votre projet **Serverless** 😁

### 3\. Choisissez votre fournisseur d'IA

Cloud APIM prend en charge plusieurs fournisseurs, utilisables via ses plugins :

* **OpenAI**
    
* **Azure OpenAI**
    
* **Ollama**
    
* **Mistral**
    
* **Anthropic**
    

Récupérez votre token d'API afin de configurer l'entité AI Provider dans votre projet **Cloud APIM Serverless**.

### 4\. Configurez vos variables d'environnement

Sécurisons maintenant le token d'API de votre fournisseur d'IA.

Pour cela, nous allons utiliser une variable d'environnement définie comme variable secrète de votre projet.

Allez sur le tableau de bord de votre projet et cliquez sur *« Create a new environment variable »*. Nommez-la, par exemple, `AI_PROVIDER_TOKEN` et collez le token de votre fournisseur d'IA dans le champ de valeur, sous le nom.

Il ne reste plus qu'à enregistrer !

### 5\. Configurez votre entité AI Provider

Rendez-vous maintenant dans votre fichier `entities/ai.json`.

Ouvrez-le : vous allez y renseigner le nom de votre fournisseur et le token associé.

Mettez à jour la propriété `"provider"` ; par défaut, nous avons défini `"provider" : "openai"`

Mettez ensuite à jour la propriété `connection` en ajoutant l'URL de l'endpoint de l'API et la propriété `token`, liée au nom de votre variable d'environnement.

*Par exemple* : `"token": "${environment.AI_PROVIDER_TOKEN}"`

Enfin, définissez le modèle que vous souhaitez utiliser en mettant à jour la propriété options.

*Exemple* avec le modèle GPT 3.5 Turbo : `"model": "gpt-3.5-turbo"`

Voici un exemple d'entité « **AiProvider** » :

```json
{
		"_loc": {
			"tenant": "default",
			"teams": ["default"]
		},
		"id": "provider-openai",
		"name": "OpenAI",
		"description": "",
		"metadata": {},
		"tags": [],
		"provider": "openai",
		"connection": {
			"base_url": "https://api.openai.com",
			"token": "${environment.AI_PROVIDER_TOKEN}",
			"timeout": 30000
		},
		"options": {
			"model": "gpt-3.5-turbo",
			"frequency_penalty": null,
			"logit_bias": null,
			"logprobs": null,
			"top_logprobs": null,
			"max_tokens": null,
			"n": 1,
			"presence_penalty": null,
			"response_format": null,
			"seed": null,
			"stop": null,
			"stream": false,
			"temperature": 1,
			"top_p": 1,
			"tools": null,
			"tool_choice": null,
			"user": null
		},
		"kind": "AiProvider"
	}
```

**N'oubliez pas** de créer et d'adapter votre variable d'environnement pour utiliser le token de votre fournisseur d'IA.

Dans notre démonstration, nous avons choisi `AI_PROVIDER_TOKEN` comme nom de variable d'environnement.

Vous pouvez aussi stocker dans vos variables d'environnement l'URL de base de l'API, comme `https://api.openai.com` pour OpenAI, ou encore le modèle à utiliser.

### 6\. Créez l'entité de contexte

Dans votre fichier `entities/ai.json`, ajoutez une entité « **AiPromptContext** ».

Voici un exemple d'entité « **AiPromptContext** » :

```json
{
	"_loc": {
		"tenant": "default",
		"teams": ["default"]
	},
	"id": "ai-context",
	"name": "AI Context",
	"description": "",
	"metadata": {},
	"tags": {},
	"messages": [
		{
            "role": "system",
            "content": "Cloud APIM is a french company that provides API Management as a Service through managed Otoroshi instances, Serverless projects, etc"
        }
	],
	"kind": "AiPromptContext"
}
```

### 7\. Créez votre endpoint d'API

N'oubliez pas d'ajouter le plugin LLM proxy à votre route de contexte !

Voici un exemple OpenAPI qui utilise le plugin « **AiPromptContext** ».

```json
{
	"openapi": "3.1.0",
	"info": {
		"title": "AI Plugins for Cloud-APIM Serverless Projects",
		"version": "1.0.0",
		"description": "An easy getting started project template to use AI in your Cloud-APIM Serverless projects",
		"contact": {
			"name": "Cloud APIM Default contact address",
			"url": "https://www.cloud-apim.com",
			"email": "contact@cloud-apim.com"
		},
		"x-logo-none": {
			"url": "https://www.cloud-apim.com/assets/logo/cloud-apim-logo-inverted.png"
		}
	},
	"tags": [],
	"paths": {
		"/context": {
			"post": {
				"tags": [],
				"summary": "",
				"operationId": "getAIContext",
				"x-cloud-apim-backend": {
					"$ref": "#/components/x-cloud-apim-backends/mirror"
				},
				"x-cloud-apim-plugins": {
					"$ref": "#/components/x-cloud-apim-plugins/context"
				}
			}
		}
	},
	"components": {
		"x-cloud-apim-plugins": {
			"context": [
				{
					"enabled": true,
					"debug": false,
					"plugin": "cp:otoroshi.next.plugins.OverrideHost",
					"include": [],
					"exclude": [],
					"config": {}
				},
				{
					"enabled": true,
					"debug": false,
					"plugin": "cp:otoroshi_plugins.com.cloud.apim.otoroshi.extensions.aigateway.plugins.AiLlmProxy",
					"include": [],
					"exclude": [],
					"config": {
						"ref": "provider-openai"
					}
				},
				{
					"enabled": true,
					"debug": false,
					"plugin": "cp:otoroshi_plugins.com.cloud.apim.otoroshi.extensions.aigateway.plugins.AiPromptContext",
					"include": [],
					"exclude": [],
					"config": {
						"ref": "ai-context"
					}
				}
			]
		},
		"x-cloud-apim-backends": {
			"mirror": {
				"targets": [
					{
						"hostname": "mirror.otoroshi.io",
						"port": 443,
						"tls": true
					}
				],
				"root": "/",
				"rewrite": false
			}
		}
	}
}
```

### 8\. Pour aller plus loin

Vous pouvez aller plus loin en ajoutant des *clés d'API* pour sécuriser vos **endpoints d'IA**, et utiliser bien d'autres plugins proposés par **Cloud APIM**.

Les possibilités de personnalisation de vos endpoints d'API sont illimitées.

## ✨ Conclusion

Créer votre première entité de fournisseur d'IA et votre première entité de contexte peut considérablement enrichir les capacités de votre API gateway.

En intégrant l'IA, vous offrez à vos utilisateurs des expériences plus intelligentes, plus sûres et personnalisées.

Suivez les étapes de ce guide pour vous lancer dans l'IA et exploiter tout le potentiel de votre API management.

Pour vous aider à prendre en main notre nouvelle gamme de plugins, nous avons créé une playlist YouTube qui regroupe toutes nos vidéos sur l'AI Gateway.

<p class="embed embed-link"><a href="https://www.youtube.com/playlist?list=PLNHaf5rXAx3FWk7dn2fKGwQXxeLCPhZCh">https://www.youtube.com/playlist?list=PLNHaf5rXAx3FWk7dn2fKGwQXxeLCPhZCh</a></p>

### **🚀 Lancez-vous dès maintenant**

Prêt à vous lancer avec [**Cloud APIM Serverless**](https://www.cloud-apim.com/fr/serverless) ?

[**Inscrivez-vous dès maintenant**](https://console.cloud-apim.com/serverless/projects) et faites le premier pas vers un **API management** sécurisé et efficace !

### **📡 Restez informé**

Suivez notre blog pour ne rien manquer des nouveautés, astuces et bonnes pratiques autour de **Cloud APIM Serverless** et de l'**API management**.

### **🏢 À propos de Cloud APIM**

[Cloud APIM](https://www.cloud-apim.com/fr) propose des [solutions managées de pointe pour l'API management](https://console.cloud-apim.com/deployments), qui permettent aux entreprises d'exploiter toute la puissance de leurs API, simplement et efficacement. Notre engagement en faveur de l'innovation et de l'excellence nous pousse à offrir à nos clients [les outils](https://console.cloud-apim.com/serverless/projects) et [les services](https://console.cloud-apim.com/wasmo_deployments) les plus avancés, pour les aider à atteindre leurs objectifs de transformation numérique.

![](https://blog.cloud-apim.com/_astro/01-0333c0.DsU7Gazg_6iiyf.webp)