Installation d'un LLM en Local
Résoluuniuc Messages postés 304 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 27 avril 2025 - 2 avril 2025 à 11:06
- Installation d'un LLM en Local
- Appdata local - Guide
- Ip local - Guide
- Local send - Télécharger - Divers Utilitaires
- Partager un dossier en reseau local - Guide
- Installation windows 10 sans compte microsoft - Guide
5 réponses
31 mars 2025 à 15:25
Bonjour,
Si tu ne précises pas de quel LLM tu parles, ni dans quel contexte (quelle machine, quel système d'exploitation, dans quel but, quel est message d'erreur) difficile de te guider.
Bonne chance
Modifié le 1 avril 2025 à 12:18
Merci pour le retour c'est déjà çà,
Alors à ma connaissance peut importe le LLM.
Pour ma part j'utilise les safetensors LFS, je fuis les GGUF.
La machine : Windows 10, i9-13980HX, SSD 7000Mb/s et RTX 4090 16Go Vram.
Le système des LLM Debian 12 sous WSL2.
Le but, simple donner un accès total au llm à un dossier afin qu'il puisse écrire, lire et modifier divers fichier MarkDown ou .json. Dans un premier temps je ne pense pas utiliser une base vectoriel.
Entre temps je me suis penché sur la question, je testais open-webui (véritable usine à gaz ultra lente) et text-generation-webui (qui lui fonctionne plutôt bien, mais fait de briques et de broques dès qu'on veut pousser un peu plus loin l'utilisation).
Solution retenue pour ma part, passer directement en mode console pour mettre en place mes besoins, et par la suite coder une WebUI.
C'est peut être une mauvaise approche de ma part, ça ne fait qu'une semaine et demi que je me penche sur le sujet.
Je suis ouvert à toutes idées, là mon prochain projet en plus du dossier ouvrir une connexion internet.
1 avril 2025 à 11:50
bonjour,
si je devine ce que tu n'expliques pas, tu souhaites qu'un logiciel tournant sous Linux puisse accéder à un dossier sous Windows. ai-je bien deviné?
Modifié le 1 avril 2025 à 13:49
Bonjour,
Non je pense que j'ai bien expliqué, mais tout le monde focalise dossier et wsl.
Alors qu'il faut surtout se focaliser sur LLM (Large Language Model)
Deuxième chose sur la quelle focaliser c'est safetaensors, ce qui laisse entendre que l'on va utiliser transformers (dans mon cas), on pourrait utiliser aussi vLLM.
Mais la mécanique pour atteindre le dossier serait relativement la même.
Je déteste ce que je vais dire, parce que le mot est galvaudé.
Ce que tu appelle logiciel dans mon cas, c'est une IA.
Nativement un LLM ne va pas fouiller dans des dossiers posés sur sa distro.
1 avril 2025 à 14:37
Mieux tu expliques, moins je comprends.
Modifié le 1 avril 2025 à 15:10
Bonjour,
J'ai failli poster plus "grave" mais je me suis ravisé.
Disons qu'il y a ce petit goût de "je te prends de haut", "contentez-vous de répondre simplement, tout ça n'est pas de votre niveau"
Je vais à minima poser une piste Github (lien) (à laaaaargement adapter mais y a toute la logique de lecture et parcours d'un dossier pour alimenter un LLM). Ce second lien [lien) apporte une toute autre approche avec toute sa pile de commentaires qui ajoutent du contexte d'exécution. On verra pour "plus" (ou pas) en fonction de l'évolution du ton employé. A minima ton post m'est sauvegardé.
Les 2 helpers qui t'ont aidé ont certainement un meilleur niveau de programmation.
Si tu n'es pas compris c'est que tu n'es pas clair, ça ne va pas plus loin que ça.
Modifié le 2 avril 2025 à 14:11
Déjà merci pour ta réponse.
"J'ai failli poster plus "grave" mais je me suis ravisé."
Tu aurais pu le faire.
"Si tu n'es pas compris c'est que tu n'es pas clair, ça ne va pas plus loin que ça."
Je reconnais, je n'aurais jamais du donner de détail sur la machine et rester très basique. J'ai un LLM local et je voudrais qu'il puisse manipuler des fichiers qui se trouve dans un dossier.
"Les 2 helpers qui t'ont aidé ont certainement un meilleur niveau de programmation."
C'est bien possible.
"Disons qu'il y a ce petit goût de "je te prends de haut", "contentez-vous de répondre simplement, tout ça n'est pas de votre niveau"
Je ne prends pas de haut (si en vrai, je l'ai fait, je me suis même dit que j'abusais, mea culpa).
Mais c'est usant d'avoir un premier post qui dit clairement : "Je fais ce petit post pour savoir s'il y a des gens qui se sont déjà penchés sur l'installation d'un LLM sur un ordinateur." Et que toutes les réponses soient sur un autre sujet.
Je viens de lire le script, c'est en fait un script de training LLama2 qui va passer par hugging face hub afin de gérer et quantifier les Lora et la seule partie lier au dossier c'est celle ou il va stocker les checkpoint dans un dossier via l'argument output_dir si j'ai bien compris.
Mais je peux me tromper.
1 avril 2025 à 12:35
Bonjour,
Si je comprends bien, la question a plus à voir avec comment bien utiliser WSL que déployer un LLM à proprement parler.
Je ne sais pas quel est ton besoin, mais il existe également des solutions en ligne, par exemple Google Colab. Cette vidéo pourrait t'intéresser.
Bonne chance
Modifié le 2 avril 2025 à 14:10
Bonjour,
Encore merci pour ta réponse, ça comble quand même un peu le vide.
Non en fait, on est juste un cran ou deux au dessus.
Je me disais que peut être des gens intéressait au sujet avec se qui se passe entre free.fr et MistralAi.
Mais je pense que ce n'est pas trop l'endroit pour ce genre de question.
Il est encore trop tôt.
Je pense que la réponse ce trouve plus en lignes de code.
import os import json import torch import random import gc import requests import time from datetime import datetime from typing import List, Dict, Any, Tuple, Optional from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer, BitsAndBytesConfig from peft import get_peft_model, LoraConfig, TaskType, PeftModel, PeftConfig from datasets import Dataset from huggingface_hub import snapshot_download BLABLABLA ......... training_args = TrainingArguments( output_dir=f"{self.memory_path}/models/evolution_{self.evolution_counter}", BLABLABLA ......... with torch.no_grad(): output = self.model.generate( inputs["input_ids"], max_new_tokens=512, temperature=0.9, top_p=0.95, do_sample=True, pad_token_id=self.tokenizer.eos_token_id ) response = self.tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True) questions = [q.strip() for q in response.split('\n') if q.strip() and '?' in q] return questions[:num_questions] def get_memory_stats(self) -> Dict[str, Any]: """Retourne les statistiques d'utilisation mémoire""" if torch.cuda.is_available(): stats = { "vram_used_gb": torch.cuda.memory_allocated() / 1024**3, "vram_reserved_gb": torch.cuda.memory_reserved() / 1024**3, "vram_total_gb": torch.cuda.get_device_properties(0).total_memory / 1024**3, } else: stats = {"vram_used_gb": 0, "vram_reserved_gb": 0, "vram_total_gb": 0} BLABLABLA .........
Et parmi mes 584 ligne de codes, je cherche à expliquer au LLM qu'il doit écrire dans un dossier archiver et trier sans passer par une base vectoriel.
La WSL c'est juste le support et je maîtrise.
Ce qui compte c'est le mot LLM, je n'aime pas le mot IA c'est encore trop tôt pour l'utiliser, sauf peut être pour Claude qui lui est une véritable énigme.
Bref, là on parle d'ouvrir des accès, et de dire, et de faire comprendre à un LLM, tiens tu as le fichier tu va faire des sous fichiers et y classer nos échanges.
Ceux qui connaissent les LLM remarqueront peut être même un truc sur mes lignes, je travaille dessus directement via torch.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionModifié le 1 avril 2025 à 13:56
Le but n'est pas non plus de passer par un service extérieur ou d'utiliser Jupyter.
Je cherche à faire du 100% Local.