Cette application est un serveur HTTP au standard WSGI. Il est statique (restfull) : pour réaliser une conversation, ceci impose de gérer l’historique des échanges au niveau de l’application appelante. Loin d’être une contrainte, c’est au contraire une facilité permettant de gérer finement le contexte dans lequel sera analysée la question.
Tester WsgiChatBot (retour JSON)
Tester WsgiChatBot (réponse textuelle)
Routes
WsgiChatBot est un web service au standard WSGI (Web Server Gateway Interface) répondant en JSON à chaque question qui lui est posée par HTTP.
Les routes comprennent principalement :
GET /api/ | Message d’accueil |
GET /api/version/ | Version du service |
GET /api/ping | Test fonctionnel. Retourne le temps d’exécution (ms) ou 0 en cas d’erreur |
GET /api/themes/ | Liste les thèmes (ensemble de données d’une entité) disponibles. |
GET /api/details/ | Liste les différents niveaux d’élaboration de la réponse. |
GET /api/history/ | Retourne l’historique de la conversation comprimé. |
POST /api/post/ | Exécute la requête passée par POST. paramètres du post : voir ci-dessous. |
POST, action = ’query’
Tous les paramètres du post sont du type String.
Paramètre | Description | |
action | obligatoire | ’query’ : La seule action dans l’état actuel du développement. |
theme | obligatoire | Espace de données (un répertoire sur le serveur). |
prompt | obligatoire | La requête de l’utilisateur |
detail | option | Niveau de détail de la réponse (voir la route ’details’). |
history | option | Contexte (ou historique) dans lequel la question est analysée. |
language | option | Langage imposé pour la réponse. |
La réponse au format JSON est un tableau de trois éléments :
– response : une chaîne au format MarkDown,
– history : une chaîne au format JSON,
– ws_error : une simple chaîne décrivant une éventuelle erreur.
Exemple d’appel (PHP)
- 'action' => 'query',
- 'theme' => $theme, // Theme du chat
- 'prompt' => $prompt, // Qu'est-ce que OAuthSD ?
- 'detail' => 'Normal',
- 'history' => $history,
- 'language' => "Français"
- );