Un outil puissant conçu spécifiquement pour la création d'ensembles de données de fine-tuning pour les grands modèles de langage, prenant en charge le traitement intelligent des documents, la génération de questions et l'exportation multi-formats.
Easy Dataset - Outil de création de jeux de données pour le fine-tuning de grands modèles de langage
Aperçu du projet
Easy Dataset est un outil professionnel conçu spécifiquement pour la création de jeux de données de fine-tuning pour les grands modèles de langage (LLM). Il offre une interface intuitive pour télécharger des fichiers spécifiques à un domaine, segmenter intelligemment le contenu, générer des questions et produire des données d'entraînement de haute qualité, rendant le processus de fine-tuning du modèle simple et efficace.
Grâce à Easy Dataset, vous pouvez transformer vos connaissances du domaine en ensembles de données structurés, compatibles avec tous les formats d'API LLM d'OpenAI, rendant le processus de fine-tuning plus pratique et efficace.
Caractéristiques principales
🧠 Traitement intelligent des documents
- Prise en charge du téléchargement de fichiers Markdown et segmentation automatique en fragments significatifs
- Reconnaissance intelligente de la structure du document et des niveaux de contenu
❓ Génération intelligente de questions
- Extraction automatique de questions pertinentes à partir de chaque fragment de texte
- Prise en charge de la génération de questions en masse pour améliorer l'efficacité du traitement
💬 Génération de réponses
- Utilisation de l'API LLM pour générer des réponses complètes à chaque question
- Prise en charge des invites système personnalisées pour guider la réponse du modèle
✏️ Édition flexible
- Possibilité de modifier les questions, les réponses et les ensembles de données à n'importe quelle étape du processus
- Fourniture d'une interface utilisateur intuitive pour la gestion du contenu
📤 Exportation multi-formats
- Prise en charge de plusieurs formats d'ensemble de données (Alpaca, ShareGPT)
- Prise en charge de plusieurs types de fichiers (JSON, JSONL)
🔧 Prise en charge étendue des modèles
- Compatible avec toutes les API LLM suivant le format OpenAI
- Prise en charge du déploiement de modèles locaux Ollama
👥 Interface conviviale
- UI intuitive conçue pour les utilisateurs techniques et non techniques
- Prise en charge complète de l'internationalisation en anglais et en chinois
Architecture technique
Pile technologique
- Framework Frontend: Next.js 14.1.0
- Bibliothèque UI: React 18.2.0
- Bibliothèque de composants: Material UI 5.15.7
- Base de données: Base de données de fichiers locale
- Licence: Apache License 2.0
Structure du projet
easy-dataset/
├── app/ # Répertoire de l'application Next.js
│ ├── api/ # Routes API
│ │ ├── llm/ # Intégration de l'API LLM
│ │ │ ├── ollama/ # Intégration de l'API Ollama
│ │ │ └── openai/ # Intégration de l'API OpenAI
│ │ └── projects/ # API de gestion de projet
│ │ └── [projectId]/
│ │ ├── chunks/ # Opérations sur les blocs de texte
│ │ ├── datasets/ # Génération et gestion des ensembles de données
│ │ ├── questions/ # Gestion des questions
│ │ └── split/ # Opérations de segmentation de texte
│ └── projects/ # Pages frontend du projet
│ └── [projectId]/
│ ├── datasets/ # Interface de gestion des ensembles de données
│ ├── questions/ # Interface de gestion des questions
│ ├── settings/ # Interface des paramètres du projet
│ └── text-split/ # Interface de traitement de texte
├── components/ # Composants React
│ ├── datasets/ # Composants liés aux ensembles de données
│ ├── home/ # Composant de la page d'accueil
│ ├── projects/ # Composants de gestion de projet
│ ├── questions/ # Composants de gestion des questions
│ └── text-split/ # Composants de traitement de texte
├── lib/ # Bibliothèque et outils principaux
│ ├── db/ # Opérations de base de données
│ ├── i18n/ # Internationalisation
│ ├── llm/ # Intégration LLM
│ │ ├── common/ # Outils communs LLM
│ │ ├── core/ # Client LLM principal
│ │ └── prompts/ # Modèles d'invites
│ └── text-splitter/ # Outil de segmentation de texte
├── locales/ # Ressources d'internationalisation
│ ├── en/ # Traduction anglaise
│ └── zh-CN/ # Traduction chinoise
└── local-db/ # Base de données de fichiers locale
└── projects/ # Stockage des données du projet
Installation et déploiement
Configuration système requise
- Node.js 18.x ou version ultérieure
- pnpm (recommandé) ou npm
Développement local
- Cloner le dépôt:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
- Installer les dépendances:
npm install
- Démarrer le serveur de développement:
npm run build
npm run start
Déploiement Docker
- Cloner le dépôt:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
- Construire l'image Docker:
docker build -t easy-dataset .
- Exécuter le conteneur:
docker run -d -p 1717:1717 -v {YOUR_LOCAL_DB_PATH}:/app/local-db --name easy-dataset easy-dataset
Remarque : Remplacez
{YOUR_LOCAL_DB_PATH}
par le chemin réel où vous souhaitez stocker la base de données locale.
- Accéder à l'application:
Ouvrez un navigateur et accédez à
http://localhost:1717
Téléchargement de l'application de bureau
Windows | MacOS | Linux |
---|---|---|
Setup.exe | Intel / M | AppImage |
Flux d'utilisation
1. Créer un projet
- Cliquez sur le bouton "Créer un projet" sur la page d'accueil
- Entrez le nom et la description du projet
- Configurez vos paramètres d'API LLM préférés
2. Télécharger et segmenter le texte
- Téléchargez votre fichier Markdown dans la section "Segmentation de texte"
- Examinez les fragments de texte segmentés automatiquement
- Ajustez les résultats de la segmentation si nécessaire
3. Générer des questions
- Accédez à la section "Questions"
- Sélectionnez les fragments de texte pour lesquels vous souhaitez générer des questions
- Examinez et modifiez les questions générées
- Utilisez l'arborescence des balises pour organiser les questions
4. Générer un ensemble de données
- Accédez à la section "Ensemble de données"
- Sélectionnez les questions à inclure dans l'ensemble de données
- Utilisez l'API LLM configurée pour générer des réponses
- Examinez et modifiez les réponses générées
5. Exporter l'ensemble de données
- Cliquez sur le bouton "Exporter" dans la section de l'ensemble de données
- Sélectionnez votre format préféré (Alpaca ou ShareGPT)
- Sélectionnez le format de fichier (JSON ou JSONL)
- Ajoutez une invite système personnalisée si nécessaire
- Exportez votre ensemble de données
Fonctionnalités spéciales
Système d'invites intelligent
Le projet intègre des modèles d'invites professionnels pour différentes langues :
- Invite pour la génération de questions en chinois
- Invite pour la génération de questions en anglais
- Invite pour la génération de réponses en chinois
- Invite pour la génération de réponses en anglais
Prise en charge de plusieurs LLM
- Prise en charge de l'API OpenAI
- Prise en charge du déploiement local d'Ollama
- Compatible avec toutes les API au format OpenAI
Format de données flexible
- Format Alpaca : adapté au fine-tuning d'instructions
- Format ShareGPT : adapté à l'entraînement conversationnel
- Choix du format de sortie JSON/JSONL