Update README.md
Browse files
README.md
CHANGED
|
@@ -1,32 +1,45 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
| 2 |
license: mit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
| 4 |
-
# SpaceYL/Components_Aerospatiaux_Dataset
|
| 5 |
|
| 6 |
-
##
|
|
|
|
|
|
|
| 7 |
- **Youri LALAIN**, Engineering student at French Engineering School ECE
|
| 8 |
- **Lilian RAGE**, Engineering student at French Engineering School ECE
|
|
|
|
|
|
|
|
|
|
| 9 |
|
| 10 |
-
##
|
| 11 |
-
|
| 12 |
|
| 13 |
-
|
| 14 |
-
- **Total Samples**: ~800 question-answer pairs
|
| 15 |
-
- **Format**: JSON format with messages and metadata structures
|
| 16 |
-
- **Fields**:
|
| 17 |
-
- `messages`: Array containing system prompt, user question, and assistant answer
|
| 18 |
-
- `metadata`: A structured dictionary providing additional information about components
|
| 19 |
-
- `domain`: Domain of expertise ("Aérospatial")
|
| 20 |
-
- `category`: Technical category (e.g., "DURÉE_DE_VIE", "MAINTENANCE", "RÔLE_FONCTIONNEL")
|
| 21 |
-
- `component_name`: Name of the specific component (e.g., "Tuyère", "Soufflante", "Chambre de combustion")
|
| 22 |
-
- `theme`: Additional categorization of the question
|
| 23 |
-
- `source`: Data source information
|
| 24 |
-
- **Languages**: French (`fr`)
|
| 25 |
|
| 26 |
-
##
|
| 27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
-
|
|
|
|
|
|
|
| 30 |
- Tuyère (Nozzle)
|
| 31 |
- Chambre de combustion (Combustion chamber)
|
| 32 |
- Turbopompe (Turbopump)
|
|
@@ -36,9 +49,9 @@ The dataset covers two main categories of aerospace components:
|
|
| 36 |
- Vanne de régulation (Control valve)
|
| 37 |
- Conduits de carburant (Fuel lines)
|
| 38 |
- Système de refroidissement (Cooling system)
|
| 39 |
-
-
|
| 40 |
|
| 41 |
-
###
|
| 42 |
- Soufflante (Fan)
|
| 43 |
- Compresseur (Compressor)
|
| 44 |
- Chambre annulaire (Annular chamber)
|
|
@@ -48,62 +61,42 @@ The dataset covers two main categories of aerospace components:
|
|
| 48 |
- Stator (Stator)
|
| 49 |
- Redresseur de flux (Flow straightener)
|
| 50 |
- Aubes (Blades)
|
| 51 |
-
-
|
| 52 |
-
|
| 53 |
-
## Aspect Categories
|
| 54 |
-
For each component, the dataset covers five main technical aspects:
|
| 55 |
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
|
|
|
| 61 |
|
| 62 |
-
##
|
|
|
|
| 63 |
|
| 64 |
-
|
| 65 |
-
```json
|
| 66 |
-
{
|
| 67 |
-
"messages": [
|
| 68 |
-
{
|
| 69 |
-
"role": "system",
|
| 70 |
-
"content": "Vous êtes un ingénieur spécialisé en composants aérospatiaux. Donnez une réponse technique précise à cette question sur Tuyère."
|
| 71 |
-
},
|
| 72 |
-
{
|
| 73 |
-
"role": "user",
|
| 74 |
-
"content": "Quelle est la durée de vie moyenne d'une tuyère?"
|
| 75 |
-
},
|
| 76 |
-
{
|
| 77 |
-
"role": "assistant",
|
| 78 |
-
"content": "La durée de vie moyenne d'une tuyère est de 1500 à 2000 cycles d'utilisation. Les températures extrêmes et l'érosion thermique sont les principaux facteurs limitants. Cette durée varie selon le matériau et le système de refroidissement utilisés."
|
| 79 |
-
}
|
| 80 |
-
],
|
| 81 |
-
"metadata": {
|
| 82 |
-
"domain": "Aérospatial",
|
| 83 |
-
"category": "DURÉE_DE_VIE",
|
| 84 |
-
"component_name": "Tuyère",
|
| 85 |
-
"theme": "question_simple",
|
| 86 |
-
"source": "gemini_api"
|
| 87 |
-
}
|
| 88 |
-
}
|
| 89 |
-
```
|
| 90 |
|
| 91 |
-
|
| 92 |
-
You can load the model using Hugging Face's `transformers` library:
|
| 93 |
|
| 94 |
```python
|
| 95 |
-
import
|
| 96 |
|
| 97 |
-
#
|
| 98 |
-
|
| 99 |
-
|
|
|
|
| 100 |
|
| 101 |
-
#
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
component = sample["metadata"]["component_name"]
|
| 106 |
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- fr
|
| 4 |
license: mit
|
| 5 |
+
datasets:
|
| 6 |
+
- UMA-IA/UMA_Dataset_Components_LLM
|
| 7 |
+
base_model: mistralai/Mistral-7B-v0.1
|
| 8 |
+
tags:
|
| 9 |
+
- aerospace
|
| 10 |
+
- aeronautics
|
| 11 |
+
- engineering
|
| 12 |
+
- technical-QA
|
| 13 |
+
- components
|
| 14 |
+
- propulsion
|
| 15 |
+
pipeline_tag: text-generation
|
| 16 |
---
|
|
|
|
| 17 |
|
| 18 |
+
## Model Details
|
| 19 |
+
**Model Name:** UMA-IA/LLM_Components_Finetuned
|
| 20 |
+
**Authors:**
|
| 21 |
- **Youri LALAIN**, Engineering student at French Engineering School ECE
|
| 22 |
- **Lilian RAGE**, Engineering student at French Engineering School ECE
|
| 23 |
+
**Base Model:** [Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1)
|
| 24 |
+
**Fine-tuned Dataset:** [UMA-IA/UMA_Dataset_Components_LLM](https://huggingface.co/datasets/UMA-IA/UMA_Dataset_Components_LLM)
|
| 25 |
+
**License:** Apache 2.0
|
| 26 |
|
| 27 |
+
## Model Description
|
| 28 |
+
# Mistral-7B Fine-tuné sur les composants aérospatiaux
|
| 29 |
|
| 30 |
+
LLM_Components_Finetuned_V1 est une version spécialisée du modèle Mistral-7B, fine-tunée pour fournir des réponses précises et concises aux questions techniques concernant les composants aérospatiaux et aéronautiques. Le modèle s'appuie sur le dataset SpaceYL/Components_Aerospatiaux_Dataset pour améliorer sa compréhension des composants de propulsion, leurs caractéristiques techniques, et leur maintenance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
+
## Capacités
|
| 33 |
+
- Réponses techniques concernant les composants aérospatiaux
|
| 34 |
+
- Informations sur les fournisseurs de composants spécifiques
|
| 35 |
+
- Détails sur la durée de vie et la maintenance des composants
|
| 36 |
+
- Explications du rôle fonctionnel des composants
|
| 37 |
+
- Analyse des modes de défaillance et leurs conséquences
|
| 38 |
+
- Délimitation claire des domaines d'expertise (reconnaissance des questions hors domaine)
|
| 39 |
|
| 40 |
+
## Composants couverts
|
| 41 |
+
|
| 42 |
+
### Composants de moteurs-fusées
|
| 43 |
- Tuyère (Nozzle)
|
| 44 |
- Chambre de combustion (Combustion chamber)
|
| 45 |
- Turbopompe (Turbopump)
|
|
|
|
| 49 |
- Vanne de régulation (Control valve)
|
| 50 |
- Conduits de carburant (Fuel lines)
|
| 51 |
- Système de refroidissement (Cooling system)
|
| 52 |
+
- Et plus encore...
|
| 53 |
|
| 54 |
+
### Composants de turboréacteurs
|
| 55 |
- Soufflante (Fan)
|
| 56 |
- Compresseur (Compressor)
|
| 57 |
- Chambre annulaire (Annular chamber)
|
|
|
|
| 61 |
- Stator (Stator)
|
| 62 |
- Redresseur de flux (Flow straightener)
|
| 63 |
- Aubes (Blades)
|
| 64 |
+
- Et plus encore...
|
|
|
|
|
|
|
|
|
|
| 65 |
|
| 66 |
+
## Cas d'utilisation
|
| 67 |
+
- Support technique en ingénierie aérospatiale
|
| 68 |
+
- Formation et éducation sur les systèmes de propulsion
|
| 69 |
+
- Assistance à la conception et à la maintenance de systèmes aérospatiaux
|
| 70 |
+
- Documentation technique et développement de bases de connaissances
|
| 71 |
+
- Applications pédagogiques en ingénierie aérospatiale
|
| 72 |
|
| 73 |
+
## Détails d'entraînement
|
| 74 |
+
Ce modèle a été fine-tuné sur le dataset UMA-IA/UMA_Dataset_Components_LLM, qui contient environ 800 paires question-réponse concernant divers composants aérospatiaux. Le processus de fine-tuning a utilisé la technique LoRA (Low-Rank Adaptation) pour adapter efficacement le modèle Mistral-7B à ce domaine spécifique.
|
| 75 |
|
| 76 |
+
## Comment utiliser
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
|
| 78 |
+
Vous pouvez charger le modèle en utilisant la bibliothèque `transformers` de Hugging Face:
|
|
|
|
| 79 |
|
| 80 |
```python
|
| 81 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 82 |
|
| 83 |
+
# Charger le modèle et le tokenizer
|
| 84 |
+
model_name = "SpaceYL/LLM_Components_Finetuned_V1"
|
| 85 |
+
model = AutoModelForCausalLM.from_pretrained(model_name)
|
| 86 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 87 |
|
| 88 |
+
# Format d'entrée recommandé
|
| 89 |
+
question = "Quelle est la durée de vie moyenne d'une tuyère?"
|
| 90 |
+
context = "Type: COMPOSANT, Composant: Tuyère, Catégorie: DURÉE_DE_VIE, Thème: question_simple"
|
| 91 |
+
input_text = f"Question: {question}\nContexte: {context}\nRéponse:"
|
|
|
|
| 92 |
|
| 93 |
+
# Générer une réponse
|
| 94 |
+
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
|
| 95 |
+
outputs = model.generate(
|
| 96 |
+
inputs["input_ids"],
|
| 97 |
+
max_new_tokens=50,
|
| 98 |
+
temperature=0.7,
|
| 99 |
+
top_p=0.9
|
| 100 |
+
)
|
| 101 |
+
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 102 |
+
print(response)
|