---
useLLM:
url: http://localhost:1337/v1/chat/completions
model: chocolatine-3b-instruct-dpo-revised-q4_k_m.gguf
informations: https://codimd.apps.education.fr/1oHUDQrBRQqElGerwHA1XA/download
maxTopElements: 5
maxTokens: 200
---
# Test ChatMD : utilisation d'un LLM en local
On va tester l'intégration d'un LLM en local dans chatMD.
<!--
Pour tester l'utilisation d'un LLM en ligne :
https://codimd.apps.education.fr/nVOl6sQKTfqq_OWAUmxcYg
Pour le LLM en local, j'utilise le logiciel jan.ai (multiplateforme) : https://jan.ai/
et je le configure pour pouvoir accéder à l'API :
https://jan.ai/docs/local-api
-->
<!--
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 :
llama3-8b-instruct
mistral-ins-7b-q4
…
-->
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