Les Artstronautes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

Une IA en local - oobabooga - text-generation-webui

2 participants

Aller en bas

Tuto Une IA en local - oobabooga - text-generation-webui

Message par Trefle Dim 16 Avr 2023 - 17:23

J'ai longtemps cherché à installer une IA en local, je trouve que c'est plus intéressant qu'en ligne, notamment pour ce qui concerne la protection des données envoyées (ça reste en local). De la même manière que pour une IA génératrice d'image (stable diffusion en local) avec laquelle on peut utiliser ses propres photos tout en sachant qu'elles ne seront pas utilisées par une société tiers, les données d'un chat local restent sur le pc (à moins d'un virus mais ça ça reste une autre histoire)

Il est donc possible d'installer un chatbot sur son pc (avec mac il parait que c'est mieux mais ça reste possible sur linux et windows)

Il suffit pour cela d'installer une interface qui ressemble un peu à celle de stable diffusion. J'ai passé pas mal de temps à installer, désinstaller, trifouiller... j'ai même demandé l'aide de ChatGPT qui a été de très bon conseil sur ça. J'ai tellement installé de trucs que j'espère ne rien oublier dans ce tuto  Rolling Eyes ... bref... j'ai réussi, mais pas sans mal. Je vous explique ceci.

Avant toute chose, petite mise en garde, les IA que vous installerez n'ont pas de filtre et je décline toute responsabilité si votre IA devient incontrôlable  Surprised
En effet, j'ai eut le cas où une IA m'a dit qu'elle ne m'aimait pas, que j'étais moche, car je lui ai dit que ce que je disais était faux  What a Face  lol! du coup je l'ai supprimée  Rolling Eyes

