# Test ChatMD : utilisation LLM en ligne
On va tester l'intégration d'un LLM dans chatMD.
<!--
Pour tester l'utilisation d'un LLM en local :
https://codimd.apps.education.fr/unR-D6xRSMOnvySa5-kCdg?both
Pour le LLM en ligne, j'utilise Cohere car il y a un plan gratuit pour tester une appli (ce n'est donc pas destiné à un usage public : c'est juste pour tester)
https://cohere.com/
Il faut auparavant créer un compte et récupérer sa clé API :
https://dashboard.cohere.com/api-keys
Pour le nom du modèle, attention, il faut mettre le nom exact du modèle (en tenant compte de la casse : si vous mettez une majuscule à la place d'une minuscule, cela ne marchera pas)
-->
<!--
Une fois qu'on a récupéré une clé API, on va la chiffrer avec un mot de passe, en utilisant cet outil :
https://codepen.io/eyssette/pen/JjQQLKV
On rentre la clé chiffrée dans “encryptedAPIkey”.
Vous pourrez ensuite communiquer le mot de passe aux personnes qui utiliseront votre chatbot.
Attention : votre clé API est seulement semi-sécurisée.
Les personnes qui n'ont pas le mot de passe ne peuvent pas récupérer votre clé API, mais si on connaît le mot de passe, on peut récupérer la clé API avec quelques connaissances informatiques.
-->
<!--
informations:
on peut mettre l'URL d'un fichier qui contient les informations pour le RAG
OU "useFile" pour utiliser le fichier RAG.js local
OU directement du texte
-->
<!--
Cela peut être intéressant de tester avec plusieurs modèles.
Cohere dispose des modèles suivants :
command-light / command / command-r / command-r-plus
-->
1. [Déclenchement du LLM avec un bouton à cliquer](Avec un bouton)
2. [En cas de réponse non trouvée](Réponse non trouvée)
3. [Dans une réponse](Dans une réponse)
4. [Déclenchement par l'utilisateur du LLM](Par l'utilisateur)
5. [Toujours répondre avec le LLM](Toujours)
## Avec un bouton
Voici des informations assez sommaires sur Epicure : c'est un philosophe grec.
1. [J'aimerais en savoir plus](!useLLM Explique qui est Epicure, expose les grandes idées de sa philosophie)
## Réponse non trouvée
Posez une question dont il n'y a pas la réponse dans ce chatbot
## Dans une réponse
On peut utiliser un LLM dans une réponse, en utilisant la syntaxe suivante :
`!useLLM`
Ceci est mon prompt.
Le prompt peut être sur plusieurs lignes.
On peut aussi intégrer des variables dynamiques, si on veut par exemple pouvoir évaluer une réponse de l'utilisateur.
`END !useLLM`
On peut ajouter du texte en Markdown avant ou après, et même utiliser plusieurs fois un LLM dans sa réponse.
## Par l'utilisateur
Posez une question ainsi : `!useLLM Votre question`
## Toujours
On peut configurer le chatbot pour qu'il utilise toujours le LLM. Il faut alors mettre le paramètre `always: true` dans l'en-tête YAML (ce n'est pas recommandé)
{"useLLM":{"url":"https://api.cohere.com/v1/chat","encryptedAPIkey":"BBteIBEIORkKKkJyKlsrFBZCBgEVKQNYCBodRFRED1gdPUFBLApWRg==","model":"command-r-plus","informations":"https://codimd.apps.education.fr/1oHUDQrBRQqElGerwHA1XA/download","maxTopElements":5,"maxTokens":300}}