Bienvenue dans le dépôt CoursIA, qui contient les ressources et TPs pour le cours d'intelligence artificielle en C# et Python.
- Introduction
- Structure du dépôt
- Mise en route
- Parcours d'apprentissage
- Contenu des modules
- Suivis Projets
- Contribution
- Licence
Ce dépôt contient un ensemble de notebooks Jupyter interactifs et de ressources pour l'apprentissage de l'intelligence artificielle, couvrant un large éventail de sujets allant du machine learning classique aux techniques d'IA générative modernes, en passant par l'IA symbolique et les algorithmes de recherche.
Les notebooks sont principalement en C# (utilisant .NET Interactive) et Python, offrant une approche pratique et hands-on pour comprendre les concepts d'IA.
Le dépôt est organisé en plusieurs sections thématiques :
MyIA.AI.Notebooks/
├── GenAI/ # IA Générative (OpenAI, LLMs, RAG, etc.)
├── ML/ # Machine Learning avec ML.NET
├── IIT/ # Integrated Information Theory
├── Probas/ # Probabilités et inférence bayésienne
├── Search/ # Algorithmes de recherche et optimisation
├── Sudoku/ # Résolution de Sudoku avec différentes approches
├── SymbolicAI/ # IA Symbolique (RDF, Z3, OR-Tools)
└── Config/ # Configuration pour les notebooks
Avant de commencer, assurez-vous d'avoir installé :
- Python 3.9+
- Visual Studio Code
- L'extension Python et Jupyter dans VSCode
- Extension .Net extension pack
- .NET 9.0 SDK (pour les notebooks C#)
- OpenAI API key (pour les notebooks GenAI)
-
Créer et activer un environnement virtuel Python :
python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows
-
Installer Jupyter et les bibliothèques nécessaires :
pip install --upgrade pip pip install jupyter openai
-
Ajouter l'environnement à Jupyter :
python -m ipykernel install --user --name=coursia --display-name "Python (CoursIA)" -
Configurer les clés API (pour GenAI) :
Créez un fichier
.envdans le dossierMyIA.AI.Notebooks/GenAI/en vous basant sur le fichier.env.example.
Pour les notebooks C#, vous devez également :
-
Restaurer les packages NuGet :
dotnet restore MyIA.CoursIA.sln
-
Configurer les paramètres API :
Copiez
MyIA.AI.Notebooks/Config/settings.json.openai-exampleversMyIA.AI.Notebooks/Config/settings.jsonet ajoutez votre clé API.
Voici un parcours d'apprentissage suggéré pour explorer ce dépôt :
- Introduction au Machine Learning - Commencez par les notebooks dans
ML/ - Algorithmes de recherche - Explorez les notebooks dans
Search/etSudoku/ - IA Symbolique - Découvrez les notebooks dans
SymbolicAI/ - Probabilités et inférence - Étudiez les notebooks dans
Probas/ - IA Générative - Terminez avec les notebooks dans
GenAI/
Notebooks sur l'IA générative, les grands modèles de langage (LLMs), et les techniques associées :
OpenAI_Intro.ipynb- Introduction à l'API OpenAIPromptEngineering.ipynb- Techniques d'ingénierie de promptsRAG.ipynb- Retrieval Augmented GenerationLocalLlama.ipynb- Utilisation de modèles locaux comme LlamaSemanticKernel/- Notebooks sur Microsoft Semantic Kernel
Série de notebooks sur le machine learning avec ML.NET :
ML-1-Introduction.ipynb- Introduction au ML avec ML.NETML-2-Data&Features.ipynb- Préparation des données et ingénierie des caractéristiquesML-3-Entrainement&AutoML.ipynb- Entraînement de modèles et AutoMLML-4-Evaluation.ipynb- Évaluation des modèlesTP-prevision-ventes.ipynb- TP sur la prévision des ventes
Notebooks illustrant différentes approches pour résoudre des Sudokus :
Sudoku-0-Environment.ipynb- Mise en place de l'environnementSudoku-1-Backtracking.ipynb- Résolution par backtrackingSudoku-2-Genetic.ipynb- Algorithmes génétiquesSudoku-3-ORTools.ipynb- Utilisation d'OR-ToolsSudoku-4-Z3.ipynb- Résolution avec le solveur Z3Sudoku-5-DancingLinks.ipynb- Algorithme de Dancing LinksSudoku-6-Infer.ipynb- Inférence probabiliste
Notebooks sur les algorithmes de recherche et d'optimisation :
GeneticSharp-EdgeDetection.ipynb- Détection de contours avec algorithmes génétiquesPortfolio_Optimization_GeneticSharp.ipynb- Optimisation de portefeuillePyGad-EdgeDetection.ipynb- Détection de contours avec PyGad
Notebooks sur l'IA symbolique et les approches formelles :
Linq2Z3.ipynb- Utilisation du solveur Z3 avec LINQOR-tools-Stiegler.ipynb- Résolution de problèmes avec OR-ToolsRDF.Net/- Utilisation de RDF avec .NET
Notebooks sur les probabilités et l'inférence bayésienne :
Infer-101.ipynb- Introduction à l'inférence probabiliste
Notebooks sur la théorie de l'information intégrée :
Intro_to_PyPhi.ipynb- Introduction à PyPhi pour IIT
Cette section regroupe les suivis détaillés des projets en cours et terminés.
- Description : Déploiement d'une infrastructure locale ComfyUI + Qwen pour la génération et l'édition d'images par IA. Inclut la mise en production SSL/IIS, le monitoring et le design de workflows pédagogiques.
- Statut : Phase 13A complétée, Phase 13B en planification
- Accès :
docs/suivis/genai-image/README.md
Les contributions à ce dépôt sont les bienvenues ! Si vous souhaitez contribuer :
- Forkez le dépôt
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/nouvelle-fonctionnalite) - Committez vos changements (
git commit -m 'Ajout d'une nouvelle fonctionnalité') - Poussez vers la branche (
git push origin feature/nouvelle-fonctionnalite) - Ouvrez une Pull Request
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
🚀 Bon apprentissage et bonnes expérimentations avec l'IA !