Que fait jarvis-ai-assistant ?
Un assistant IA personnel construit avec LangChain, Ollama et Python pour l'automatisation du bureau, l'appel d'outils intelligents, la mémoire et l'interaction vocale.
Présentation
Jarvis est un assistant IA local qui vous aide à automatiser des tâches sur votre bureau. Il utilise LangChain pour coordonner les agents et les outils, Ollama pour exécuter des modèles de langage en local, et Python pour l'automatisation système.
Fonctionnalités
- Appel d'outils intelligents : Recherche, manipulation de fichiers, calculs, exécution de commandes.
- Mémoire conversationnelle : L'assistant se souvient du contexte grâce à des embeddings vectoriels stockés localement.
- Interaction vocale : Reconnaissance vocale (parole vers texte) et synthèse vocale (texte vers parole).
- Automatisation du bureau : Contrôle des applications, gestion des fenêtres, exécution de scripts.
- Confidentialité : Tout fonctionne en local – aucune donnée envoyée à des serveurs externes.
Prérequis
- Python 3.10 ou supérieur
- Ollama installé et en cours d'exécution
- Modèle LLM local (ex:
llama3,mistral) - Modules Python :
langchain,langchain-community,speechrecognition,pyttsx3
Installation
git clone https://github.com/ranadheerravanam/jarvis-ai-assistant.git
cd jarvis-ai-assistant
pip install -r requirements.txt
Configuration
- Assurez-vous qu'Ollama est en cours d'exécution :
ollama serve - Téléchargez un modèle :
ollama pull llama3 - Configurez les variables d'environnement (facultatif) :
OLLAMA_BASE_URL: URL de base d'Ollama (par défaut :http://localhost:11434)MODEL_NAME: Nom du modèle à utiliser (par défaut :llama3)
Utilisation
python main.py
L'assistant démarrera en mode texte. Pour activer le mode vocal, utilisez la commande --voice :
python main.py --voice
Exemples de commandes
- "Ouvrir mon navigateur"
- "Quelles sont les dernières actualités ?"
- "Créer un dossier 'projets' sur le bureau"
- "Rappelle-moi de faire une pause dans 30 minutes"
Structure du projet
jarvis-ai-assistant/
├── main.py # Point d'entrée principal
├── agent.py # Configuration de l'agent LangChain
├── tools/ # Outils personnalisés
│ ├── __init__.py
│ ├── file_tools.py
│ ├── search_tools.py
│ └── system_tools.py
├── memory/ # Gestion de la mémoire
│ ├── __init__.py
│ └── vector_memory.py
├── voice/ # Fonctionnalités vocales
│ ├── __init__.py
│ ├── speech_to_text.py
│ └── text_to_speech.py
├── requirements.txt
└── README.md
Personnalisation
Vous pouvez ajouter vos propres outils en créant un nouveau fichier dans le dossier tools/ et en l'enregistrant auprès de l'agent dans agent.py. Consultez la documentation de LangChain pour plus de détails.
Licence
MIT