DeepSeek toujours occupé ? Déployez-le localement avec Milvus en seulement 10 minutes — plus besoin d’attendre !
Si vous avez essayé d’utiliser DeepSeek-R1 et rencontré le message, « Server is busy. Please try again later, » vous savez à quel point cela peut être perturbant. Attendre que des serveurs occupés se libèrent peut interrompre votre flux de travail, surtout lorsque vous avez besoin de réponses rapides ou que vous êtes concentré sur une tâche.
Une façon pratique d’éviter cela consiste à exécuter DeepSeek-R1 directement sur votre propre machine. Cela vous permet de contourner les délais liés aux serveurs et d’avoir plus de contrôle sur la manière et le moment où vous utilisez le modèle. Dans ce guide, nous allons parcourir la configuration de DeepSeek-R1 en local à l’aide de quelques outils qui fonctionnent ensemble. Ollama vous aidera à télécharger et à exécuter le modèle sur votre système. Nous utiliserons ensuite AnythingLLM pour faciliter l’interaction avec DeepSeek-R1 grâce à une interface simple. Enfin, nous intégrerons Milvus, une base de données vectorielle, afin que le modèle puisse faire référence à des données externes, comme vos propres documents ou des informations personnalisées, lorsqu’il répond aux questions.
Vous n’avez pas besoin de matériel haut de gamme pour commencer. DeepSeek-R1 propose des versions plus petites du modèle qui peuvent fonctionner sur des configurations plus courantes. Que vous utilisiez DeepSeek-R1 pour le travail, la recherche ou des projets personnels, le configurer en local vous aidera à éviter les problèmes de serveur et à adapter le modèle à vos besoins. Commençons par configurer DeepSeek-R1 avec Ollama.
Déployer DeepSeek-R1 avec Ollama : installation et configuration
Commencez par installer Ollama, qui simplifie le processus d’exécution des modèles d’IA sur votre machine locale. Commencez par visiter la page de téléchargement d’Ollama et sélectionner l’installateur correspondant à votre système d’exploitation.
Figure : page de téléchargement d’Ollama
Une fois le téléchargement terminé, exécutez-le et suivez les instructions à l’écran pour terminer la configuration. Après l’installation, confirmez qu’Ollama est correctement configuré en ouvrant votre interface de ligne de commande et en tapant :
ollama --version
Si tout est correctement installé, vous verrez le numéro de version s’afficher. Cette vérification garantit que votre environnement est prêt à gérer des modèles d’IA en local.
Ensuite, téléchargez DeepSeek-R1. Pour la plupart des utilisateurs, la version à 7 milliards de paramètres (7B) offre un équilibre pratique entre performance et besoins en ressources, nécessitant généralement un GPU doté d’environ 18 Go de VRAM. Si votre matériel est moins performant, le modèle 1.5B (environ 3,9 Go de VRAM) est disponible. Pour les configurations avancées, vous pouvez envisager le modèle complet 671B, bien qu’il exige des ressources beaucoup plus importantes. Ajustez la commande ci-dessous en fonction de la taille du modèle souhaitée :
ollama pull deepseek-r1:7b
La commande ci-dessus téléchargera le modèle spécifié sur votre ordinateur, comme indiqué ci-dessous :
Figure : installation de deepseek-r1:7b via Ollama sur un ordinateur
Une fois le téléchargement du modèle terminé, lancez DeepSeek-R1 en exécutant :
ollama run deepseek-r1:7b
Remplacez 7b par 1.5b ou une autre version si vous avez choisi un modèle différent. Une fois le modèle démarré, vous pouvez commencer à interagir avec lui en tapant vos invites directement dans la ligne de commande.
Figure : exemple de session deepseek-r1:7b où un utilisateur pose une question et le modèle fournit une réponse
La capture d’écran ci-dessus montre un exemple de session où nous demandons, Qui êtes-vous ? et DeepSeek-R1 répond par une introduction, confirmant que le modèle est en cours d’exécution et prêt à aider.
Installer et configurer AnythingLLM
Bien qu’interagir via la ligne de commande fonctionne pour les tests de base, cela peut s’avérer fastidieux pour une utilisation continue. AnythingLLM fournit une interface de type chat qui rend les conversations avec vos modèles exécutés localement plus intuitives. Il prend également en charge plusieurs backends de modèles de langage, offre un moyen simple de téléverser des données personnalisées et peut s’intégrer à des bases de données vectorielles comme Milvus. Vous trouverez ci-dessous un aperçu de ses fonctionnalités, ainsi que la façon de l’installer et de le connecter à Ollama.
Pourquoi utiliser AnythingLLM ?
Voici quelques-unes de ses fonctionnalités :
Chat interactif : AnythingLLM remplace les invites manuelles en ligne de commande par une fenêtre de chat, ce qui facilite la visualisation du déroulement de votre conversation et la référence aux requêtes précédentes.
Gestion centralisée des modèles : Vous pouvez exécuter différents modèles de langage sous une seule interface et passer de l’un à l’autre sans jongler avec plusieurs terminaux.
Intégration des données : La prise en charge intégrée des bases de données vectorielles (comme Milvus) vous permet de téléverser des documents, des fichiers de recherche ou d’autres ressources afin que le modèle puisse s’y référer lorsqu’il répond aux questions.
Configuration facile des embeddings : Choisissez le modèle d’embedding à utiliser pour convertir vos documents et les requêtes des utilisateurs en vecteurs, ce qui aide le système à trouver plus précisément les informations pertinentes.
Ces fonctionnalités offrent un flux de travail plus fluide pour toute personne ayant besoin de plus que de simples interactions via le terminal. Voyons comment installer et configurer AnythingLLM :
Étape 1 : Télécharger et installer AnythingLLM
Accédez au site Web AnythingLLM et choisissez le programme d’installation correspondant à votre système d’exploitation. Une fois le fichier téléchargé, exécutez-le et suivez les instructions pour terminer la configuration. Une fois installé, ouvrez AnythingLLM, et vous serez accueilli par une page ou un assistant Get Started, indiquant que l’application est prête pour sa configuration initiale.
Étape 2 : Ignorer les invites initiales
Lorsque vous ouvrez AnythingLLM pour la première fois, vous verrez des invites pour LLM Preference, Data Handling & Privacy et un Survey facultatif. Pour l’instant, choisissez Skip sur chaque écran afin que nous puissions montrer comment accéder à ces options et les configurer dans l’application elle-même. Vous ne verrez pas ces invites chaque fois que vous lancerez AnythingLLM, donc apprendre où les trouver plus tard vous aidera à ajuster les paramètres ou à mettre à jour les préférences si nécessaire.
Étape 3 : Créer votre premier espace de travail
Après avoir ignoré les invites initiales, il vous sera demandé de créer votre premier espace de travail.
Choisissez un nom pour votre espace de travail, puis cliquez sur la flèche vers la droite pour continuer. Nous avons nommé le nôtre Milvus-DeepSeek-Local-Deploy. Cet espace de travail fournit une zone dédiée pour organiser les conversations et stocker tous les documents que vous téléversez. Une fois créé, vous verrez l’interface de chat :
C’est ici que vous interagirez avec DeepSeek-R1 après avoir connecté le modèle.
Étape 4 : Connecter DeepSeek-R1 à votre espace de travail
Pour connecter votre modèle, cliquez sur le bouton Settings à côté du nom de votre espace de travail. Dans le panneau qui s’ouvre, sélectionnez Chat Settings. Vous verrez des options pour choisir un Workspace LLM Provider et définir un Workspace Chat model.
Puisque nous utilisons Ollama, sélectionnez Ollama dans la liste des fournisseurs. Ensuite, choisissez n’importe quel modèle que vous avez téléchargé via Ollama en cliquant sur Workspace Chat model. Cela inclut DeepSeek-R1 (par exemple, dans notre cas, deepseek-r1:7b).
Figure : Panneau Chat Settings affichant Ollama comme LLM Provider et deepseek-r1:7b as the selected model
Une fois que vous avez sélectionné un modèle, enregistrez vos modifications. Votre espace de travail est maintenant connecté au modèle choisi, ce qui vous permet d’interagir avec lui directement via l’interface de chat. Revenez à votre interface de chat pour commencer à discuter.
Étape 5 : Tester le modèle avec une requête
Maintenant que votre espace de travail est connecté à DeepSeek-R1, vous pouvez tester comment il répond à des questions sur lesquelles il n’a pas été entraîné. Essayez de demander : Who is Chris Churilo? et notez que le modèle ne fournit pas de réponse claire.
Figure : Réponse du LLM à « Who is Chris Churilo? »
Comme le modèle ne dispose pas d’informations sur Chris Churilo, il ne peut pas fournir de réponse détaillée. Cette lacune illustre la nécessité d’une source de connaissances externe. Milvus, une base de données vectorielle, peut stocker des données pertinentes sous forme d’embeddings à propos de Chris Churilo afin que le LLM puisse s’y référer.
Configuration de Milvus et intégration avec AnythingLLM
Avant de relier votre espace de travail à des données externes, vous devrez déployer une base de données vectorielle capable de stocker des embeddings (représentations numériques de données (comme des mots ou des images) dans un espace vectoriel continu, capturant leurs significations ou caractéristiques afin que les éléments similaires soient positionnés plus près les uns des autres) à partir de vos données personnalisées. Voyons comment installer Milvus, puis configurer AnythingLLM pour l’utiliser comme base de données vectorielle, permettant au modèle de fournir des réponses mieux informées.
Installation de Milvus
Tout d’abord, assurez-vous que Docker et Docker Compose sont installés sur votre machine. Ensuite, ouvrez votre terminal et téléchargez le fichier Docker Compose autonome de Milvus en exécutant :
wget https://github.com/milvus-io/milvus/releases/download/v2.5.4/milvus-standalone-docker-compose.yml -O docker-compose.yml
Ensuite, ouvrez le fichier docker-compose.yml téléchargé dans votre éditeur de texte préféré. Repérez les paramètres de configuration sous le service standalone et mettez à jour les champs COMMON_USER et COMMON_PASSWORD avec les identifiants souhaités.
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
COMMON_USER: milvus
COMMON_PASSWORD: milvus
Nous utiliserons ces identifiants plus tard lors de la configuration d’AnythingLLM pour se connecter à Milvus. Après avoir enregistré vos modifications, retournez au terminal et démarrez Milvus en exécutant la commande suivante :
docker-compose up -d
Cette commande lance Milvus en arrière-plan. Vous pouvez vérifier que Milvus est en cours d’exécution en consultant vos conteneurs Docker avec docker ps ou en visitant son endpoint de santé s’il est configuré.
Figure : Démarrage de Milvus à l’aide de docker compose en ligne de commande
Maintenant que Milvus est installé, nous sommes prêts à l’intégrer avec AnythingLLM, permettant à votre espace de travail d’exploiter cette source de données externe pour améliorer les réponses du modèle.
Intégration de Milvus avec AnythingLLM
Maintenant que Milvus est en cours d’exécution, configurons AnythingLLM pour stocker et récupérer des embeddings pour vos données personnalisées. Suivez les étapes ci-dessous pour permettre des réponses davantage guidées par le contexte de la part de votre modèle DeepSeek-R1.
1. Ouvrir les paramètres
Cliquez sur le bouton Open Settings dans le coin inférieur gauche de l’interface AnythingLLM. Cela ouvrira un panneau avec plusieurs catégories de configuration.
Figure : Interface principale d’AnythingLLM avec le bouton Open Settings mis en évidence
2. Sélectionner la base de données vectorielle
Dans le panneau des paramètres, développez AI Providers et sélectionnez Vector Database. Sous Vector Database Provider, choisissez Milvus. Des champs apparaîtront pour l’adresse et les identifiants que vous avez configurés dans le fichier Docker Compose de Milvus :
Milvus DB Address:
http://localhost:19530Milvus Username: (le nom d’utilisateur que vous avez défini)
Milvus Password: (le mot de passe que vous avez défini)
Cliquez sur Save pour confirmer vos paramètres.
Figure : Paramètres de la base de données vectorielle dans AnythingLLM avec Milvus sélectionné
3. Choisir un Embedder (facultatif)
Toujours sous AI Providers, vous pouvez choisir un autre modèle d’embedding si vous le souhaitez. Si aucune sélection n’est effectuée, AnythingLLM utilise son embedder par défaut. Cette étape est facultative pour une utilisation de base, mais peut être utile si vous voulez optimiser la façon dont le texte est vectorisé. Dans ce cas, nous utiliserons l’option par défaut.
Figure : Sélection du modèle d’embedding dans AnythingLLM, le cas échéant
4. Téléverser des documents
Revenez à l’interface principale ou à la vue de votre espace de travail. Téléversez tous les documents que vous souhaitez que le modèle utilise comme référence en les faisant glisser-déposer, ou en les sélectionnant via l’interface. AnythingLLM listera vos fichiers, prêts pour l’embedding.
Figure : Zone de téléversement de documents affichant les fichiers nouvellement ajoutés
5. Déplacer les documents vers l’espace de travail
Une fois que vos documents apparaissent, sélectionnez chaque fichier et choisissez Move to Workspace. Dans le panneau de droite, cliquez sur Save and Embed. AnythingLLM convertit les documents en embeddings vectoriels et les stocke dans Milvus, rendant le contenu accessible à DeepSeek-R1.
Figure : Déplacement de documents vers un espace de travail et création de leurs embeddings
Après avoir terminé ces étapes, votre modèle DeepSeek-R1 peut utiliser les documents intégrés comme référence. Par exemple, si vous demandez maintenant, Qui est Chris Churilo ?. Le modèle saura qui elle est, comme vous pouvez le voir ci-dessous :
Figure : DeepseekR1 réfléchissant à la façon de répondre à une requête Qui est Chris Churilo ? à l’aide de Milvus
Le modèle fait cela en recherchant les informations pertinentes stockées dans Milvus, fournissant une réponse plus détaillée qu’auparavant. Voici la réponse finale à notre requête.
Figure : DeepseekR1 répondant à la requête Qui est Chris Churilo ? à l’aide de Milvus
Le modèle répond maintenant avec une réponse détaillée qui cite le document téléversé. Dans la capture d’écran ci-dessus, vous pouvez voir comment le modèle extrait des détails pertinents sur le rôle, le parcours et les contributions de Chris Churilo, des informations qui n’étaient pas disponibles avant l’intégration de Milvus. Cette réponse améliorée démontre la valeur de la combinaison d’un déploiement LLM local avec une base de données vectorielle pour créer une expérience d’IA plus informée et sensible au contexte.
Vérifier les collections dans Milvus
Une fois que vous avez créé les embeddings de documents via AnythingLLM, vous pouvez confirmer que Milvus les stocke correctement en listant vos collections. Si vous n’avez pas encore installé pymilvus, commencez par l’installer avec cette commande :
pip install pymilvus
Exécutez ensuite le code Python suivant pour vous connecter à Milvus, récupérer une liste de collections et afficher leurs noms :
from pymilvus import MilvusClient
# Connect to Milvus
client = MilvusClient(uri="http://localhost:19530") # Replace with your URI if it's different
# List all collections
collections = client.list_collections()
# Print results
print(f"Found {len(collections)} collections:")
for idx, collection in enumerate(collections, 1):
print(f"{idx}. {collection}")
# Optional: Close the connection when done
client.close()
Si vous venez d’installer Milvus, vous ne verrez pas beaucoup de collections. Cependant, après avoir utilisé AnythingLLM pour créer les embeddings de documents, vous remarquerez une nouvelle collection nommée d’après l’espace de travail que vous avez utilisé. Dans l’exemple de sortie ci-dessous, la collection pertinente est listée comme 21. Anythingllm_milvus_deepseek_local_deploy.
Cela confirme qu’AnythingLLM a créé avec succès une collection dédiée dans Milvus pour stocker les embeddings de vos données téléversées.
Nous avons maintenant parcouru le déploiement de DeepSeek-R1 en local, la configuration d’AnythingLLM pour une interface conviviale, et l’intégration de Milvus comme base de données vectorielle. Cette configuration permet au modèle d’accéder à des données personnalisées et de répondre aux questions plus efficacement.
Conclusion
Configurer DeepSeek-R1 en local avec l’aide d’Ollama, d’AnythingLLM et de Milvus ouvre de nouvelles possibilités pour personnaliser et améliorer vos workflows d’IA. Cette approche vous donne non seulement un contrôle total sur votre environnement, mais permet aussi à votre modèle d’accéder à des sources de données spécifiques, améliorant ainsi sa pertinence et sa précision. Avec cette configuration, vous n’êtes plus limité par la disponibilité des serveurs ou des réponses génériques—votre IA peut désormais travailler directement avec les informations que vous fournissez, adaptées à vos besoins.
Ressources complémentaires
Continuer à lire

3 Easiest Ways to Use Claude Code on Your Mobile Phone
Run Claude Code from your phone with Remote Control, Happy Coder, or SSH + Tailscale. Comparison table, setup steps, and tools for typing, memory, and parallel tasks.

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.

Zilliz Cloud Introduces Advanced BYOC-I Solution for Ultimate Enterprise Data Sovereignty
Explore Zilliz Cloud BYOC-I, the solution that balances AI innovation with data control, enabling secure deployments in finance, healthcare, and education sectors.