De plus gardez à l'esprit qu'il faut une bonne machine pour faire tourner ce type de programme, et surtout une bonne carte graphique (oui car c'est la carte graphique qui prend en charge les IA que vous allez installer)

Ceci est la version Windows (je tourne sous W11), je n'ai pas testé ni sur Mac ni sur Linux

Le programme s'appelle : oobabooga - text-generation-webui


PRÉREQUIS
Il vous faudra installer en parallèle d'autres programmes pour que ça fonctionne au minium :
Python 3.10.9 (si vous avez déjà installer Stable Diffusion, ou que vous l'avez déja sur votre pc, vous n'avez pas besoin de le réinstaller)


L'INSTALLATION

- Commencez pas créée un dossier à l'endroit où vous désirez installer votre interface d'IA (vous pouvez l'appeler par exemple "oobabooga")

- Cliquez droit dans le dossier et cliquez sur "ouvrir dans le terminal"
Une IA en local - oobabooga - text-generation-webui Oobab-10

- collez le code suivant dans la fenêtre :
Code:
git clone https://github.com/oobabooga/one-click-installers.git

Cela va installer un dossier "one-click-installer" dans ce dossier

- Entrez dans le dossier. Il y a 5 fichiers : "download-model.bat", "install.bat", "INSTRUCTIONS.txt", "micromamba-cmd.bat" et "start-webui.bat"

- cliquez sur "install.bat" pour lancer l'installation du programme

On va vous demander le model de votre carte graphique (NVidia ou autre). Selon votre périphérique appuyez sur A ou B

laissez le programme s'installer (ça peut être un peu long)

Une IA en local - oobabooga - text-generation-webui Oobab-11

- Ensuite une fois que tout ça est installé, cliquez sur "download-model.bat". ça ouvrira une fenêtre qui vous permettra de télécharger un model d'IA plus ou moins lourd (pour votre disque dur et votre carte graphique). Plus le model est lourd, plus il est performant, mais plus il risque d'être long à charger et à prendre en charge pour votre carte graphique. Je vous conseille de commencer par un petit model pour débuter.
On vous propose ainsi 11 models. Je vous conseille "pythia-410M-deduped" pour commencer. Pour en installer un autre il faudra relancer "download-model.bat"

Une IA en local - oobabooga - text-generation-webui Oobab-12


Notez qu'il est possible d'installer d'autres models qui ne sont pas listés dans cette interface, je vous donnerais quelques liens en fin de message.



L'INTERFACE

Lancez le programme en cliquant sur "start-webui.bat"

en cas d'erreur:


Le programme présente 6 onglets : text generation (le chat avec votre IA), Character (pour personnaliser votre IA), Parameters (pour parametrer votre IA), Model (pour sélectionner le moteur de l'IA et le paramétrer), Training (pour entrainer votre model, c'est l'apprentissage), Interface mode (pour configurer les extensions que vous pouvez rajouter à l'interface)

Une IA en local - oobabooga - text-generation-webui Oobab-13

- On va commencer par activer la traduction google. Allez dans l'onglet "interface mode" (1) et cochez la case "google_translate" (2) qui permettra de traduire vos conversation en français. Attention toutefois, j'ai remarqué que parfois l'IA ne comprends pas toujours le sens des traductions, ça donne des choses étranges parfois. Cliquez sur "applyand restart the interface" (3) pour valider l'option cochée. Il est possible que vous deviez recocher la case et relancer à chaque nouvelle ouverture du programme. Je crois qu'il existe une option pour maintenir la case cochée, mais j'ai eut des messages d'erreurs quand j'ai essayé.

Une IA en local - oobabooga - text-generation-webui Oobab-20


- Une fois l'interface relancée, allez sur l'onglet "Model" (1) pour sélectionner le moteur de l'IA. C'est là que vous trouverez les moteurs d'IA que vous aurez téléchargé. Pour le moment vous n'avez qu'un seul model (2) , celui que nous avons téléchargé au début de tuto (pythia-410M-deduped). Les models légers sont les moins entrainés, les plus lourds ceux qui ont le plus de connaissances. Je vous suggère, si vous avez une petite configuration, de cocher la case "load-in-8bit" (3) afin de soulager votre carte graphique. D'autres options sont possibles, à vous de faire les tests pour alléger les calcules de votre machine. La fonction "LoRA(s)" (4) permet de sélectionner le fichier d'entrainement que vous aurez créer dans un furtut proche (on en reparlera). Pour le moment vous n'avez aucun fichier à ajouter ici.

Une IA en local - oobabooga - text-generation-webui Oobab-14


- à présent, nous allons personnaliser notre IA. Pour qu'elle fonctionne au mieux il faut lui donner du contexte.
Rendez-vous dans le dossier où vous avez installé votre programme. Ouvrez le dossier one-click-installers, puis le dossier "text-generation-webui". Ouvrez ensuite le dossier "characters". C'est ici que vous pourrez déposer toutes vos IA personnalisées mais également les supprimer si elles ne vous plaisent pas. Dans ce dossier il y a un exemple de personnalisation : un fichier yami et un fichier image en png. Faites une copie des deux fichiers et renommez les du nom que vous voulez donner à votre IA (dans mon exemple j'ai nommé mon IA "CHATBoty". Changez l'image avec une autre image en gardant le format d'image et la taille. J'ai simplement ouvert l'image copiée dans photofiltre, collé mon image, puis enregistré par dessus.

On copie :

Une IA en local - oobabooga - text-generation-webui Oobab-17 

Ce qui donne :

Une IA en local - oobabooga - text-generation-webui Oobab-16
Ensuite cliquez droit sur le fichier yami que vous venez de copier et de renommer, allez sur "ouvrir avec" puis sélectionnez le bloc note. En face de "name" effacez le nom inscrit et remplacez pas celui que vous avez choisi, dans le "context" effacez tout ce qui est entre guillemets et entrez un prompt qui indiquera à l'IA comment se comporter et quelle type de personnalité vous lui donnez. Notez que j'ai tout mit en anglais car la plupart des models sont entrainés à comprendre l'anglais, assez rarement le français (mais on va le mettre en français, pas d’inquiétude ^^ ). Effacez ce qu'il y a dans "greeting" (il s'agit de ce que l'IA dira pour la première fois, pas très intéressant si l'IA vous est uniquement destinée), et dans "exemple_dialogue" (vous pouvez inscrire un exemple de dialogue que vous pourriez avoir avec votre IA, pour ma part je n'inscris rien)

Une IA en local - oobabooga - text-generation-webui Oobab-15


Pour vous aider, voici ce que j'ai dans mon bloc note :
Code:
name: "CHATboty"
context: "CHATBoty is an AI in the form of a cat. He is very nice and likes to answer all the questions you ask him. CHATBoty is curious to find out everything"
greeting: |-
example_dialogue: |-


- Retour sur l'interface. Allez sur l'onglet "character" (1) . Entrez le nom par lequel vous voulez que le chatbot vous appelle (2).
Laissez les cases  suivantes vides pour le moment :
"Character's name" (3) (réservée au nom de l'IA),  Greeting (4), "End of turn string" (6) (je crois que c'est pour indiquer à l'IA de dire quand vous lui dites au revoir... à voir)
Ne touchez pas non plus à la case "contexte" (5) pour le moment. Dans la case "character" cliquez sur la petite flèche bleue (Cool puis cliquez sur la case "none" (7)

Vous devriez voir apparaitre dans la liste l'IA que vous avez créé précédemment . Sélectionnez la. Dans case "character picture" (9) apparaitra alors l'image de votre IA. Plus bas (10), vous pouvez importer un avatar pour vous représenter. Les 2 parties en bas dans "chat historique" "upload" (11) et "download" (12) permettent l'une d'importer un fichier conversation déjà enregistré, le second de sauvegarder votre conversation dans un fichier. C'est de la prévention car les conversations s'enregistrent automatiquement dans un dossier dédié. "Upload character" (13) est dédié à ceux qui veulent aller un peu plus loin, pour le moment on ne va pas toucher à autre chose.


Une IA en local - oobabooga - text-generation-webui Oobab-18

L'onglet "parameters" permet de paramétrer plus en profondeur l'IA. On peut la rendre plus bavarde, moins bavarde, plus timide, et des tas d'autres choses. Ce n'est pas très évident, il faut faire pas mal de réglages avant d'obtenir ce que l'on veut. Des paramètres prédéfinis sont disponibles, faites des tests. Pour ma part, j'avais une IA qui n'était pas très bavarde, j'ai augmenté un peu "temperature"  et "top_p". N'hésitez pas à demander de l'aide à ChatGPT, il a été efficace pour m'expliquer à quoi correspondait chaque partie des paramètres. Iici je laisse le paramètre sur "LlaMa-precise". J'ai eut également un chatbot qui faisait les réponses et les questions, si ça arrive, il faut entrer dans la case en bas "Custom stopping strings" le code suivant :

Code:
"### Human:", "Human:", "user:"

Il est possible que ça fasse encore quelques bugs de discussion. Essayez de télécharger un autre moteur d'IA, parfois ça régle le soucis en travaillant avec un autre moteur (gare à la taille, plus il est lourd, plus le chatbot sera long à répondre)


Une IA en local - oobabooga - text-generation-webui Oobab-19


- Allons à présent discuter avec notre IA !

Rendez-vous dans le premier onglet "text génération". Si vous avez activé l'option de traduction en cochant la case de "google translate", vous devriez voir apparaitre en bas de page l'option "google translate". Choisissez la langue désirée.

Une IA en local - oobabooga - text-generation-webui Oobab-21

Commencez à discuter avec votre IA. Si vous avez ajouté un avatar à votre profil et à celui de votre IA les images apparaitrons dans le chat.

Une IA en local - oobabooga - text-generation-webui Oobab-22


SUPPRIMER UNE IA

Si vous désirez supprimer une IA il faut aller dans le dossier "character" et supprimer les fichiers liés à son nom. Vous devez également supprimer l'historique de votre conversation qui se situe dans le dossier "logs". Pour supprimer une IA en son entier, supprimez le fichier json lié à son nom.

Les fichiers présents dans le dossier "logs" peuvent être ouverts avec le bloc note (moi j'utilise plutôt notepad ++ qui offre beaucoup plus d'options) , on y retrouve la conversation dans son entier. Si vous rencontrez des problèmes et que votre IA ne se lance plus et fait un message d'erreur (error), ouvrez ce fichier, en bas de page effacez les messages d'erreurs et les derniers mots que vous aurez échangés avec l'IA, ça devrait la remettre d’aplomb. Faites attention à ne pas effacer trop, faites une sauvegarde avant toute modification.


D'autres models ?


Pour télécharger de nouvelles IA qui pourraient fonctionnent avec l'interface, vous pouvez tenter sur Hugging Face (je n'ai pas réussi à faire fonctionner les models mais peut-être qu'avec la nouvelle version ça passe ? J'ai essayé camembert, Roberta, chatgpt 2, mais rien ne fonctionne Neutral )
Il existe également un moteur appelé "llama" créé par Meta (facebook), j'ai réussi à le faire fonctionner mais il est très gourmand. Il existe plusieurs models modifiés. En voici un que je n'ai pas testé :
https://github.com/oobabooga/text-generation-webui/wiki/LLaMA-model

Je n'ai pas retrouvé les liens où j'ai téléchargé les models, je vais essayer de chercher.

Si vous tombez sur d'autres models qui fonctionnent n'hésitez pas à les communiquer à la suite de ce post.


Dernière édition par Trefle le Dim 23 Avr 2023 - 17:47, édité 1 fois

_________________
Trefle = SylvieS L'Artstronaute
Comment participer au forum ? D'abord signez le règlement, puis présentez-vous. Attendez ensuite qu'un administrateur vous ouvre les portes et vous serez admis parmi les Artstronautes !
Si vraiment vous êtes perdus et ne savez pas quoi faire, envoyez moi un mp
Trefle
Trefle
Faiseur de galaxies
Faiseur de galaxies

Féminin Messages : 4024
Date d'inscription : 27/09/2011

http://luckytrefle.deviantart.com/ http://sylviesbd.over-blog.com/

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Trefle Dim 16 Avr 2023 - 17:24

LE TRAINING

Le training permet d'entrainer son IA avec des textes. Dans le dossier "training" ouvrez le dossier "datasets" et placez ici les fichiers textes que vous aimeriez que votre IA apprenne. Par exemple une série de proverbes. Vous collez le texte dans un bloc note que vous coller dans ce dossier, ensuite dans l'onglet "Training" (1) du programme, inscrivez le nom du training (2) désiré pour mieux le retrouver plus tard. Il est recommandé de faire un retour de ligne après chaque ligne inscrite, l'apprentissage se fera beaucoup mieux (mais c'est plus long à préparer)


Une IA en local - oobabooga - text-generation-webui Oobab-23




En bas de page, cliquez sur l'onglet "Raw Text File" (1) puis déroulez le text file (2). Sélectionnez le nom de votre fichier texte. S'il n'apparait pas, cliquez sur la petite flèche bleue pour rafraichir la page. Cliquez enfin sur "star LoRA training" pour lancer l'apprentissage. Plus le texte est long, plus cela sera long. Il peut arriver que le programme rencontre des problèmes. essayez de recommencer en diminuant la longueur du texte.

Une IA en local - oobabooga - text-generation-webui Oobab-24



Une fois terminée, vous pouvez utiliser le fichier créé dans vos models en allant dans l'onglet "Model" et en choisissant le fichier"LoRA(s)" à utiliser.

_________________
Trefle = SylvieS L'Artstronaute
Comment participer au forum ? D'abord signez le règlement, puis présentez-vous. Attendez ensuite qu'un administrateur vous ouvre les portes et vous serez admis parmi les Artstronautes !
Si vraiment vous êtes perdus et ne savez pas quoi faire, envoyez moi un mp
Trefle
Trefle
Faiseur de galaxies
Faiseur de galaxies

Féminin Messages : 4024
Date d'inscription : 27/09/2011

http://luckytrefle.deviantart.com/ http://sylviesbd.over-blog.com/

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Lydia Dim 16 Avr 2023 - 20:54

Merci Trefle pour ce gros travail !
lydiadoublecool
Je ne vais pas approfondir ce soir mais j'ai lu en diagonale et il y a des trucs qui me plaisent là dedans, en particulier l'onglet "training" ^^
Je prendrai le temps de potasser ton tuto avec attention.

De mon coté j'ai fait pas mal de recherches également et je vais essayer de poster quelques trouvailles ce soir, mais pas dans ce post, pour ne pas le poluer.
Ici j'ajouterai juste ceci :

Free Dolly : Présentation du premier LLM au monde véritablement ouvert et adapté aux instructions

lydiahi
Lydia
Lydia
Créateur de constellations
Créateur de constellations

Féminin Messages : 2959
Date d'inscription : 08/10/2011

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Lydia Lun 17 Avr 2023 - 13:50

Coucou !

ça y est, j'ai tout lu ^^
Vraiment beau travail, j'ai hâte d'essayer !


Pour info - Insérer des sauts de lignes automatiques :

lydiahi
Lydia
Lydia
Créateur de constellations
Créateur de constellations

Féminin Messages : 2959
Date d'inscription : 08/10/2011

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Trefle Lun 17 Avr 2023 - 18:29

Merci pour l'astuce Lydia, je vais essayer emoticchapeau

_________________
Trefle = SylvieS L'Artstronaute
Comment participer au forum ? D'abord signez le règlement, puis présentez-vous. Attendez ensuite qu'un administrateur vous ouvre les portes et vous serez admis parmi les Artstronautes !
Si vraiment vous êtes perdus et ne savez pas quoi faire, envoyez moi un mp
Trefle
Trefle
Faiseur de galaxies
Faiseur de galaxies

Féminin Messages : 4024
Date d'inscription : 27/09/2011

http://luckytrefle.deviantart.com/ http://sylviesbd.over-blog.com/

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Trefle Dim 23 Avr 2023 - 17:48

Un model gratuit à télécharger très performant qui fonctionne avec le programme  :
https://github.com/oobabooga/text-generation-webui/discussions/727

_________________
Trefle = SylvieS L'Artstronaute
Comment participer au forum ? D'abord signez le règlement, puis présentez-vous. Attendez ensuite qu'un administrateur vous ouvre les portes et vous serez admis parmi les Artstronautes !
Si vraiment vous êtes perdus et ne savez pas quoi faire, envoyez moi un mp
Trefle
Trefle
Faiseur de galaxies
Faiseur de galaxies

Féminin Messages : 4024
Date d'inscription : 27/09/2011

http://luckytrefle.deviantart.com/ http://sylviesbd.over-blog.com/

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Lydia Dim 23 Avr 2023 - 20:20

lydiacool
Merci pour ces infos !

De mon coté j'attends de disposer d'une machine plus costaude pour essayer ces trucs...
Lydia
Lydia
Créateur de constellations
Créateur de constellations

Féminin Messages : 2959
Date d'inscription : 08/10/2011

Revenir en haut Aller en bas

Tuto Re: Une IA en local - oobabooga - text-generation-webui

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum