Note
Bienvenue sur la communauté Facebook SunFounder Raspberry Pi, Arduino & ESP32 !
Obtenez du support technique et de l’aide au dépannage.
Apprenez et partagez des projets, des astuces et des tutoriels.
Accédez en avant-première aux aperçus et mises à jour des produits.
Profitez de réductions exclusives et de cadeaux.
👉 Rejoignez-nous ici : [here]
4. Dialogue avec Vision Texte via Ollama
Dans cette leçon, vous apprendrez à utiliser Ollama, un outil permettant d’exécuter localement de grands modèles de langage et de vision. Nous allons vous montrer comment installer Ollama, télécharger un modèle et connecter le Pironman 5 Pro MAX à celui-ci.
Avec cette configuration, le Pironman 5 Pro MAX peut prendre une photo avec la caméra et le modèle verra et racontera — vous pouvez poser n’importe quelle question sur l’image, et le modèle répondra en langage naturel.
1. Installer Ollama (LLM) et télécharger un modèle
Vous pouvez choisir où installer Ollama :
Sur votre Raspberry Pi (exécution locale)
Ou sur un autre ordinateur (Mac/Windows/Linux) sur le même réseau local
Modèles recommandés vs matériel
Vous pouvez choisir n’importe quel modèle disponible sur Ollama Hub. Les modèles existent en différentes tailles (3B, 7B, 13B, 70B…). Les modèles plus petits s’exécutent plus rapidement et nécessitent moins de mémoire, tandis que les modèles plus grands offrent une meilleure qualité mais nécessitent du matériel puissant.
Consultez le tableau ci-dessous pour déterminer quelle taille de modèle correspond à votre appareil.
Taille du modèle |
RAM minimale requise |
Matériel recommandé |
|---|---|---|
~3B paramètres |
8 Go (16 Go mieux) |
Raspberry Pi 5 (16 Go) ou PC/Mac milieu de gamme |
~7B paramètres |
16 Go+ |
Pi 5 (16 Go, juste utilisable) ou PC/Mac milieu de gamme |
~13B paramètres |
32 Go+ |
PC de bureau / Mac avec RAM élevée |
30B+ paramètres |
64 Go+ |
Station de travail / Serveur / GPU recommandé |
70B+ paramètres |
128 Go+ |
Serveur haut de gamme avec GPU multiples |
Installer sur Raspberry Pi
Si vous souhaitez exécuter Ollama directement sur votre Raspberry Pi :
Utilisez un Raspberry Pi OS 64 bits
Fortement recommandé : Raspberry Pi 5 (16 Go RAM)
Exécutez les commandes suivantes :
# Installer Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Télécharger un modèle léger (bon pour les tests)
ollama pull llama3.2:3b
# Test d'exécution rapide (tapez 'hi' et appuyez sur Entrée)
ollama run llama3.2:3b
# Servir l'API (port par défaut 11434)
# Astuce : définissez OLLAMA_HOST=0.0.0.0 pour autoriser l'accès depuis le LAN
OLLAMA_HOST=0.0.0.0 ollama serve
Installer sur Mac / Windows / Linux (application de bureau)
Téléchargez et installez Ollama depuis Ollama Download Page
Ouvrez l’application Ollama, allez dans le Sélecteur de modèles et utilisez la barre de recherche pour trouver un modèle. Par exemple, tapez
llama3.2:3b(un modèle petit et léger pour commencer).
Une fois le téléchargement terminé, tapez quelque chose de simple comme « Hi » dans la fenêtre de chat, Ollama commencera automatiquement à le télécharger lors de la première utilisation.
Allez dans Paramètres → activez Exposer Ollama au réseau. Cela permet à votre Raspberry Pi de s’y connecter via le LAN.
Attention
Si vous voyez une erreur comme :
Error: model requires more system memory ...
Le modèle est trop gros pour votre machine. Utilisez un modèle plus petit ou passez à un ordinateur avec plus de RAM.
2. Tester Ollama
Une fois Ollama installé et votre modèle prêt, vous pouvez le tester rapidement avec une boucle de chat minimale.
Exécuter le programme
cd ~/sunfounder-voice-assistant/examples sudo python3 llm_ollama.py
Vous pouvez maintenant discuter avec le Pironman 5 Pro MAX directement depuis le terminal.
Vous pouvez choisir n’importe quel modèle disponible sur Ollama Hub, mais les modèles plus petits (par exemple
moondream:1.8b,phi3:mini) sont recommandés si vous n’avez que 8–16 Go de RAM.Assurez-vous que le modèle que vous spécifiez dans le code correspond au modèle que vous avez déjà téléchargé dans Ollama.
Tapez
exitouquitpour arrêter le programme.Si vous ne pouvez pas vous connecter, assurez-vous qu’Ollama est en cours d’exécution et que les deux appareils sont sur le même LAN si vous utilisez un hôte distant.
Code
from sunfounder_voice_assistant.llm import Ollama
INSTRUCTIONS = "You are a helpful assistant."
WELCOME = "Hello, I am a helpful assistant. How can I help you?"
# Changez ceci par l'adresse IP de votre ordinateur, si vous l'exécutez sur votre pi, changez-le en localhost
llm = Ollama(
ip="localhost",
model="llama3.2:3b"
)
# Définir combien de messages conserver
llm.set_max_messages(20)
# Définir les instructions
llm.set_instructions(INSTRUCTIONS)
# Définir le message de bienvenue
llm.set_welcome(WELCOME)
print(WELCOME)
while True:
input_text = input(">>> ")
# Réponse sans flux
# response = llm.prompt(input_text)
# print(f"response: {response}")
# Réponse avec flux
response = llm.prompt(input_text, stream=True)
for next_word in response:
if next_word:
print(next_word, end="", flush=True)
print("")
3. Dialogue avec Vision via Ollama
Dans cette démo, la caméra du Pi prend une photo chaque fois que vous tapez une question. Le programme envoie votre texte tapé + la nouvelle photo à un modèle de vision local via Ollama, puis diffuse la réponse du modèle en anglais simple. C’est une base minimale « voir et raconter » que vous pourrez ensuite étendre avec des vérifications de couleur/visage/QR.
Avant de commencer
Ouvrez l’application Ollama (ou exécutez le service) et assurez-vous qu’un modèle capable de vision est téléchargé.
Si vous avez suffisamment de mémoire (≥16 Go de RAM), vous pouvez essayer
llava:7b.Si vous n’avez que 8 Go de RAM, préférez un modèle plus petit comme
moondream:1.8bougranite3.2-vision:2b.
Exécuter la démo
Allez dans le dossier des exemples et exécutez le script :
cd ~/sunfounder-voice-assistant/examples python3 llm_ollama_with_image.py
Ce qui se passe lors de l’exécution :
Le programme affiche une ligne de bienvenue et attend votre saisie (
>>>).Chaque fois que vous tapez quelque chose (par exemple, « hello », « Y a-t-il du jaune ? », « Des visages ? », « Qu’y a-t-il sur le bureau ? »), il :
capture une photo depuis la caméra du Pi (enregistrée dans
/tmp/llm-img.jpg),envoie votre texte + la photo au modèle de vision via Ollama,
diffuse la réponse du modèle dans le terminal.
Tapez
exitouquitpour terminer le programme.
Code
from sunfounder_voice_assistant.llm import Ollama
from picamera2 import Picamera2
import time
'''
Vous devez d'abord configurer ollama, voir llm_local.py
Vous avez besoin d'au moins 8 Go de RAM pour exécuter le grand modèle multimodal llava:7b
'''
INSTRUCTIONS = "You are a helpful assistant."
WELCOME = "Hello, I am a helpful assistant. How can I help you?"
llm = Ollama(
ip="localhost", # par exemple, "192.168.100.145" si distant
model="llava:7b" # remplacez par "moondream:1.8b" ou "granite3.2-vision:2b" pour 8 Go de RAM
)
# Définir combien de messages conserver
llm.set_max_messages(20)
# Définir les instructions
llm.set_instructions(INSTRUCTIONS)
# Définir le message de bienvenue
llm.set_welcome(WELCOME)
# Initialiser la caméra
camera = Picamera2()
config = camera.create_still_configuration(
main={"size": (1280, 720)},
)
camera.configure(config)
camera.start()
time.sleep(2)
print(WELCOME)
while True:
input_text = input(">>> ")
# Capturer l'image
img_path = '/tmp/llm-img.jpg'
camera.capture_file(img_path)
# Réponse sans flux
# response = llm.prompt(input_text, image_path=img_path)
# print(f"response: {response}")
# Réponse avec flux
response = llm.prompt(input_text, stream=True, image_path=img_path)
for next_word in response:
if next_word:
print(next_word, end="", flush=True)
print("")
Dépannage
J’obtiens une erreur comme : `model requires more system memory …`.
Cela signifie que le modèle est trop gros pour votre appareil.
Utilisez un modèle plus petit comme
moondream:1.8bougranite3.2-vision:2b.Ou passez à une machine avec plus de RAM et exposez Ollama au réseau.
Le code ne peut pas se connecter à Ollama (connexion refusée).
Vérifiez les points suivants :
Assurez-vous qu’Ollama est en cours d’exécution (
ollama serveou l’application de bureau est ouverte).Si vous utilisez un ordinateur distant, activez Exposer au réseau dans les paramètres d’Ollama.
Vérifiez que
ip="..."dans votre code correspond à la bonne adresse IP LAN.Confirmez que les deux appareils sont sur le même réseau local.
Ma caméra Pi ne capture rien.
Vérifiez que
Picamera2est installé et fonctionne avec un simple script de test.Vérifiez que le câble de la caméra est correctement connecté et activé dans
raspi-config.Assurez-vous que votre script a la permission d’écrire sur le chemin cible (
/tmp/llm-img.jpg).
La sortie est trop lente.
Les modèles plus petits répondent plus rapidement, mais avec des réponses plus simples.
Vous pouvez réduire la résolution de la caméra (par exemple, 640×480 au lieu de 1280×720) pour accélérer le traitement d’image.
Fermez les autres programmes sur votre Pi pour libérer du CPU et de la RAM.