Installation
Si vous des problèmes ou des questions, n'hésitez pas à interroger la communauté
Hardware
- Vous n'avez pas forcément besoin d'une carte graphique GPU coûteuse, fonctionne sur un ordinateur portable CPU.
- Testé sur un Lenovo IdeaPad 3 15ALC6 basique avec 16CPU et 16 GB Ram.
- Testé sur une image VirtualBox Xubuntu avec 4CPU et 4GB Ram
- Jetez un oeil aux pages Igora Workers ou Igora Docker pour plus d'exemples
Prérequis
- Linux
- git
- nodejs > 20
- wget pour télécharger les modèles, ou vous pouvez les télécharger manuellement
Igora serveur backend
Installation d'Igora
git clone https://github.com/scenaristeur/igora
cd igora
npm install
Télécharger un modèle de language
Les workers Igora sont basés sur node-llama-cpp qui utilisent des modèles au format gguf.
(llama-cpp-python pourra également être utilisé)
Dans cette installation, nous allons utiliserle modèle dolphin-2.2.1-mistral-7b.Q2_K.gguf, mais vous pouvez choisir un autre modèle, à condition de mettre à jour le fichier .env avec le bon nom de modèle.
- Modèles disponbles. Ouvrez cette page, choississez le modèle qui vous convient (7B ou moins sont un bon point de départ, car ils consomment moins de mémoire), ensuite ouvrez l'onglet "Files and versions" et téléchargez le modèle (les modèles Q2 à Q4 sont plus légers, donc conseillés).
Vous pouvez télécharger un modèle gguf manuellement et le déplacer dans le dossier ./models, sans oublier de mettre à jour votre fichier .env.
ex : LLM_MODEL_NAME="dolphin-2.2.1-mistral-7b.Q2_K.gguf"
Voici deux manières pour télécharger un modèle :
npx ipull -s ./models https://huggingface.co/TheBloke/dolphin-2.2.1-mistral-7B-GGUF/resolve/main/dolphin-2.2.1-mistral-7b.Q2_K.gguf
ou avec wget
wget -O ./models/dolphin-2.2.1-mistral-7b.Q2_K.gguf https://huggingface.co/TheBloke/dolphin-2.2.1-mistral-7B-GGUF/resolve/main/dolphin-2.2.1-mistral-7b.Q2_K.gguf?download=true
Les 3 fichiers .env
A l'heure actuelle, Igora utilise 3 fichiers .env :
- .env-example dans le dossier racine d'igora : c'est le fichier exemple de l'environnement par défaut que vous pouvez copier pour créer votre fichier de configuration .env.
- .env dans le dossier racine d'igora : c'est votre fichier .env de configuration, il est lu par le serveur igora pour configurer les workers et déterminer le modèle à utiliser, le mode que vous souhaitez utiliser (local ou décentralisé), ainsi que l'url et la room du market.
- .env dans le dossier igora_web : celui-ci est utilisé par l'application web. Attention toutes les constantes dans l fichier igora_web/.env file DOIVENT commencer par "VUE_" por être accessible par l'application web.
Copier le fichier .env-example vers .env
cp .env-example .env
exemple de fichier .env
YJS_ENV=local # local, remote
YJS_LOCAL_URL="ws://localhost:1234" # your local y-websocket server
YJS_REMOTE_URL="wss://ylm-websocket.glitch.me/" # the remote y-websocket server
YJS_MARKET_ROOM="market"
LLM_MODEL_NAME="dolphin-2.2.1-mistral-7b.Q2_K.gguf"
A l'heure actuelle, vous devez créer votre fichier .env manuellement dans le dossier igora_web
fichier igora_web/.env :
VITE_YJS_ENV=local # local, remote
VITE_YJS_LOCAL_URL="ws://localhost:1234" # your local y-websocket server
VITE_YJS_REMOTE_URL="wss://ylm-websocket.glitch.me/" # the remote y-websocket server
VITE_YJS_MARKET_ROOM="market"
Lancement du serveur Igora
npm run start
Igora market
Pour lancer un merket local sur le port 1234 de votre machine. Ouvrez un nouveau terminal, déplacez-vous dans un dossier ne contenant pas de fichier package.json et lancez la commande PORT=1234 npx y-websocket
.
client Igora, application web
Pour lancer un client, vérifiez que le fichier de configuration igoraweb_client/.env est correctement configuré avec les variables d'environnement VITE_YJS_URL
et VITE_YJS_ENV
identiques que dans le fichier .env du dossier racine.
Lancer ensuite les commandes
cd igora_web
npm install
npm run dev
Le client devrait être accessible à l'adresse http://localhost:5173