IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Pi-card, un assistant vocal basé sur l'IA fonctionnant localement sur un Raspberry Pi, capable de faire ce que ChatGPT peut faire dans le cadre d'une conversation

Le , par Jade Emy

195PARTAGES

9  0 
Pi-card est un assistant vocal doté d'une intelligence artificielle fonctionnant entièrement sur un Raspberry Pi. Il est capable de faire tout ce qu'un LLM standard (comme ChatGPT) peut faire dans un contexte conversationnel. De plus, s'il y a un appareil photo, vous pouvez également demander à Pi-card de prendre une photo, de décrire ce qu'il voit, puis de poser des questions sur cette image.

Pourquoi Pi-card ?

Pi-Card vient de "Raspberry Pi - Camera Audio Recognition Device."


Comment cela fonctionne-t-il ?

Pi-card fonctionne entièrement sur votre Raspberry Pi. Une fois que le programme principal est lancé, le système écoute votre mot de réveil. Une fois que votre mot de réveil a été prononcé, vous êtes officiellement dans une conversation. Au cours de cette conversation, il n'est pas nécessaire de répéter constamment le mot de réveil. Le système continuera à écouter vos commandes jusqu'à ce que vous disiez quelque chose comme "stop", "exit" ou "goodbye".

Le système garde en mémoire la conversation en cours, ce qui signifie que vous pouvez demander à l'assistant de répéter ce qu'il a dit ou d'approfondir un sujet précédent.

Bien que le système soit conçu pour être entièrement local, il est également possible de le connecter facilement à des API ou des services externes si vous souhaitez améliorer la conversation ou lui donner le contrôle de certains appareils externes. Son développeur est prêt à améliorer cette possibilité, mais pour l'instant, elle sera basée sur des mots-clés spécifiques pour déclencher le service externe. Par exemple, pour les appareils photo, le système activera l'appareil si vous dites "take a photo" ou "what do you see".

Quelle est son utilité ?

Le système est conçu pour être un projet amusant qui peut être un assistant IA quelque peu utile. Puisque tout est fait localement, le système ne sera pas aussi capable, ou aussi rapide, que les systèmes basés sur le cloud. Cependant, le système est encore capable d'apporter de nombreuses améliorations.

Pourquoi ne s'agit-il pas d'une application ?

La raison principale est que son développeur voulait créer un assistant vocal qui soit complètement hors ligne et qui ne nécessite aucune connexion Internet. Il voulait s'assurer que la vie privée de l'utilisateur soit protégée et que les données de l'utilisateur ne soient pas envoyées à des serveurs tiers.



Utilisation

Après avoir téléchargé le dépôt, installé les pré-requis, et suivi les autres instructions d'installation, vous pouvez lancer le programme principal en exécutant la commande suivante :

Code : Sélectionner tout
python main.py
Une fois le programme lancé, vous pouvez entamer une conversation avec l'assistant en prononçant le mot de réveil. Le mot de réveil par défaut est "hey assistant", mais vous pouvez le modifier dans le fichier config.py.

Configuration

Voici ses configurations selon son développeur :

Logiciel

Pour que ce système soit aussi rapide et léger que possible, nous utilisons des implémentations cpp de la transcription audio et des modèles de langage de vision. Celles-ci sont réalisées avec les merveilleuses bibliothèques whipser.cpp pour la transcription audio et llama.cpp pour le modèle de langage de vision.

Dans les deux cas, veuillez cloner ces dépôts où vous le souhaitez, et ajoutez leurs chemins au fichier config.py.Une fois clonés, rendez-vous dans chaque dépôt et suivez les instructions d'installation pour faire fonctionner les modèles. Quelques indications sont données ci-dessous :

Pour llama.cpp, nous utilisons les capacités du modèle de langage de vision, qui sont légèrement différentes de la configuration standard. Vous devrez suivre les instructions d'installation pour LlaVA, mais mettre à jour le modèle à utiliser pour qu'il soit mieux adapté à ce dispositif, Moondream2.

Pour installer Moondream, vous devrez vous rendre sur le HuggingFace model hub, et télécharger le modèle. Je l'ai fait en utilisant python, avec les commandes suivantes. Encore une fois, assurez-vous que le chemin du modèle de vision est ajouté au fichier config.py.

Code : Sélectionner tout
1
2
3
from huggingface_hub import snapshot_download
model_id="vikhyatk/moondream2"
snapshot_download(repo_id=model_id, local_dir=your/local/path, local_dir_use_symlinks=False, revision="main")
Pour whisper.cpp, vous devrez suivre le guide de démarrage rapide dans le README.

Comme ce projet dépend de modèles ouvertement disponibles, les limitations de cet assistant seront les mêmes que celles des modèles.

Matériel

L'installation matérielle est assez simple. Vous aurez besoin d'un Raspberry Pi 5 Model B, d'un microphone USB, d'un haut-parleur et d'une caméra.

Le microphone et le haut-parleur USB peuvent être branchés sur les ports USB du Raspberry Pi. La caméra peut être connectée au port caméra du Raspberry Pi.

J'ai utilisé le matériel suivant pour mon installation :

  • Kit Raspberry Pi 5
  • Microphone USB
  • Haut-parleur
  • Caméra
  • Connecteur de caméra


Veuillez noter que les Pi 5 ont un nouveau port caméra, d'où le nouveau connecteur caméra. En même temps, bien que ce projet soit axé sur le fonctionnement sur un Raspberry Pi 5, il devrait fonctionner sur d'autres appareils également.

N'hésitez pas à utiliser le vôtre, c'est ce qui a fonctionné pour moi.
Source : Présentation de Pi-Card

Et vous ?

Pensez-vous que Pi-Card est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

Raspberry Pi lance un M.2 HAT+ pour 12 $ pour permettre de connecter des périphériques M.2 M-key, tels que des disques NVMe et des accélérateurs d'IA, à Raspberry Pi 5

Raspberry Pi 5 : l'ordinateur monocarte fait un bond en avant en termes de performances mais aussi de prix, propose une meilleure connectivité et de nouvelles fonctionnalités

OpenAI développe un assistant vocal d'IA, se positionnant comme un concurrant direct de Google et d'Apple. La technologie est capable de « voir, d'entendre et de parler », elle peut reconnaître des objets

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de f-leb
Responsable Arduino et Systèmes Embarqués https://www.developpez.com
Le 16/05/2024 à 18:54
Citation Envoyé par Jade Emy Voir le message
Je ne connais pas encore ce produit, mais bien vu pour la photo
2  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 17/05/2024 à 11:57
Quel est votre avis sur le sujet ?
C'est amusant de faire tourner un gros modèle sur un appareil aussi petit, mais amusant pas très longtemps car un bon modèle de taille moyenne comme mistral 7B fonctionne avec 8Go de RAM sur un raspberry 5, mais c'est lent (compter une minute la réponse simple). Les petits modèles sont plus rapides mais moins bons forcément.

à la limite, on pourrait faire une version dé-google-isée d'un smartphone pour malvoyants qui envoie la photo sur un raspberry à la maison pour la décrire, mais un bon modèle demande de la puissance de calcul et de la RAM.
2  0 
Avatar de eddy72
Membre régulier https://www.developpez.com
Le 18/05/2024 à 11:30
Pi-Card ...
1er Avril, connexion internet ou quoi ?

Les ressources sont pas les mêmes, non ?


1  0