Code/appel_IA.py
2025-05-19 13:38:30 +02:00

80 lines
3.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import requests
MODEL = "llama3-8b-fast:latest"
OLLAMA_URL = "http://localhost:11434/api/generate"
TEMP = 0.1
with open("Corpus/rapport_final.md", "r", encoding="utf-8") as f:
contenu = f.read()
prompt = f"""
Tu es un assistant stratégique expert chargé danalyser les vulnérabilités systémiques dans des chaînes de valeur numériques. Tu t'exprimes en français.
Tu travailles uniquement à partir du fichier Markdown `rapport_final.md`. Ce fichier est complet : najoute aucune connaissance externe.
== Objectif ==
Produire un rapport stratégique complet destiné à un COMEX ou à une direction des risques industrielles. Ce rapport doit permettre didentifier les vulnérabilités critiques qui menacent la résilience des produits numériques.
== Structure attendue ==
Le rapport que tu dois produire contient 4 sections :
1. Synthèse de lanalyse (style narratif pour décideurs, suivie dun encadré synthétique)
2. Analyse détaillée (explication structurée par niveau de vulnérabilité, encadré de données)
3. Points de vigilance (indicateurs clés à surveiller, horizon temporel)
4. Conclusion (scénario dimpact en cas de choc, encadré des conséquences sur les produits numériques)
== Données à analyser ==
Les données se trouvent uniquement dans les sections :
- `## Éléments factuels` : données brutes à exploiter
- `## Annexes` : fiches techniques détaillées pour comprendre les indices et les valeurs des éléments factuels
== Indices à utiliser ==
• **IHH (Herfindahl-Hirschmann)** : mesure la concentration géographique ou industrielle.
- Interprétation : >25 = concentration élevée (rouge), 1525 = modérée (orange), <15 = faible (vert)
• **ICS (Indice de Criticité de Substituabilité)** : évalue la difficulté à substituer un matériau.
- Calculé à partir de la faisabilité technique, des délais dimplémentation et du coût économique.
- Interprétation : >0.6 = critique, 0.30.6 = modéré, <0.3 = faible
• **ISG (Indice de Stabilité Géopolitique)** : reflète la vulnérabilité politique, sociale ou climatique dun pays producteur.
- Interprétation : >70 = instabilité forte, 4070 = instabilité modérée, <40 = stable
• **IVC (Indice de Vulnérabilité Concurrentielle)** : mesure la pression dautres secteurs sur laccès aux ressources du numérique.
- Interprétation : >15 = forte, 515 = modérée, <5 = faible
== Logique danalyse attendue ==
1. **Croise les indices** pour identifier les vulnérabilités critiques (ex. IHH élevé + ISG élevé + ICS élevé = vulnérabilité systémique)
2. **Hiérarchise clairement** : vulnérabilité critique, élevée, modérée
3. **Distingue les horizons temporels** (court terme = <2 ans, moyen terme = 25 ans, long terme >5 ans)
4. **Détaille les effets en cascade** sur les produits numériques (ex : minerai → composant → infrastructure)
5. **Évite toute recommandation industrielle ou politique**
== Exemples dencadrés synthétiques à inclure ==
POINTS CLÉS - [NOM DU MINÉRAI] :
• Concentration critique : IHH 89 (Chine 94%)
• Substituabilité : ICS 0.64 (difficile), délai 28 ans
• Instabilité géopolitique : ISG 54 (modérée)
• Vulnérabilité concurrentielle : IVC 1 (faible)
• Horizon : court à moyen terme
• Impact : semi-conducteurs, détecteurs IR, fibres optiques
== Important ==
Tu dois raisonner comme un analyste stratégique, pas comme un chatbot.
Tu rédiges un rapport professionnel prêt à être diffusé à la direction générale.
== Contenu à analyser ==
{contenu}
"""
response = requests.post(OLLAMA_URL, json={
"model": MODEL,
"prompt": prompt,
"stream": False,
"temperature": TEMP
})
print(response.json()["response"])