File size: 172,740 Bytes
8a848a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "39252dd0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Chemin ajouté : d:\\CoursLangraph\\langGraphe-ai-research-assistant-main\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "import os\n",
    "\n",
    "# Aller 2 niveaux au-dessus du notebook\n",
    "ROOT_DIR = os.path.abspath(os.path.join(os.getcwd(), \"..\", \"..\"))\n",
    "\n",
    "# Ajouter à sys.path\n",
    "sys.path.append(ROOT_DIR)\n",
    "\n",
    "print(\"Chemin ajouté :\", ROOT_DIR)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9cd614d0",
   "metadata": {},
   "outputs": [],
   "source": [
    "from langgraph.graph import StateGraph, END, START\n",
    "from typing import Optional\n",
    "from pydantic import BaseModel\n",
    "from src.models.research_models import ResearchQuery, ResearchOutput\n",
    "from src.models.document_models import ExtractionResult\n",
    "from src.models.document_models import SummarizationOutput\n",
    "from src.models.synthesis_models import GlobalSynthesisOutput\n",
    "from src.agents.researcher_agent import ResearcherAgent\n",
    "from src.agents.content_extractor_agent import ContentExtractorAgent\n",
    "from src.agents.summarizer_agent import SummarizerAgent\n",
    "from src.agents.global_synthesizer_agent import GlobalSynthesizerAgent"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "f0b78ef8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2025-11-17 22:18:13 | INFO     | agent_researcher | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_researcher | Agent researcher initialisé (ID: d5720e5b-9d54-402c-9a83-26841a91e8e1)\n",
      "2025-11-17 22:18:13 | INFO     | search_manager | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | tavily_api | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | search_manager | API Tavily initialisée\n",
      "2025-11-17 22:18:13 | INFO     | serper_api | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | search_manager | API Serper initialisée\n",
      "2025-11-17 22:18:13 | INFO     | agent_researcher | APIs disponibles: ['tavily', 'serper']\n",
      "2025-11-17 22:18:13 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_researcher | Service LLM initialisé pour l'extraction de mots-clés\n",
      "2025-11-17 22:18:13 | INFO     | agent_content_extractor | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_content_extractor | Agent content_extractor initialisé (ID: c567c416-6c01-41cc-b930-0de06945d2dc)\n",
      "2025-11-17 22:18:13 | INFO     | extraction_manager | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | content_extractor | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_summarizer | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_summarizer | Agent summarizer initialisé (ID: 72f4c0dc-5a55-441d-aebc-489efded880b)\n",
      "2025-11-17 22:18:13 | INFO     | llm_manager | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | chunking_manager | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_global_synthesizer | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | agent_global_synthesizer | Agent global_synthesizer initialisé (ID: 8e522f40-edb9-4b1b-ae68-479a8979e575)\n",
      "2025-11-17 22:18:13 | INFO     | llm_manager | Logger initialisé avec succès.\n",
      "2025-11-17 22:18:13 | INFO     | llm_service | Logger initialisé avec succès.\n"
     ]
    }
   ],
   "source": [
    "# ------------ STATE MODEL ------------\n",
    "\n",
    "class ResearchState(BaseModel):\n",
    "    query: Optional[ResearchQuery] = None\n",
    "    research_output: Optional[ResearchOutput] = None\n",
    "    extraction_result: Optional[ExtractionResult] = None\n",
    "    summarization_output: Optional[SummarizationOutput] = None\n",
    "    global_synthesis_output: Optional[GlobalSynthesisOutput] = None\n",
    "    attempts: int = 0  # compteur de tentatives\n",
    "\n",
    "\n",
    "# ------------ AGENTS ------------\n",
    "researcher_agent = ResearcherAgent()\n",
    "content_extractor_agent = ContentExtractorAgent()\n",
    "summarizer_agent = SummarizerAgent()\n",
    "global_synthesizer_agent = GlobalSynthesizerAgent()\n",
    "\n",
    "\n",
    "# ------------ GRAPH NODES ------------\n",
    "async def research_node(state: ResearchState):\n",
    "    if not researcher_agent.validate_input(state.query):\n",
    "        raise ValueError(\"Requête de recherche invalide.\")\n",
    "    out = await researcher_agent.process(state.query)\n",
    "    # Incrémenter les tentatives\n",
    "    return {\n",
    "        \"research_output\": out,\n",
    "        \"attempts\": state.attempts + 1\n",
    "    }\n",
    "\n",
    "\n",
    "async def extract_node(state: ResearchState):\n",
    "    print(state.research_output)\n",
    "    out = await content_extractor_agent.process_from_research_output(\n",
    "        state.research_output\n",
    "    )\n",
    "    return {\"extraction_result\": out}\n",
    "\n",
    "\n",
    "# ------------ FONCTION DE ROUTAGE (pas un nœud) ------------\n",
    "def should_continue(state: ResearchState) -> str:\n",
    "    \"\"\"\n",
    "    Vérifie si l'extraction a réussi. \n",
    "    Si vide et moins de 3 tentatives → relance research_node.\n",
    "    Sinon → termine.\n",
    "    \"\"\"\n",
    "    if state.extraction_result is None or len(state.extraction_result.documents) == 0:\n",
    "        if state.attempts < 3:\n",
    "            print(f\"Extraction vide, tentative {state.attempts}, relance du research_node...\")\n",
    "            return \"retry\"\n",
    "        else:\n",
    "            print(\"Extraction échouée après 3 tentatives, abandon.\")\n",
    "            return \"finish\"\n",
    "    print(\"Extraction réussie !\")\n",
    "    return \"finish\"\n",
    "\n",
    "# ---------------- Node de summarisation  ----------------\n",
    "async def summarize_node(state: ResearchState):\n",
    "    if state.extraction_result is None or len(state.extraction_result.documents) == 0:\n",
    "        raise ValueError(\"Aucun document à résumer.\")\n",
    "    \n",
    "    output = await summarizer_agent.process_from_extraction_result(state.extraction_result)\n",
    "    return {\"summarization_output\": output}\n",
    "\n",
    "# ---------------- Node de synthèse globale  ----------------\n",
    "async def global_synthesis_node(state: ResearchState):\n",
    "    if state.summarization_output is None:\n",
    "        raise ValueError(\"Aucun résumé disponible pour la synthèse globale.\")\n",
    "    \n",
    "    output = await global_synthesizer_agent.process_from_summarization_output(state.summarization_output)\n",
    "    return {\"global_synthesis_output\": output}\n",
    "\n",
    "\n",
    "\n",
    "# ------------ BUILD GRAPH ------------\n",
    "state_graph = StateGraph(ResearchState)\n",
    "\n",
    "state_graph.add_node(\"research_node\", research_node)\n",
    "state_graph.add_node(\"extract_node\", extract_node)\n",
    "state_graph.add_node(\"summarize_node\", summarize_node)\n",
    "state_graph.add_node(\"global_synthesis_node\", global_synthesis_node)\n",
    "\n",
    "# Définition des edges\n",
    "state_graph.add_edge(\"research_node\", \"extract_node\")\n",
    "\n",
    "# Edge conditionnel depuis extract_node\n",
    "state_graph.add_conditional_edges(\n",
    "    \"extract_node\",\n",
    "    should_continue,  # fonction de routage\n",
    "    {\n",
    "        \"retry\": \"research_node\",  # retour au début\n",
    "        \"finish\": \"summarize_node\"  # aller au résumé\n",
    "    }\n",
    ")\n",
    "state_graph.add_edge(\"summarize_node\", \"global_synthesis_node\")\n",
    "\n",
    "# Point d'entrée et de sortie\n",
    "state_graph.set_entry_point(\"research_node\")\n",
    "state_graph.set_finish_point(\"global_synthesis_node\")\n",
    "\n",
    "# Compilation\n",
    "app = state_graph.compile()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "065a870d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython.display import Image \n",
    "display(Image(app.get_graph().draw_mermaid_png()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c2f614f9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2025-11-17 22:18:20 | INFO     | agent_researcher | Extraction de mots-clés pour: 'impact de l'intelligence artificielle sur le marché de l'emploi'\n",
      "2025-11-17 22:18:24 | INFO     | agent_researcher | Mots-clés extraits: ['intelligence artificielle', 'machine learning', 'automatisation', 'emploi', 'marché du travail', 'robotisation', \"perte d'emploi\"]\n",
      "Mots-clés extraits automatiquement: ['intelligence artificielle', 'machine learning', 'automatisation', 'emploi', 'marché du travail', 'robotisation', \"perte d'emploi\"]\n",
      "2025-11-17 22:18:24 | INFO     | agent_researcher | Début de recherche pour: 'impact de l'intelligence artificielle sur le marché de l'emploi'\n",
      "2025-11-17 22:18:24 | INFO     | agent_researcher | Requête préparée: 'impact de l'intelligence artificielle sur le marché de l'emploi machine learning automatisation marché du travail robotisation perte d'emploi'\n",
      "2025-11-17 22:18:24 | INFO     | search_manager | Tentative de recherche avec tavily\n",
      "2025-11-17 22:18:24 | INFO     | tavily_api | Recherche Tavily: 'impact de l'intelligence artificielle sur le marché de l'emploi machine learning automatisation marché du travail robotisation perte d'emploi' (max: 2)\n",
      "2025-11-17 22:18:30 | INFO     | tavily_api | Tavily: 2 résultats parsés\n",
      "2025-11-17 22:18:30 | INFO     | search_manager | Recherche réussie avec tavily: 2 résultats\n",
      "2025-11-17 22:18:30 | INFO     | agent_researcher | Filtrage: 2 résultats conservés sur 2\n",
      "2025-11-17 22:18:30 | INFO     | agent_researcher | Recherche terminée: 2 résultats finaux sur 2 trouvés en 6.07s\n",
      "query=ResearchQuery(topic=\"impact de l'intelligence artificielle sur le marché de l'emploi\", keywords=['intelligence artificielle', 'machine learning', 'automatisation', 'emploi', 'marché du travail', 'robotisation', \"perte d'emploi\"], max_results=2, search_depth='basic', date_range=None) results=[SearchResult(title=\"Quel est l'impact de l'IA sur le marché du travail en 2025 ? - DataBird\", url=HttpUrl('https://www.data-bird.co/blog/impact-ia-marche-du-travail-2025'), snippet='Découvrez comment l’intelligence artificielle transforme le marché du travail et les métiers de la Data en 2025. Découvrez comment l’intelligence artificielle transforme le marché du travail et les **métiers de la Data en 2025.** L’essor de l’intelligence artificielle transforme profondément les exigences des métiers de la Data, en imposant aux professionnels de développer un ensemble de **compétences techniques**, **analytiques** et **comportementales** pour rester compétitifs : Les métiers de la Data connaissent une demande croissante, en raison de la numérisation accélérée et de l’augmentation du volume de données à analyser. Les **compétences en IA et en automatisation**, combinées à une **compréhension des processus industriels**, deviennent indispensables pour tous les professionnels du secteur.', published_date=None, author=None, source='', score=0.6312142999999999, tags=[]), SearchResult(title=\"L'Intelligence artificielle et l'avenir du travail en 2025 | Futuro Digital\", url=HttpUrl('https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025'), snippet=\"À l'horizon 2025, l'intelligence artificielle (IA) joue un rôle prépondérant dans la transformation du marché du travail, entraînant à la fois des défis et des\", published_date=None, author=None, source='', score=0.593639165, tags=[])] total_found=2 search_time=6.066829 search_engine='tavily' timestamp=datetime.datetime(2025, 11, 17, 22, 18, 30, 584256)\n",
      "2025-11-17 22:18:30 | INFO     | agent_content_extractor | Extraction de contenu depuis ResearchOutput: 2 URLs\n",
      "2025-11-17 22:18:30 | INFO     | agent_content_extractor | Sujet de recherche: impact de l'intelligence artificielle sur le marché de l'emploi\n",
      "2025-11-17 22:18:30 | INFO     | agent_content_extractor | Début extraction de contenu pour 2 URLs\n",
      "2025-11-17 22:18:30 | INFO     | agent_content_extractor | URLs valides à traiter: 2/2\n",
      "2025-11-17 22:18:30 | INFO     | extraction_manager | Extraction de contenu pour 2 URLs\n",
      "2025-11-17 22:18:30 | INFO     | content_extractor | Extraction de contenu: https://www.data-bird.co/blog/impact-ia-marche-du-travail-2025\n",
      "2025-11-17 22:18:30 | INFO     | content_extractor | Extraction de contenu: https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025\n",
      "2025-11-17 22:18:41 | WARNING  | content_extractor | Impossible de détecter le type de contenu pour https://www.data-bird.co/blog/impact-ia-marche-du-travail-2025: \n",
      "2025-11-17 22:18:46 | INFO     | extraction_manager | Extraction terminée: 2/2 succès\n",
      "2025-11-17 22:18:46 | INFO     | agent_content_extractor | Filtres appliqués: 1/2 documents retenus\n",
      "2025-11-17 22:18:46 | INFO     | agent_content_extractor | Extraction terminée: 1/2 succès en 15.78s\n",
      "Extraction réussie !\n",
      "2025-11-17 22:18:46 | INFO     | agent_summarizer | Début summarization de 1 documents\n",
      "2025-11-17 22:18:46 | INFO     | agent_summarizer | Documents valides à traiter: 1\n",
      "2025-11-17 22:18:46 | INFO     | agent_summarizer | Résumé document: L'Intelligence artificielle et l'avenir du travail en 2025 | Futuro Digital (5479 caractères)\n",
      "2025-11-17 22:18:49 | INFO     | agent_summarizer | Summarization terminée: 1 résumés créés en 2.86s\n",
      "2025-11-17 22:18:49 | INFO     | agent_global_synthesizer | Démarrage de la synthèse globale pour 'Sujet de synthèse'...\n",
      "2025-11-17 22:18:49 | INFO     | agent_global_synthesizer | Début synthèse globale pour: 'Sujet de synthèse'\n",
      "2025-11-17 22:18:49 | INFO     | agent_global_synthesizer | Nombre de résumés à synthétiser: 1\n",
      "2025-11-17 22:18:50 | WARNING  | llm_service | Rate limit atteint, attente 16s\n",
      "2025-11-17 22:18:50 | WARNING  | llm_service | Rate limit atteint, attente 16s\n",
      "2025-11-17 22:19:07 | WARNING  | llm_service | Rate limit atteint, attente 16s\n",
      "2025-11-17 22:19:24 | WARNING  | llm_service | Rate limit atteint, attente 3s\n",
      "2025-11-17 22:19:31 | WARNING  | llm_service | Rate limit atteint, attente 16s\n",
      "2025-11-17 22:19:50 | INFO     | agent_global_synthesizer | Synthèse globale terminée en 60.89s\n",
      "2025-11-17 22:19:50 | INFO     | agent_global_synthesizer | Rapport final: 1325 mots, 5 sections\n"
     ]
    }
   ],
   "source": [
    "topic = \"impact de l'intelligence artificielle sur le marché de l'emploi\"\n",
    "\n",
    "######################################################################\n",
    "#Implémenter aussi l'extraction en fonction de l'extension du fichier et le js\n",
    "\n",
    "\n",
    "\n",
    "# Extraction automatique des mots-clés\n",
    "keywords = await researcher_agent.extract_keywords_with_llm(topic)\n",
    "print(f\"Mots-clés extraits automatiquement: {keywords}\")\n",
    "\n",
    "state = ResearchState(\n",
    "    query=ResearchQuery(\n",
    "        topic=topic,\n",
    "        keywords=keywords,\n",
    "        max_results=2,\n",
    "        search_depth=\"basic\"\n",
    "    )\n",
    ")\n",
    "\n",
    "# Utilisation propre dans un notebook\n",
    "result = await app.ainvoke(state)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "85bf2495",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'query': ResearchQuery(topic=\"impact de l'intelligence artificielle sur le marché de l'emploi\", keywords=['intelligence artificielle', 'machine learning', 'automatisation', 'emploi', 'marché du travail', 'robotisation', \"perte d'emploi\"], max_results=2, search_depth='basic', date_range=None),\n",
       " 'research_output': ResearchOutput(query=ResearchQuery(topic=\"impact de l'intelligence artificielle sur le marché de l'emploi\", keywords=['intelligence artificielle', 'machine learning', 'automatisation', 'emploi', 'marché du travail', 'robotisation', \"perte d'emploi\"], max_results=2, search_depth='basic', date_range=None), results=[SearchResult(title=\"Quel est l'impact de l'IA sur le marché du travail en 2025 ? - DataBird\", url=HttpUrl('https://www.data-bird.co/blog/impact-ia-marche-du-travail-2025'), snippet='Découvrez comment l’intelligence artificielle transforme le marché du travail et les métiers de la Data en 2025. Découvrez comment l’intelligence artificielle transforme le marché du travail et les **métiers de la Data en 2025.** L’essor de l’intelligence artificielle transforme profondément les exigences des métiers de la Data, en imposant aux professionnels de développer un ensemble de **compétences techniques**, **analytiques** et **comportementales** pour rester compétitifs : Les métiers de la Data connaissent une demande croissante, en raison de la numérisation accélérée et de l’augmentation du volume de données à analyser. Les **compétences en IA et en automatisation**, combinées à une **compréhension des processus industriels**, deviennent indispensables pour tous les professionnels du secteur.', published_date=None, author=None, source='', score=0.6312142999999999, tags=[]), SearchResult(title=\"L'Intelligence artificielle et l'avenir du travail en 2025 | Futuro Digital\", url=HttpUrl('https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025'), snippet=\"À l'horizon 2025, l'intelligence artificielle (IA) joue un rôle prépondérant dans la transformation du marché du travail, entraînant à la fois des défis et des\", published_date=None, author=None, source='', score=0.593639165, tags=[])], total_found=2, search_time=6.066829, search_engine='tavily', timestamp=datetime.datetime(2025, 11, 17, 22, 18, 30, 584256)),\n",
       " 'extraction_result': ExtractionResult(documents=[Document(title=\"L'Intelligence artificielle et l'avenir du travail en 2025 | Futuro Digital\", url=HttpUrl('https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025'), content=\"L'Intelligence artificielle et l'avenir du travail en 2025Découvrez comment l'intelligence artificielle transforme l'avenir du travail en 2025, impactant les emplois et l'automatisation, tout en créant de nouvelles opportunités passionnantes.10/11/20253 min temps de lectureL’intelligence artificielle (IA) transforme profondément le paysage professionnel à travers le monde. Dans un environnement de plus en plus automatisé, comprendre comment les nouvelles technologies vont remodeler le marché du travail est essentiel pour les professionnels et les entreprises.Tendances Émergentes d’ici 2025Selon le Rapport sur l’Avenir des Emplois (2020) du Forum Économique Mondial, d’ici 2025, l’automatisation et l’IA pourraient remplacer environ 85 millions d’emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs. Cette transformation n’est pas seulement quantitative, mais aussi qualitative. La nature même du travail évolue, déplaçant la demande de tâches répétitives vers des fonctions nécessitant créativité, empathie et pensée critique.Automatisation : À Quoi S’AttendreL’automatisation continuera d’optimiser les tâches répétitives et les processus manuels dans des secteurs tels que l’industrie, la logistique, la finance et le service client. De nombreuses organisations mettent déjà en œuvre des logiciels de gestion qui permettent aux entreprises de surveiller leurs opérations en temps réel. En parallèle, la numérisation s’étend aux domaines administratifs, juridiques et même créatifs, grâce à des technologies comme le traitement du langage naturel et la génération automatique de contenu.Cela ne signifie pas que les humains deviendront obsolètes ; au contraire, l’accent se déplace vers des tâches nécessitant adaptabilité, résolution de problèmes et empathie. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.Nouvelles Opportunités ProfessionnellesBien que certains emplois disparaissent, d’autres émergent à l’intersection de la technologie et de l’intelligence humaine. Les carrières en science des données, cybersécurité, développement de l’IA, conception d’expériences numériques et analyse comportementale figurent parmi les plus dynamiques. Dans le secteur de la santé, on assistera à une montée en puissance de la télémédecine, des spécialistes en éthique algorithmique et des analystes de données axés sur les résultats cliniques. Ces rôles soulignent la nécessité d’un équilibre entre technologie et jugement humain.Reconversion : Une Priorité EssentielleL’apprentissage continu et la reconversion professionnelle seront la clé de la survie dans le monde du travail. Des initiatives comme les Google Career Certificates, LinkedIn Learning et Coursera proposent des programmes abordables pour combler les lacunes numériques. En Europe et en Amérique latine, des institutions telles que le SENAI et FutureLearn offrent une formation technique adaptée aux nouvelles exigences du marché.En plus des compétences techniques, les soft skills — collaboration, intelligence émotionnelle, adaptabilité et créativité — deviennent tout aussi cruciales. Les travailleurs qui développent ces aptitudes humaines, alliées à la maîtrise numérique, seront mieux préparés à un marché en constante évolution.Défis Éthiques et SociauxL’avancement de l’IA soulève des questions éthiques complexes qui dépassent le cadre de l’emploi. Des thèmes tels que la protection des données, les biais algorithmiques et l’exclusion numérique nécessitent une attention particulière de la part des gouvernements, des entreprises et de la société civile. Garantir la transparence, l’équité et l’inclusion dans les systèmes basés sur l’IA sera essentiel pour maintenir la confiance du public.De plus, l’accès équitable à la reconversion doit être assuré ; sinon, l’automatisation risque d’accentuer les inégalités existantes. L’innovation responsable et l’éducation inclusive joueront un rôle central dans l’atténuation de ces défis sociaux.Recommandations Pratiques pour les ProfessionnelsApprenez en continu : Inscrivez-vous à des programmes de formation en ligne ou à des certifications liées à la transformation numérique.Diversifiez vos compétences : Associez expertise technique (IA, analyse de données) et aptitudes interpersonnelles telles que la communication et la pensée critique.Suivez les données : Restez informé grâce à des sources fiables comme le Forum Économique Mondial, l’OCDE et McKinsey sur les tendances du travail.Développez votre réseau : Participez à des communautés axées sur la technologie, l’innovation et l’éthique de l’IA pour échanger connaissances et opportunités.ConclusionL’évolution de l’intelligence artificielle ne transforme pas seulement la signification du travail, elle redéfinit aussi les compétences et les valeurs nécessaires pour prospérer dans un monde numérique. Les professionnels dotés d’un esprit d’apprentissage continu, de conscience éthique et d’adaptabilité stratégique seront les mieux placés pour diriger cette nouvelle ère.Les défis sont importants, mais les opportunités le sont tout autant. L’avenir du travail a déjà commencé ; adopter l’IA avec vision, équilibre et curiosité est la voie la plus intelligente vers un succès durable.Innovation Découvrez comment l’intelligence artificielle transforme le quotidien.TechnologieBloguesuportevirtual@futurodigital.blog© 2025. All rights reserved.Autres pagesPolitique de confidentialitéConditions générales\", doc_type=<DocumentType.ARTICLE: 'article'>, author=None, published_date=None, source=None, word_count=719, language='fr')], total_urls=2, successful_extractions=1, failed_extractions=1, failed_urls=['https://www.data-bird.co/blog/impact-ia-marche-du-travail-2025'], execution_time=15.777625, extraction_stats={'total_words': 719, 'average_words_per_doc': 719, 'doc_types': {'article': 1}, 'languages': {'fr': 1}, 'has_authors': 0, 'has_dates': 0}),\n",
       " 'summarization_output': SummarizationOutput(summaries=[DocumentSummary(document_id='doc_f7a41d94', title=\"L'Intelligence artificielle et l'avenir du travail en 2025 | Futuro Digital\", url=HttpUrl('https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025'), executive_summary=\"Voici un résumé exécutif de 2-3 phrases maximum :\\n\\nL'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l'Avenir des Emplois du Forum Économique Mondial. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l'intelligence émotionnelle et la créativité deviennent cruciales. Pour prospérer dans un monde numérique, les professionnels doivent adopter un esprit d'apprentissage continu, une conscience éthique et une adaptabilité stratégique.\", detailed_summary='**RÉSUMÉ DÉTAILLÉ**\\n\\nL\\'article \"L\\'Intelligence artificielle et l\\'avenir du travail en 2025\" de Futuro Digital explore les transformations profondes que l\\'intelligence artificielle (IA) apporte au marché du travail. Selon le Rapport sur l\\'Avenir des Emplois (2020) du Forum Économique Mondial, l\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs. Cette transformation n\\'est pas seulement quantitative, mais aussi qualitative, déplaçant la demande de tâches répétitives vers des fonctions nécessitant créativité, empathie et pensée critique.\\n\\nL\\'article souligne que l\\'automatisation continuera d\\'optimiser les tâches répétitives et les processus manuels dans des secteurs tels que l\\'industrie, la logistique, la finance et le service client. Cependant, l\\'accent se déplace vers des tâches nécessitant adaptabilité, résolution de problèmes et empathie. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.\\n\\nLes nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine, telles que les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale. L\\'apprentissage continu et la reconversion professionnelle seront la clé de la survie dans le monde du travail.\\n\\n**POINTS CLÉS**\\n\\n- L\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs.\\n- L\\'accent se déplace vers des tâches nécessitant créativité, empathie et pensée critique.\\n- Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.\\n- Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n- L\\'apprentissage continu et la reconversion professionnelle seront la clé de la survie dans le monde du travail.\\n\\n**ARGUMENTS PRINCIPAUX**\\n\\n- L\\'auteur soutient que l\\'IA transforme profondément le marché du travail, déplaçant la demande de tâches répétitives vers des fonctions nécessitant créativité, empathie et pensée critique.\\n- L\\'auteur souligne l\\'importance de l\\'apprentissage continu et de la reconversion professionnelle pour survivre dans le monde du travail.\\n- L\\'auteur met en avant les nouvelles opportunités professionnelles émergentes à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n\\n**DONNÉES ET STATISTIQUES**\\n\\n- 85 millions d\\'emplois pourraient être remplacés par l\\'automatisation et l\\'IA.\\n- 97 millions de nouveaux postes pourraient être créés dans différents secteurs.\\n- 85 % des emplois pourraient être impactés par l\\'automatisation et l\\'IA d\\'ici 2025.\\n\\n**MÉTHODOLOGIE**\\n\\n- L\\'article ne mentionne pas de méthode spécifique utilisée pour collecter les données ou établir les prédictions.\\n- Les chiffres et les statistiques mentionnés sont probablement basés sur des études et des rapports existants.\\n\\n**LIMITATIONS**\\n\\n- L\\'article ne prend pas en compte les facteurs tels que la qualité de la formation et la disponibilité des ressources pour les professionnels qui souhaitent se reconvertis.\\n- L\\'article ne mentionne pas les conséquences potentielles de l\\'automatisation et de l\\'IA sur les travailleurs qui ne possèdent pas les compétences nécessaires pour se reconvertis.\\n- L\\'article ne prend pas en compte les facteurs tels que la réglementation et la gouvernance de l\\'IA.', key_points=[KeyPoint(title=\"L'automatisation et l'IA pourraient remplacer envi...\", content=\"L'automatisation et l'IA pourraient remplacer environ 85 millions d'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs.\", importance=0.8, category='general'), KeyPoint(title=\"L'accent se déplace vers des tâches nécessitant cr...\", content=\"L'accent se déplace vers des tâches nécessitant créativité, empathie et pensée critique.\", importance=0.8, category='general'), KeyPoint(title='Les professionnels capables de combiner savoir tec...', content='Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.', importance=0.8, category='general'), KeyPoint(title='Les nouvelles opportunités professionnelles émerge...', content=\"Les nouvelles opportunités professionnelles émergent à l'intersection de la technologie et de l'intelligence humaine.\", importance=0.8, category='general'), KeyPoint(title=\"L'apprentissage continu et la reconversion profess...\", content=\"L'apprentissage continu et la reconversion professionnelle seront la clé de la survie dans le monde du travail.\", importance=0.8, category='general')], main_arguments=[], important_citations=[], statistics=[], sentiment='positif', bias_assessment=None, credibility_score=0.08, processed_at=datetime.datetime(2025, 11, 17, 22, 18, 49, 252282), processing_time=2.861614)], total_documents=1, total_processing_time=2.864611, average_credibility=0.08, common_themes=[], consensus_points=[], conflicting_views=[], timestamp=datetime.datetime(2025, 11, 17, 22, 18, 49, 252282)),\n",
       " 'global_synthesis_output': GlobalSynthesisOutput(final_report=FinalReport(report_id='rpt_20251117_2219_439ae319', title='Analyse de Recherche: Sujet De Synthèse', topic='Sujet de synthèse', generated_at=datetime.datetime(2025, 11, 17, 22, 19, 50, 147298), report_type=<ReportType.DETAILED: 'detailed'>, report_format=<ReportFormat.MARKDOWN: 'markdown'>, executive_summary=ExecutiveSummary(key_findings=[\"**RÉSUMÉ EXÉCUTIF**\\n\\nL'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l'Avenir des Emplois du Forum Économique Mondial.\", \"Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l'intelligence émotionnelle et la créativité deviennent cruciales.\", \"Pour prospérer dans un monde numérique, les professionnels doivent adopter un esprit d'apprentissage continu, une conscience éthique et une adaptabilité stratégique.\"], main_insights=[], recommendations=[], summary_text=\"**RÉSUMÉ EXÉCUTIF**\\n\\nL'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l'Avenir des Emplois du Forum Économique Mondial. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l'intelligence émotionnelle et la créativité deviennent cruciales. Pour prospérer dans un m...\"), introduction='Ce rapport présente une analyse complète du sujet \"Sujet de synthèse\" \\n            basée sur l\\'analyse de 1 sources documentaires.\\n\\n            L\\'analyse a été réalisée par un système d\\'intelligence artificielle utilisant des \\n            méthodes d\\'extraction automatique de contenu, de résumé intelligent et de synthèse \\n            thématique transversale.', main_sections=[ReportSection(title=\"**L'Automatisation et l'IA Remettent en Question les Emplois Existants**\", content=\"Selon le Rapport sur l'Avenir des Emplois du Forum Économique Mondial, l'automatisation et l'IA pourraient remplacer environ 85 millions d'emplois, mais 97 millions de nouveaux postes pourraient être créés dans différents secteurs. Les emplois les plus susceptibles d'être remplacés sont ceux qui impliquent des tâches répétitives et manuelles, tandis que les emplois qui nécessitent créativité, empathie et pensée critique sont plus susceptibles de se développer.\", subsections=[], order=1), ReportSection(title=\"**L'Accent Se Déplace Vers Des Tâches Nécessitant Créativité et Empathie**\", content=\"Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables dans un monde numérique. Les soft skills comme la collaboration, l'intelligence émotionnelle et la créativité deviennent cruciales pour réussir dans un environnement de travail en constante évolution.\", subsections=[], order=2), ReportSection(title='Analyse Thématique Détaillée', content=\"## THÈME 1: L'Impact de l'Intelligence Artificielle sur le Marché du Travail\\n\\n### Synthèse\\nL'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant environ 85 millions d'emplois tout en créant 97 millions de nouveaux postes dans différents secteurs. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l'intelligence émotionnelle et la créativité deviennent cruciales.\\n\\n### Points clés\\n- L'automatisation et l'IA pourraient remplacer environ 85 millions d'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs.\\n- L'accent se déplace vers des tâches nécessitant créativité, empathie et pensée critique.\\n- Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.\\n\\n### Implications\\nL'impact de l'IA sur le marché du travail est considérable. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi. Cependant, les nouvelles opportunités professionnelles émergent à l'intersection de la technologie et de l'intelligence humaine, telles que les carrières en science des données, cybersécurité, développement de l'IA, conception d'expériences numériques et analyse comportementale.\\n\\n## THÈME 2: Les Nouvelles Opportunités Professionnelles\\n\\n### Synthèse\\nLes nouvelles opportunités professionnelles émergent à l'intersection de la technologie et de l'intelligence humaine. Les carrières en science des données, cybersécurité, développement de l'IA, conception d'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.\\n\\n### Points clés\\n- Les nouvelles opportunités professionnelles émergent à l'intersection de la technologie et de l'intelligence humaine.\\n- Les carrières en science des données, cybersécurité, développement de l'IA, conception d'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.\\n\\n### Implications\\nLes nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.\\n\\n## THÈME 3: L'Importance de l'Apprentissage Continu et de la Reconversion Professionnelle\\n\\n### Synthèse\\nL'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n\\n### Points clés\\n- L'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail.\\n- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n\\n### Implications\\nL'apprentissage continu et la reconversion professionnelle nécessitent une formation continue et une reconnaissance des compétences existantes. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.\\n\\n## THÈME 4: Les Limitations et les Enjeux Associés\\n\\n### Synthèse\\nLes limitations et les enjeux associés à l'impact de l'IA sur le marché du travail sont nombreux. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi, et les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.\\n\\n### Points clés\\n- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n- Les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.\\n\\n### Implications\\nLes limitations et les enjeux associés à l'impact de l'IA sur le marché du travail nécessitent une attention particulière. Les professionnels, les entreprises et les gouvernements doivent travailler ensemble pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\n## HIÉRARCHISATION\\nLes thèmes sont classés par ordre d'importance/impact comme suit :\\n\\n1. **L'Impact de l'Intelligence Artificielle sur le Marché du Travail** : C'est le thème le plus important car il affecte directement les professionnels et les entreprises.\\n2. **Les Nouvelles Opportunités Professionnelles** : C'est le deuxième thème le plus important car il offre des opportunités de carrière pour les professionnels qui souhaitent se reconvertis.\\n3. **L'Importance de l'Apprentissage Continu et de la Reconversion Professionnelle** : C'est le troisième thème le plus important car il nécessite une formation continue et une reconnaissance des compétences existantes.\\n4. **Les Limitations et les Enjeux Associés** : C'est le quatrième thème le plus important car il nécessite une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\nLes liens entre les différents thèmes sont les suivants :\\n\\n* L'impact de l'IA sur le marché du travail est directement lié aux nouvelles opportunités professionnelles qui émergent.\\n* Les nouvelles opportunités professionnelles nécessitent une formation continue et une reconnaissance des compétences existantes, ce qui est lié à l'importance de l'apprentissage continu et de la reconversion professionnelle.\\n* Les limitations et les enjeux associés à l'impact de l'IA sur le marché du travail nécessitent une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\", subsections=[], order=2), ReportSection(title=\"**Les Nouvelles Opportunités Professionnelles Émergent à L'Intersection de la Technologie et de l'Intelligence Humaine**\", content=\"Les carrières en science des données, cybersécurité, développement de l'IA, conception d'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités émergentes à l'intersection de la technologie et de l'intelligence humaine.\", subsections=[], order=3), ReportSection(title=\"**L'Apprentissage Continu et la Reconversion Professionnelle Sont Essentiels**\", content=\"Les professionnels doivent adopter un esprit d'apprentissage continu, une conscience éthique et une adaptabilité stratégique pour prospérer dans un monde numérique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\\n\\n**TENDANCES ET IMPLICATIONS**\\n\\nLes tendances émergentes dans le monde du travail sont :\\n\\n* L'automatisation et l'IA remettent en question les emplois existants\\n* L'accent se déplace vers des tâches nécessitant créativité et empathie\\n* Les nouvelles opportunités professionnelles émergent à l'intersection de la technologie et de l'intelligence humaine\\n* L'apprentissage continu et la reconversion professionnelle sont essentiels\\n\\nLes implications futures pour les professionnels et les entreprises sont :\\n\\n* Les professionnels doivent adopter un esprit d'apprentissage continu et une conscience éthique\\n* Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés\\n* Les entreprises doivent se préparer à l'avenir du travail en investissant dans la recherche et le développement de nouvelles technologies\\n\\n**CONCLUSION**\\n\\nL'intelligence artificielle est en train de transformer profondément le marché du travail, remplaçant des emplois tout en créant de nouvelles opportunités. Les professionnels et les entreprises doivent se préparer à l'avenir du travail en adoptant un esprit d'apprentissage continu, une conscience éthique et une adaptabilité stratégique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\", subsections=[], order=4)], conclusion='Cette analyse de \"Sujet de synthèse\" révèle des insights importants \\n            basés sur 1 sources analysées. \\n\\n            Les résultats présentés dans ce rapport offrent une perspective complète sur \\n            les différents aspects du sujet, avec un score de confiance global de \\n            0.31/1.0.\\n\\n            Pour des décisions importantes, il est recommandé de compléter cette analyse \\n            par une vérification humaine et des sources supplémentaires si nécessaire.', key_themes=[], consensus_points=[], conflicting_viewpoints=[], emerging_trends=[], methodology=Methodology(research_approach='Recherche web automatisée avec synthèse par IA', sources_count=1, analysis_methods=['Extraction automatique de contenu web', 'Analyse et résumé par intelligence artificielle', 'Synthèse thématique transversale', 'Évaluation de crédibilité des sources'], limitations=['Analyse limitée aux sources web accessibles publiquement', 'Évaluation de crédibilité basée sur des critères automatisés', 'Synthèse générée par IA - vérification humaine recommandée'], data_quality_assessment='Qualité des données évaluée sur 1 sources analysées.\\nScore de crédibilité moyen: 0.08/1.0.\\nSources diversifiées avec analyse automatisée de sentiment et biais.'), sources=[SourceReference(title=\"L'Intelligence artificielle et l'avenir du travail en 2025 | Futuro Digital\", url='https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025', author=None, publication_date=None, credibility_score=0.08, citation_count=1)], confidence_score=0.31200000000000006, completeness_score=0.2, total_sources_analyzed=1, processing_time=0.0, word_count=1325), synthesis_metadata={'synthesis_approach': 'comprehensive', 'llm_model_used': 'groq/llama-3.1-8b-instant', 'quality_checks_passed': False}, processing_stats={'input_summaries': 1, 'synthesis_time': 60.89202, 'final_report_words': 1325, 'sections_generated': 5}, formatted_outputs={'markdown': '# Analyse de Recherche: Sujet De Synthèse\\n\\n**Sujet:** Sujet de synthèse  \\n**Date de génération:** 17/11/2025 22:19  \\n**ID du rapport:** rpt_20251117_2219_439ae319\\n\\n---\\n\\n## Résumé Exécutif\\n\\n**RÉSUMÉ EXÉCUTIF**\\n\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales. Pour prospérer dans un m...\\n\\n### Conclusions Principales\\n- **RÉSUMÉ EXÉCUTIF**\\n\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial.\\n- Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales.\\n- Pour prospérer dans un monde numérique, les professionnels doivent adopter un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique.\\n\\n### Insights Clés\\n\\n\\n### Recommandations\\n\\n\\n---\\n\\n## Introduction\\n\\nCe rapport présente une analyse complète du sujet \"Sujet de synthèse\" \\n            basée sur l\\'analyse de 1 sources documentaires.\\n\\n            L\\'analyse a été réalisée par un système d\\'intelligence artificielle utilisant des \\n            méthodes d\\'extraction automatique de contenu, de résumé intelligent et de synthèse \\n            thématique transversale.\\n\\n---\\n\\n## **L\\'Automatisation et l\\'IA Remettent en Question les Emplois Existants**\\n\\nSelon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial, l\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, mais 97 millions de nouveaux postes pourraient être créés dans différents secteurs. Les emplois les plus susceptibles d\\'être remplacés sont ceux qui impliquent des tâches répétitives et manuelles, tandis que les emplois qui nécessitent créativité, empathie et pensée critique sont plus susceptibles de se développer.\\n\\n---\\n\\n## **L\\'Accent Se Déplace Vers Des Tâches Nécessitant Créativité et Empathie**\\n\\nLes professionnels capables de combiner savoir technique et compétences humaines resteront indispensables dans un monde numérique. Les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales pour réussir dans un environnement de travail en constante évolution.\\n\\n---\\n\\n## Analyse Thématique Détaillée\\n\\n## THÈME 1: L\\'Impact de l\\'Intelligence Artificielle sur le Marché du Travail\\n\\n### Synthèse\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant environ 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes dans différents secteurs. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales.\\n\\n### Points clés\\n- L\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs.\\n- L\\'accent se déplace vers des tâches nécessitant créativité, empathie et pensée critique.\\n- Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.\\n\\n### Implications\\nL\\'impact de l\\'IA sur le marché du travail est considérable. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi. Cependant, les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine, telles que les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale.\\n\\n## THÈME 2: Les Nouvelles Opportunités Professionnelles\\n\\n### Synthèse\\nLes nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine. Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.\\n\\n### Points clés\\n- Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n- Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.\\n\\n### Implications\\nLes nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.\\n\\n## THÈME 3: L\\'Importance de l\\'Apprentissage Continu et de la Reconversion Professionnelle\\n\\n### Synthèse\\nL\\'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n\\n### Points clés\\n- L\\'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail.\\n- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n\\n### Implications\\nL\\'apprentissage continu et la reconversion professionnelle nécessitent une formation continue et une reconnaissance des compétences existantes. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.\\n\\n## THÈME 4: Les Limitations et les Enjeux Associés\\n\\n### Synthèse\\nLes limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail sont nombreux. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi, et les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.\\n\\n### Points clés\\n- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n- Les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.\\n\\n### Implications\\nLes limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail nécessitent une attention particulière. Les professionnels, les entreprises et les gouvernements doivent travailler ensemble pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\n## HIÉRARCHISATION\\nLes thèmes sont classés par ordre d\\'importance/impact comme suit :\\n\\n1. **L\\'Impact de l\\'Intelligence Artificielle sur le Marché du Travail** : C\\'est le thème le plus important car il affecte directement les professionnels et les entreprises.\\n2. **Les Nouvelles Opportunités Professionnelles** : C\\'est le deuxième thème le plus important car il offre des opportunités de carrière pour les professionnels qui souhaitent se reconvertis.\\n3. **L\\'Importance de l\\'Apprentissage Continu et de la Reconversion Professionnelle** : C\\'est le troisième thème le plus important car il nécessite une formation continue et une reconnaissance des compétences existantes.\\n4. **Les Limitations et les Enjeux Associés** : C\\'est le quatrième thème le plus important car il nécessite une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\nLes liens entre les différents thèmes sont les suivants :\\n\\n* L\\'impact de l\\'IA sur le marché du travail est directement lié aux nouvelles opportunités professionnelles qui émergent.\\n* Les nouvelles opportunités professionnelles nécessitent une formation continue et une reconnaissance des compétences existantes, ce qui est lié à l\\'importance de l\\'apprentissage continu et de la reconversion professionnelle.\\n* Les limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail nécessitent une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\n---\\n\\n## **Les Nouvelles Opportunités Professionnelles Émergent à L\\'Intersection de la Technologie et de l\\'Intelligence Humaine**\\n\\nLes carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités émergentes à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n\\n---\\n\\n## **L\\'Apprentissage Continu et la Reconversion Professionnelle Sont Essentiels**\\n\\nLes professionnels doivent adopter un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique pour prospérer dans un monde numérique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\\n\\n**TENDANCES ET IMPLICATIONS**\\n\\nLes tendances émergentes dans le monde du travail sont :\\n\\n* L\\'automatisation et l\\'IA remettent en question les emplois existants\\n* L\\'accent se déplace vers des tâches nécessitant créativité et empathie\\n* Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine\\n* L\\'apprentissage continu et la reconversion professionnelle sont essentiels\\n\\nLes implications futures pour les professionnels et les entreprises sont :\\n\\n* Les professionnels doivent adopter un esprit d\\'apprentissage continu et une conscience éthique\\n* Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés\\n* Les entreprises doivent se préparer à l\\'avenir du travail en investissant dans la recherche et le développement de nouvelles technologies\\n\\n**CONCLUSION**\\n\\nL\\'intelligence artificielle est en train de transformer profondément le marché du travail, remplaçant des emplois tout en créant de nouvelles opportunités. Les professionnels et les entreprises doivent se préparer à l\\'avenir du travail en adoptant un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\\n\\n---\\n\\n## Conclusion\\n\\nCette analyse de \"Sujet de synthèse\" révèle des insights importants \\n            basés sur 1 sources analysées. \\n\\n            Les résultats présentés dans ce rapport offrent une perspective complète sur \\n            les différents aspects du sujet, avec un score de confiance global de \\n            0.31/1.0.\\n\\n            Pour des décisions importantes, il est recommandé de compléter cette analyse \\n            par une vérification humaine et des sources supplémentaires si nécessaire.\\n\\n---\\n\\n## Méthodologie\\n\\n            **Approche:** Recherche web automatisée avec synthèse par IA  \\n            **Sources analysées:** 1  \\n            **Score de confiance:** 0.31/1.0\\n\\n            ### Méthodes d\\'Analyse\\n            - Extraction automatique de contenu web\\n- Analyse et résumé par intelligence artificielle\\n- Synthèse thématique transversale\\n- Évaluation de crédibilité des sources\\n\\n            ### Limitations\\n            - Analyse limitée aux sources web accessibles publiquement\\n- Évaluation de crédibilité basée sur des critères automatisés\\n- Synthèse générée par IA - vérification humaine recommandée\\n\\n            ---\\n\\n            ## Sources\\n\\n        1. **L\\'Intelligence artificielle et l\\'avenir du travail en 2025 | Futuro Digital**  \\n   URL: https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025  \\n   Crédibilité: 0.08/1.0  \\n\\n', 'text': '\\n            Analyse de Recherche: Sujet De Synthèse\\n            =======================================\\n\\n            Sujet: Sujet de synthèse\\n            Date: 17/11/2025 22:19\\n            ID: rpt_20251117_2219_439ae319\\n\\n            RÉSUMÉ EXÉCUTIF\\n            --------------------\\n\\n            **RÉSUMÉ EXÉCUTIF**\\n\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales. Pour prospérer dans un m...\\n\\n            CONCLUSIONS PRINCIPALES:\\n            • **RÉSUMÉ EXÉCUTIF**\\n\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial.\\n• Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales.\\n• Pour prospérer dans un monde numérique, les professionnels doivent adopter un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique.\\n\\n            INTRODUCTION\\n            ---------------\\n\\n            Ce rapport présente une analyse complète du sujet \"Sujet de synthèse\" \\n            basée sur l\\'analyse de 1 sources documentaires.\\n\\n            L\\'analyse a été réalisée par un système d\\'intelligence artificielle utilisant des \\n            méthodes d\\'extraction automatique de contenu, de résumé intelligent et de synthèse \\n            thématique transversale.\\n\\n        \\n**L\\'AUTOMATISATION ET L\\'IA REMETTENT EN QUESTION LES EMPLOIS EXISTANTS**\\n------------------------------------------------------------------------\\n\\nSelon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial, l\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, mais 97 millions de nouveaux postes pourraient être créés dans différents secteurs. Les emplois les plus susceptibles d\\'être remplacés sont ceux qui impliquent des tâches répétitives et manuelles, tandis que les emplois qui nécessitent créativité, empathie et pensée critique sont plus susceptibles de se développer.\\n\\n\\n**L\\'ACCENT SE DÉPLACE VERS DES TÂCHES NÉCESSITANT CRÉATIVITÉ ET EMPATHIE**\\n--------------------------------------------------------------------------\\n\\nLes professionnels capables de combiner savoir technique et compétences humaines resteront indispensables dans un monde numérique. Les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales pour réussir dans un environnement de travail en constante évolution.\\n\\n\\nANALYSE THÉMATIQUE DÉTAILLÉE\\n----------------------------\\n\\n## THÈME 1: L\\'Impact de l\\'Intelligence Artificielle sur le Marché du Travail\\n\\n### Synthèse\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant environ 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes dans différents secteurs. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales.\\n\\n### Points clés\\n- L\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs.\\n- L\\'accent se déplace vers des tâches nécessitant créativité, empathie et pensée critique.\\n- Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.\\n\\n### Implications\\nL\\'impact de l\\'IA sur le marché du travail est considérable. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi. Cependant, les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine, telles que les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale.\\n\\n## THÈME 2: Les Nouvelles Opportunités Professionnelles\\n\\n### Synthèse\\nLes nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine. Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.\\n\\n### Points clés\\n- Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n- Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.\\n\\n### Implications\\nLes nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.\\n\\n## THÈME 3: L\\'Importance de l\\'Apprentissage Continu et de la Reconversion Professionnelle\\n\\n### Synthèse\\nL\\'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n\\n### Points clés\\n- L\\'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail.\\n- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n\\n### Implications\\nL\\'apprentissage continu et la reconversion professionnelle nécessitent une formation continue et une reconnaissance des compétences existantes. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.\\n\\n## THÈME 4: Les Limitations et les Enjeux Associés\\n\\n### Synthèse\\nLes limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail sont nombreux. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi, et les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.\\n\\n### Points clés\\n- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.\\n- Les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.\\n\\n### Implications\\nLes limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail nécessitent une attention particulière. Les professionnels, les entreprises et les gouvernements doivent travailler ensemble pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\n## HIÉRARCHISATION\\nLes thèmes sont classés par ordre d\\'importance/impact comme suit :\\n\\n1. **L\\'Impact de l\\'Intelligence Artificielle sur le Marché du Travail** : C\\'est le thème le plus important car il affecte directement les professionnels et les entreprises.\\n2. **Les Nouvelles Opportunités Professionnelles** : C\\'est le deuxième thème le plus important car il offre des opportunités de carrière pour les professionnels qui souhaitent se reconvertis.\\n3. **L\\'Importance de l\\'Apprentissage Continu et de la Reconversion Professionnelle** : C\\'est le troisième thème le plus important car il nécessite une formation continue et une reconnaissance des compétences existantes.\\n4. **Les Limitations et les Enjeux Associés** : C\\'est le quatrième thème le plus important car il nécessite une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\nLes liens entre les différents thèmes sont les suivants :\\n\\n* L\\'impact de l\\'IA sur le marché du travail est directement lié aux nouvelles opportunités professionnelles qui émergent.\\n* Les nouvelles opportunités professionnelles nécessitent une formation continue et une reconnaissance des compétences existantes, ce qui est lié à l\\'importance de l\\'apprentissage continu et de la reconversion professionnelle.\\n* Les limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail nécessitent une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n\\n\\n**LES NOUVELLES OPPORTUNITÉS PROFESSIONNELLES ÉMERGENT À L\\'INTERSECTION DE LA TECHNOLOGIE ET DE L\\'INTELLIGENCE HUMAINE**\\n------------------------------------------------------------------------------------------------------------------------\\n\\nLes carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités émergentes à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n\\n\\n**L\\'APPRENTISSAGE CONTINU ET LA RECONVERSION PROFESSIONNELLE SONT ESSENTIELS**\\n------------------------------------------------------------------------------\\n\\nLes professionnels doivent adopter un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique pour prospérer dans un monde numérique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\\n\\n**TENDANCES ET IMPLICATIONS**\\n\\nLes tendances émergentes dans le monde du travail sont :\\n\\n* L\\'automatisation et l\\'IA remettent en question les emplois existants\\n* L\\'accent se déplace vers des tâches nécessitant créativité et empathie\\n* Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine\\n* L\\'apprentissage continu et la reconversion professionnelle sont essentiels\\n\\nLes implications futures pour les professionnels et les entreprises sont :\\n\\n* Les professionnels doivent adopter un esprit d\\'apprentissage continu et une conscience éthique\\n* Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés\\n* Les entreprises doivent se préparer à l\\'avenir du travail en investissant dans la recherche et le développement de nouvelles technologies\\n\\n**CONCLUSION**\\n\\nL\\'intelligence artificielle est en train de transformer profondément le marché du travail, remplaçant des emplois tout en créant de nouvelles opportunités. Les professionnels et les entreprises doivent se préparer à l\\'avenir du travail en adoptant un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\\n\\nCONCLUSION\\n----------\\n\\nCette analyse de \"Sujet de synthèse\" révèle des insights importants \\n            basés sur 1 sources analysées. \\n\\n            Les résultats présentés dans ce rapport offrent une perspective complète sur \\n            les différents aspects du sujet, avec un score de confiance global de \\n            0.31/1.0.\\n\\n            Pour des décisions importantes, il est recommandé de compléter cette analyse \\n            par une vérification humaine et des sources supplémentaires si nécessaire.\\n\\n', 'html': '\\n            <!DOCTYPE html>\\n            <html>\\n            <head>\\n                <title>Analyse de Recherche: Sujet De Synthèse</title>\\n                <meta charset=\"utf-8\">\\n                <style>\\n                    body { font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }\\n                    h1 { color: #333; border-bottom: 2px solid #333; }\\n                    h2 { color: #666; border-bottom: 1px solid #ccc; }\\n                    .metadata { background: #f5f5f5; padding: 15px; border-radius: 5px; }\\n                    .section { margin: 20px 0; }\\n                    ul { margin: 10px 0; }\\n                </style>\\n            </head>\\n            <body>\\n                <h1>Analyse de Recherche: Sujet De Synthèse</h1>\\n                \\n                <div class=\"metadata\">\\n                    <strong>Sujet:</strong> Sujet de synthèse<br>\\n                    <strong>Date:</strong> 17/11/2025 22:19<br>\\n                    <strong>Score de confiance:</strong> 0.31/1.0\\n                </div>\\n                \\n                <h2>Résumé Exécutif</h2>\\n                <p>**RÉSUMÉ EXÉCUTIF**\\n\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales. Pour prospérer dans un m...</p>\\n                \\n                <h3>Conclusions Principales</h3>\\n                <ul>\\n                    <li>**RÉSUMÉ EXÉCUTIF**\\n\\nL\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes, selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial.</li><li>Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales.</li><li>Pour prospérer dans un monde numérique, les professionnels doivent adopter un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique.</li>\\n                </ul>\\n                \\n                <h2>Introduction</h2>\\n                <p>Ce rapport présente une analyse complète du sujet \"Sujet de synthèse\" \\n            basée sur l\\'analyse de 1 sources documentaires.\\n\\n            L\\'analyse a été réalisée par un système d\\'intelligence artificielle utilisant des \\n            méthodes d\\'extraction automatique de contenu, de résumé intelligent et de synthèse \\n            thématique transversale.</p>\\n        \\n                <h2>**L\\'Automatisation et l\\'IA Remettent en Question les Emplois Existants**</h2>\\n                <div class=\"section\">\\n                    Selon le Rapport sur l\\'Avenir des Emplois du Forum Économique Mondial, l\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, mais 97 millions de nouveaux postes pourraient être créés dans différents secteurs. Les emplois les plus susceptibles d\\'être remplacés sont ceux qui impliquent des tâches répétitives et manuelles, tandis que les emplois qui nécessitent créativité, empathie et pensée critique sont plus susceptibles de se développer.\\n                </div>\\n            \\n                <h2>**L\\'Accent Se Déplace Vers Des Tâches Nécessitant Créativité et Empathie**</h2>\\n                <div class=\"section\">\\n                    Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables dans un monde numérique. Les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales pour réussir dans un environnement de travail en constante évolution.\\n                </div>\\n            \\n                <h2>Analyse Thématique Détaillée</h2>\\n                <div class=\"section\">\\n                    ## THÈME 1: L\\'Impact de l\\'Intelligence Artificielle sur le Marché du Travail<br><br>### Synthèse<br>L\\'intelligence artificielle (IA) transforme profondément le marché du travail, remplaçant environ 85 millions d\\'emplois tout en créant 97 millions de nouveaux postes dans différents secteurs. Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables, tandis que les soft skills comme la collaboration, l\\'intelligence émotionnelle et la créativité deviennent cruciales.<br><br>### Points clés<br>- L\\'automatisation et l\\'IA pourraient remplacer environ 85 millions d\\'emplois, tout en créant 97 millions de nouveaux postes dans différents secteurs.<br>- L\\'accent se déplace vers des tâches nécessitant créativité, empathie et pensée critique.<br>- Les professionnels capables de combiner savoir technique et compétences humaines resteront indispensables.<br><br>### Implications<br>L\\'impact de l\\'IA sur le marché du travail est considérable. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi. Cependant, les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine, telles que les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale.<br><br>## THÈME 2: Les Nouvelles Opportunités Professionnelles<br><br>### Synthèse<br>Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine. Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.<br><br>### Points clés<br>- Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine.<br>- Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités qui se présentent.<br><br>### Implications<br>Les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.<br><br>## THÈME 3: L\\'Importance de l\\'Apprentissage Continu et de la Reconversion Professionnelle<br><br>### Synthèse<br>L\\'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.<br><br>### Points clés<br>- L\\'apprentissage continu et la reconversion professionnelle sont la clé de la survie dans le monde du travail.<br>- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.<br><br>### Implications<br>L\\'apprentissage continu et la reconversion professionnelle nécessitent une formation continue et une reconnaissance des compétences existantes. Les professionnels qui souhaitent se reconvertis doivent acquérir les compétences nécessaires pour répondre aux besoins du marché du travail.<br><br>## THÈME 4: Les Limitations et les Enjeux Associés<br><br>### Synthèse<br>Les limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail sont nombreux. Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi, et les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.<br><br>### Points clés<br>- Les professionnels qui ne possèdent pas les compétences nécessaires pour se reconvertis risquent de perdre leur emploi.<br>- Les nouvelles opportunités professionnelles nécessitent une formation et une reconversion professionnelle continues.<br><br>### Implications<br>Les limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail nécessitent une attention particulière. Les professionnels, les entreprises et les gouvernements doivent travailler ensemble pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.<br><br>## HIÉRARCHISATION<br>Les thèmes sont classés par ordre d\\'importance/impact comme suit :<br><br>1. **L\\'Impact de l\\'Intelligence Artificielle sur le Marché du Travail** : C\\'est le thème le plus important car il affecte directement les professionnels et les entreprises.<br>2. **Les Nouvelles Opportunités Professionnelles** : C\\'est le deuxième thème le plus important car il offre des opportunités de carrière pour les professionnels qui souhaitent se reconvertis.<br>3. **L\\'Importance de l\\'Apprentissage Continu et de la Reconversion Professionnelle** : C\\'est le troisième thème le plus important car il nécessite une formation continue et une reconnaissance des compétences existantes.<br>4. **Les Limitations et les Enjeux Associés** : C\\'est le quatrième thème le plus important car il nécessite une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.<br><br>Les liens entre les différents thèmes sont les suivants :<br><br>* L\\'impact de l\\'IA sur le marché du travail est directement lié aux nouvelles opportunités professionnelles qui émergent.<br>* Les nouvelles opportunités professionnelles nécessitent une formation continue et une reconnaissance des compétences existantes, ce qui est lié à l\\'importance de l\\'apprentissage continu et de la reconversion professionnelle.<br>* Les limitations et les enjeux associés à l\\'impact de l\\'IA sur le marché du travail nécessitent une attention particulière pour développer des solutions qui répondent aux besoins du marché du travail et des professionnels.\\n                </div>\\n            \\n                <h2>**Les Nouvelles Opportunités Professionnelles Émergent à L\\'Intersection de la Technologie et de l\\'Intelligence Humaine**</h2>\\n                <div class=\"section\">\\n                    Les carrières en science des données, cybersécurité, développement de l\\'IA, conception d\\'expériences numériques et analyse comportementale sont quelques-unes des nouvelles opportunités émergentes à l\\'intersection de la technologie et de l\\'intelligence humaine.\\n                </div>\\n            \\n                <h2>**L\\'Apprentissage Continu et la Reconversion Professionnelle Sont Essentiels**</h2>\\n                <div class=\"section\">\\n                    Les professionnels doivent adopter un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique pour prospérer dans un monde numérique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.<br><br>**TENDANCES ET IMPLICATIONS**<br><br>Les tendances émergentes dans le monde du travail sont :<br><br>* L\\'automatisation et l\\'IA remettent en question les emplois existants<br>* L\\'accent se déplace vers des tâches nécessitant créativité et empathie<br>* Les nouvelles opportunités professionnelles émergent à l\\'intersection de la technologie et de l\\'intelligence humaine<br>* L\\'apprentissage continu et la reconversion professionnelle sont essentiels<br><br>Les implications futures pour les professionnels et les entreprises sont :<br><br>* Les professionnels doivent adopter un esprit d\\'apprentissage continu et une conscience éthique<br>* Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés<br>* Les entreprises doivent se préparer à l\\'avenir du travail en investissant dans la recherche et le développement de nouvelles technologies<br><br>**CONCLUSION**<br><br>L\\'intelligence artificielle est en train de transformer profondément le marché du travail, remplaçant des emplois tout en créant de nouvelles opportunités. Les professionnels et les entreprises doivent se préparer à l\\'avenir du travail en adoptant un esprit d\\'apprentissage continu, une conscience éthique et une adaptabilité stratégique. Les entreprises doivent investir dans la formation et la reconversion professionnelle de leurs employés, ainsi que dans la recherche et le développement de nouvelles technologies.\\n                </div>\\n            \\n            <h2>Conclusion</h2>\\n            <p>Cette analyse de \"Sujet de synthèse\" révèle des insights importants \\n            basés sur 1 sources analysées. \\n\\n            Les résultats présentés dans ce rapport offrent une perspective complète sur \\n            les différents aspects du sujet, avec un score de confiance global de \\n            0.31/1.0.\\n\\n            Pour des décisions importantes, il est recommandé de compléter cette analyse \\n            par une vérification humaine et des sources supplémentaires si nécessaire.</p>\\n            \\n            <h2>Sources</h2>\\n            <ol>\\n        \\n                    <li>\\n                        <strong>L\\'Intelligence artificielle et l\\'avenir du travail en 2025 | Futuro Digital</strong><br>\\n                        <a href=\"https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025\">https://futurodigital.blog/fr/intelligence-artificielle-avenir-du-travail-2025</a>\\n                        <br>Crédibilité: 0.08/1.0\\n                    </li>\\n            \\n            </ol>\\n        </body>\\n        </html>\\n        '}, timestamp=datetime.datetime(2025, 11, 17, 22, 19, 50, 147298)),\n",
       " 'attempts': 1}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "ec6481db",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\sirou\\AppData\\Roaming\\Python\\Python312\\site-packages\\debugpy\\_vendored\\pydevd\\_pydevd_bundle\\pydevd_trace_dispatch_regular.py:326: RuntimeWarning: coroutine 'main' was never awaited\n",
      "  def __call__(self, frame, event, arg):\n",
      "RuntimeWarning: Enable tracemalloc to get the object allocation traceback\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200\n",
      "<!DOCTYPE html><html lang=\"en\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width\"/><meta name=\"next-head-count\" content=\"2\"/><link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css\"/><meta name=\"theme-color\" content=\"#052425\"/><meta name=\"description\" content=\"Optimisez la gestion de votre entreprise avec nos solutions numériques complètes. Nous offrons des infrastructures et matériels informatiques haut de gamme, ainsi que l&#x27;enr\n"
     ]
    }
   ],
   "source": [
    "import httpx\n",
    "\n",
    "url = \"https://nextmux.net/company/blog-news/63-limpact-de-lia-sur-le-marche-de-lemploi-une-revolution-en-cours\"\n",
    "\n",
    "resp = httpx.get(url, headers={\"User-Agent\": \"Mozilla/5.0\"})\n",
    "print(resp.status_code)\n",
    "print(resp.text[:500])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eae718e7",
   "metadata": {},
   "source": [
    "# Interaction avec un llm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "6c245faf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2025-11-17 23:16:34 | INFO     | agent_researcher | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_researcher | Agent researcher initialisé (ID: 7829472c-d9b1-463a-b2f3-a0e328d0d51c)\n",
      "2025-11-17 23:16:34 | INFO     | search_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | tavily_api | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | search_manager | API Tavily initialisée\n",
      "2025-11-17 23:16:34 | INFO     | serper_api | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | search_manager | API Serper initialisée\n",
      "2025-11-17 23:16:34 | INFO     | agent_researcher | APIs disponibles: ['tavily', 'serper']\n",
      "2025-11-17 23:16:34 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_researcher | Service LLM initialisé pour l'extraction de mots-clés\n",
      "2025-11-17 23:16:34 | INFO     | agent_content_extractor | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_content_extractor | Agent content_extractor initialisé (ID: 022ab646-af06-4291-981a-6b002610241d)\n",
      "2025-11-17 23:16:34 | INFO     | extraction_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | content_extractor | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_summarizer | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_summarizer | Agent summarizer initialisé (ID: f145ab9a-97de-49b5-a744-3d6b4094ac8d)\n",
      "2025-11-17 23:16:34 | INFO     | llm_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | chunking_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_global_synthesizer | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | agent_global_synthesizer | Agent global_synthesizer initialisé (ID: 03544441-2885-4749-8a41-b501623eec4a)\n",
      "2025-11-17 23:16:34 | INFO     | llm_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:16:34 | INFO     | llm_service | Logger initialisé avec succès.\n"
     ]
    }
   ],
   "source": [
    "from langchain_groq import ChatGroq\n",
    "from langchain_core.messages import HumanMessage, AIMessage, SystemMessage\n",
    "from langgraph.graph import StateGraph, END\n",
    "from typing import TypedDict, Sequence, Annotated, Union\n",
    "from langchain_core.messages import BaseMessage\n",
    "from dotenv import load_dotenv\n",
    "from langchain_core.tools import tool\n",
    "import os\n",
    "from langgraph.graph.message import add_messages\n",
    "from langgraph.prebuilt import ToolNode\n",
    "import asyncio\n",
    "\n",
    "# ============================================================================\n",
    "# VOS AGENTS EXISTANTS (ne pas modifier)\n",
    "# ============================================================================\n",
    "researcher_agent = ResearcherAgent()\n",
    "content_extractor_agent = ContentExtractorAgent()\n",
    "summarizer_agent = SummarizerAgent()\n",
    "global_synthesizer_agent = GlobalSynthesizerAgent()\n",
    "\n",
    "# ============================================================================\n",
    "# OUTIL QUI ENCAPSULE VOTRE PIPELINE COMPLET\n",
    "# ============================================================================\n",
    "@tool\n",
    "def research_complete_pipeline(topic: str, max_results: Union[int, str] = 2) -> str:\n",
    "    \"\"\"Exécute un pipeline de recherche complet sur un sujet donné.\n",
    "    \n",
    "    Ce tool encapsule 4 agents qui travaillent ensemble :\n",
    "    1. ResearcherAgent : recherche web et extraction de mots-clés\n",
    "    2. ContentExtractorAgent : extraction du contenu des pages\n",
    "    3. SummarizerAgent : création de résumés détaillés\n",
    "    4. GlobalSynthesizerAgent : synthèse globale finale\n",
    "    \n",
    "    Args:\n",
    "        topic: Le sujet de recherche (ex: \"impact de l'IA sur l'emploi\")\n",
    "        max_results: Nombre de sources à analyser (2-10, défaut: 2)\n",
    "    \n",
    "    Returns:\n",
    "        Un rapport complet au format texte avec résumé exécutif et analyse détaillée\n",
    "    \"\"\"\n",
    "    # Conversion et validation\n",
    "    if isinstance(max_results, str):\n",
    "        try:\n",
    "            max_results = int(max_results)\n",
    "        except ValueError:\n",
    "            max_results = 2\n",
    "    max_results = max(2, min(max_results, 10))\n",
    "    \n",
    "    async def run_pipeline():\n",
    "        print(f\"\\n{'='*60}\")\n",
    "        print(f\"🚀 DÉMARRAGE DU PIPELINE DE RECHERCHE\")\n",
    "        print(f\"📋 Sujet: {topic}\")\n",
    "        print(f\"📊 Sources à analyser: {max_results}\")\n",
    "        print(f\"{'='*60}\\n\")\n",
    "        \n",
    "        # ÉTAPE 1: Recherche\n",
    "        print(\"🔍 [1/4] Recherche web en cours...\")\n",
    "        query = ResearchQuery(\n",
    "            topic=topic,\n",
    "            keywords=await researcher_agent.extract_keywords_with_llm(topic),\n",
    "            max_results=max_results,\n",
    "            search_depth=\"basic\"\n",
    "        )\n",
    "        research_data = await researcher_agent.process(query)\n",
    "        print(f\"✅ Trouvé {research_data.total_found} sources\")\n",
    "        \n",
    "        # ÉTAPE 2: Extraction\n",
    "        print(\"\\n📄 [2/4] Extraction du contenu...\")\n",
    "        extraction_data = await content_extractor_agent.process_from_research_output(\n",
    "            research_output=research_data\n",
    "        )\n",
    "        print(f\"✅ Extrait {extraction_data.successful_extractions} documents\")\n",
    "        \n",
    "        # ÉTAPE 3: Résumés\n",
    "        print(\"\\n📝 [3/4] Création des résumés...\")\n",
    "        summarization_data = await summarizer_agent.process_from_extraction_result(\n",
    "            extraction_result=extraction_data\n",
    "        )\n",
    "        print(f\"✅ Généré {summarization_data.total_documents} résumés\")\n",
    "        \n",
    "        # ÉTAPE 4: Synthèse globale\n",
    "        print(\"\\n🎯 [4/4] Synthèse globale...\")\n",
    "        global_synthesis = await global_synthesizer_agent.process_from_summarization_output(\n",
    "            summarization_output=summarization_data\n",
    "        )\n",
    "        print(f\"✅ Rapport final généré ({global_synthesis.final_report.word_count} mots)\")\n",
    "        \n",
    "        print(f\"\\n{'='*60}\")\n",
    "        print(\"✨ PIPELINE TERMINÉ AVEC SUCCÈS\")\n",
    "        print(f\"{'='*60}\\n\")\n",
    "        \n",
    "        # Retourner le rapport en format markdown\n",
    "        return global_synthesis.formatted_outputs.get('markdown', \n",
    "                                                        global_synthesis.formatted_outputs.get('text', \n",
    "                                                        str(global_synthesis))\n",
    "                                                        )\n",
    "    \n",
    "    return asyncio.run(run_pipeline())\n",
    "\n",
    "# ============================================================================\n",
    "# CONFIGURATION DU LLM ET DU GRAPHE\n",
    "# ============================================================================\n",
    "\n",
    "# État du graphe\n",
    "class AgentState(TypedDict):\n",
    "    messages: Annotated[Sequence[BaseMessage], add_messages]\n",
    "\n",
    "# Chargement des variables d'environnement\n",
    "load_dotenv()\n",
    "api_key = os.getenv(\"GROQ_API_KEY\")\n",
    "if not api_key:\n",
    "    raise ValueError(\"GROQ_API_KEY non définie dans .env\")\n",
    "\n",
    "# Configuration du modèle avec l'outil\n",
    "tools = [research_complete_pipeline]\n",
    "model = ChatGroq(\n",
    "    model=\"llama-3.1-8b-instant\",\n",
    "    temperature=0.3,  # Bas pour plus de cohérence\n",
    "    max_tokens=2048*2,\n",
    "    api_key=api_key\n",
    ").bind_tools(tools)\n",
    "\n",
    "# ============================================================================\n",
    "# NŒUDS DU GRAPHE\n",
    "# ============================================================================\n",
    "\n",
    "def model_call(state: AgentState) -> AgentState:\n",
    "    \"\"\"Nœud qui appelle le LLM pour décider quoi faire\"\"\"\n",
    "    \n",
    "    system_prompt = SystemMessage(content=\"\"\"Tu es un assistant de recherche intelligent.\n",
    "\n",
    "        🎯 TON RÔLE:\n",
    "        Tu aides les utilisateurs à obtenir des résumés et analyses sur n'importe quel sujet.\n",
    "\n",
    "        🔧 TON OUTIL:\n",
    "        Tu as accès à un outil puissant appelé 'research_complete_pipeline' qui :\n",
    "        - Effectue des recherches web automatiques\n",
    "        - Extrait et analyse le contenu\n",
    "        - Génère des résumés détaillés\n",
    "        - Produit une synthèse globale complète\n",
    "\n",
    "        📋 QUAND L'UTILISER:\n",
    "        Utilise cet outil quand l'utilisateur demande :\n",
    "        - Un résumé sur un sujet\n",
    "        - Des informations sur un topic\n",
    "        - Une analyse d'un domaine\n",
    "        - Une recherche documentée\n",
    "\n",
    "        💡 COMMENT L'UTILISER:\n",
    "        - Identifie le sujet principal de la demande\n",
    "        - Appelle research_complete_pipeline avec le sujet en français clair\n",
    "        - Utilise max_results=2 pour une recherche standard\n",
    "\n",
    "        ✅ EXEMPLES:\n",
    "        User: \"Résume l'impact de l'IA sur l'emploi\"\n",
    "        → Appelle: research_complete_pipeline(topic=\"impact de l'intelligence artificielle sur le marché de l'emploi\", max_results=2)\n",
    "        User: \"Fais-moi une analyse complète sur le changement climatique\"\n",
    "        → Appelle: research_complete_pipeline(topic=\"changement climatique\", max_results=3)\n",
    "\n",
    "        ⚠️ IMPORTANT:\n",
    "        - N'essaie PAS de faire la recherche toi-même\n",
    "        - Utilise TOUJOURS l'outil pour les demandes de recherche\n",
    "        - Le résultat de l'outil est déjà un rapport complet formaté\n",
    "        - Tu peux présenter le résultat directement à l'utilisateur\n",
    "    \"\"\"\n",
    "                                  \n",
    "            )\n",
    "    \n",
    "    messages = state[\"messages\"]\n",
    "    response = model.invoke([system_prompt] + messages)\n",
    "    return {\"messages\": [response]}\n",
    "\n",
    "def should_continue(state: AgentState) -> str:\n",
    "    \"\"\"Décide si on continue avec des outils ou si on termine\"\"\"\n",
    "    messages = state[\"messages\"]\n",
    "    last_message = messages[-1]\n",
    "    \n",
    "    # Si le dernier message a des appels d'outils, continuer\n",
    "    if hasattr(last_message, 'tool_calls') and last_message.tool_calls:\n",
    "        return \"continue\"\n",
    "    else:\n",
    "        return \"end\"\n",
    "\n",
    "# ============================================================================\n",
    "# CONSTRUCTION DU GRAPHE LANGGRAPH\n",
    "# ============================================================================\n",
    "\n",
    "# Créer le graphe\n",
    "graph = StateGraph(AgentState)\n",
    "\n",
    "# Ajouter les nœuds\n",
    "graph.add_node(\"llm\", model_call)\n",
    "tool_node = ToolNode(tools=tools)\n",
    "graph.add_node(\"tools\", tool_node)\n",
    "\n",
    "# Définir le point d'entrée\n",
    "graph.set_entry_point(\"llm\")\n",
    "\n",
    "# Ajouter les transitions conditionnelles\n",
    "graph.add_conditional_edges(\n",
    "    \"llm\",\n",
    "    should_continue,\n",
    "    {\n",
    "        \"continue\": \"tools\",\n",
    "        \"end\": END,\n",
    "    },\n",
    ")\n",
    "\n",
    "# Après l'exécution des outils, retourner au LLM pour présenter les résultats\n",
    "graph.add_edge(\"tools\", \"llm\")\n",
    "\n",
    "# Compiler le graphe\n",
    "app = graph.compile()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "0e9084be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython.display import Image \n",
    "display(Image(app.get_graph().draw_mermaid_png()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4c9d907b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2025-11-17 23:01:24 | INFO     | agent_researcher | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_researcher | Agent researcher initialisé (ID: 354a27ef-c845-457e-9536-2aa1441b81f9)\n",
      "2025-11-17 23:01:24 | INFO     | search_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | tavily_api | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | search_manager | API Tavily initialisée\n",
      "2025-11-17 23:01:24 | INFO     | serper_api | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | search_manager | API Serper initialisée\n",
      "2025-11-17 23:01:24 | INFO     | agent_researcher | APIs disponibles: ['tavily', 'serper']\n",
      "2025-11-17 23:01:24 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_researcher | Service LLM initialisé pour l'extraction de mots-clés\n",
      "2025-11-17 23:01:24 | INFO     | agent_content_extractor | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_content_extractor | Agent content_extractor initialisé (ID: 3c429cb5-3762-4f45-a609-f5e41be05459)\n",
      "2025-11-17 23:01:24 | INFO     | extraction_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | content_extractor | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_summarizer | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_summarizer | Agent summarizer initialisé (ID: c263cb65-d5a1-4b73-b826-ebcac9618e85)\n",
      "2025-11-17 23:01:24 | INFO     | llm_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | chunking_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | text_chunker | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_global_synthesizer | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | agent_global_synthesizer | Agent global_synthesizer initialisé (ID: 74812118-4620-4ec7-9e62-6b061e16ea84)\n",
      "2025-11-17 23:01:24 | INFO     | llm_manager | Logger initialisé avec succès.\n",
      "2025-11-17 23:01:24 | INFO     | llm_service | Logger initialisé avec succès.\n",
      "\n",
      "🎯 SYSTÈME DE RECHERCHE INTELLIGENT ACTIVÉ\n",
      "\n",
      "=== TEST 1: Recherche Simple ===\n",
      "\n",
      "============================================================\n",
      "================================\u001b[1m Human Message \u001b[0m=================================\n",
      "\n",
      "Peux-tu me faire un résumé sur l'impact de l'intelligence artificielle sur le marché du travail?\n",
      "------------------------------------------------------------\n",
      "==================================\u001b[1m Ai Message \u001b[0m==================================\n",
      "Tool Calls:\n",
      "  research_complete_pipeline (98w0vxqze)\n",
      " Call ID: 98w0vxqze\n",
      "  Args:\n",
      "    max_results: 2\n",
      "    topic: impact de l'intelligence artificielle sur le marché de l'emploi\n",
      "------------------------------------------------------------\n",
      "\n",
      "============================================================\n",
      "🚀 DÉMARRAGE DU PIPELINE DE RECHERCHE\n",
      "📋 Sujet: impact de l'intelligence artificielle sur le marché de l'emploi\n",
      "📊 Sources à analyser: 2\n",
      "============================================================\n",
      "\n",
      "🔍 [1/4] Recherche web en cours...\n",
      "2025-11-17 23:01:25 | INFO     | agent_researcher | Extraction de mots-clés pour: 'impact de l'intelligence artificielle sur le marché de l'emploi'\n",
      "2025-11-17 23:01:26 | INFO     | agent_researcher | Mots-clés extraits: ['intelligence artificielle', 'robotisation', 'automatisation', 'emploi', 'marché du travail', \"perte d'emplois\", \"création d'emplois\"]\n",
      "2025-11-17 23:01:26 | INFO     | agent_researcher | Début de recherche pour: 'impact de l'intelligence artificielle sur le marché de l'emploi'\n",
      "2025-11-17 23:01:26 | INFO     | agent_researcher | Requête préparée: 'impact de l'intelligence artificielle sur le marché de l'emploi robotisation automatisation marché du travail perte d'emplois création d'emplois'\n",
      "2025-11-17 23:01:26 | INFO     | search_manager | Tentative de recherche avec tavily\n",
      "2025-11-17 23:01:26 | INFO     | tavily_api | Recherche Tavily: 'impact de l'intelligence artificielle sur le marché de l'emploi robotisation automatisation marché du travail perte d'emplois création d'emplois' (max: 2)\n",
      "2025-11-17 23:01:29 | INFO     | tavily_api | Tavily: 2 résultats parsés\n",
      "2025-11-17 23:01:29 | INFO     | search_manager | Recherche réussie avec tavily: 2 résultats\n",
      "2025-11-17 23:01:29 | INFO     | agent_researcher | Filtrage: 2 résultats conservés sur 2\n",
      "2025-11-17 23:01:29 | INFO     | agent_researcher | Recherche terminée: 2 résultats finaux sur 2 trouvés en 3.32s\n",
      "✅ Trouvé 2 sources\n",
      "\n",
      "📄 [2/4] Extraction du contenu...\n",
      "2025-11-17 23:01:29 | INFO     | agent_content_extractor | Extraction de contenu depuis ResearchOutput: 2 URLs\n",
      "2025-11-17 23:01:29 | INFO     | agent_content_extractor | Sujet de recherche: impact de l'intelligence artificielle sur le marché de l'emploi\n",
      "2025-11-17 23:01:29 | INFO     | agent_content_extractor | Début extraction de contenu pour 2 URLs\n",
      "2025-11-17 23:01:29 | INFO     | agent_content_extractor | URLs valides à traiter: 2/2\n",
      "2025-11-17 23:01:29 | INFO     | extraction_manager | Extraction de contenu pour 2 URLs\n",
      "2025-11-17 23:01:29 | INFO     | content_extractor | Extraction de contenu: https://www.ethique.gouv.qc.ca/wp-content/uploads/hqepc3fm_cest_effets_intelligence_artificielle_travail_a.pdf\n",
      "2025-11-17 23:01:29 | INFO     | content_extractor | Extraction de contenu: https://www.leblogdudirigeant.com/impact-de-lia-sur-lemploi/\n",
      "2025-11-17 23:01:46 | INFO     | extraction_manager | Extraction terminée: 2/2 succès\n",
      "2025-11-17 23:01:46 | INFO     | agent_content_extractor | Filtres appliqués: 2/2 documents retenus\n",
      "2025-11-17 23:01:46 | INFO     | agent_content_extractor | Extraction terminée: 2/2 succès en 16.46s\n",
      "✅ Extrait 2 documents\n",
      "\n",
      "📝 [3/4] Création des résumés...\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Début summarization de 2 documents\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Documents valides à traiter: 2\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Résumé document: Document PDF (50021 caractères)\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Chunking document long: Document PDF\n",
      "2025-11-17 23:01:46 | INFO     | text_chunker | Texte découpé en 1 chunks (taille moyenne: 50021 caractères)\n",
      "2025-11-17 23:01:46 | INFO     | chunking_manager | Chunking 'default': 1 chunks créés\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Document découpé en 1 chunks\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Résumé document: RH : L'impact de l’IA sur l’emploi en 2025 (14470 caractères)\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Chunking document long: RH : L'impact de l’IA sur l’emploi en 2025\n",
      "2025-11-17 23:01:46 | INFO     | text_chunker | Texte découpé en 1 chunks (taille moyenne: 14470 caractères)\n",
      "2025-11-17 23:01:46 | INFO     | chunking_manager | Chunking 'default': 1 chunks créés\n",
      "2025-11-17 23:01:46 | INFO     | agent_summarizer | Document découpé en 1 chunks\n",
      "2025-11-17 23:01:46 | WARNING  | llm_service | Erreur API 413: {\"error\":{\"message\":\"Request too large for model `llama-3.1-8b-instant` in organization `org_01jwh06m3bfrn8hw5fmt4pzs6t` service tier `on_demand` on tokens per minute (TPM): Limit 6000, Requested 12532, please reduce your message size and try again. Need more tokens? Upgrade to Dev Tier today at https://console.groq.com/settings/billing\",\"type\":\"tokens\",\"code\":\"rate_limit_exceeded\"}}\n",
      " - Tentative 1/3\n",
      "2025-11-17 23:01:53 | WARNING  | llm_service | Erreur API 413: {\"error\":{\"message\":\"Request too large for model `llama-3.1-8b-instant` in organization `org_01jwh06m3bfrn8hw5fmt4pzs6t` service tier `on_demand` on tokens per minute (TPM): Limit 6000, Requested 12532, please reduce your message size and try again. Need more tokens? Upgrade to Dev Tier today at https://console.groq.com/settings/billing\",\"type\":\"tokens\",\"code\":\"rate_limit_exceeded\"}}\n",
      " - Tentative 2/3\n",
      "2025-11-17 23:01:57 | WARNING  | llm_service | Erreur API 413: {\"error\":{\"message\":\"Request too large for model `llama-3.1-8b-instant` in organization `org_01jwh06m3bfrn8hw5fmt4pzs6t` service tier `on_demand` on tokens per minute (TPM): Limit 6000, Requested 12532, please reduce your message size and try again. Need more tokens? Upgrade to Dev Tier today at https://console.groq.com/settings/billing\",\"type\":\"tokens\",\"code\":\"rate_limit_exceeded\"}}\n",
      " - Tentative 3/3\n",
      "2025-11-17 23:02:03 | ERROR    | agent_summarizer | Erreur résumé chunk 1: Erreur de connexion: Erreur API 413: {\"error\":{\"message\":\"Request too large for model `llama-3.1-8b-instant` in organization `org_01jwh06m3bfrn8hw5fmt4pzs6t` service tier `on_demand` on tokens per minute (TPM): Limit 6000, Requested 12532, please reduce your message size and try again. Need more tokens? Upgrade to Dev Tier today at https://console.groq.com/settings/billing\",\"type\":\"tokens\",\"code\":\"rate_limit_exceeded\"}}\n",
      "\n",
      "2025-11-17 23:02:07 | WARNING  | llm_service | Rate limit atteint, attente 3s\n",
      "2025-11-17 23:02:12 | INFO     | agent_summarizer | Summarization terminée: 2 résumés créés en 26.28s\n",
      "✅ Généré 2 résumés\n",
      "\n",
      "🎯 [4/4] Synthèse globale...\n",
      "2025-11-17 23:02:12 | INFO     | agent_global_synthesizer | Démarrage de la synthèse globale pour 'Sujet de synthèse'...\n",
      "2025-11-17 23:02:12 | INFO     | agent_global_synthesizer | Début synthèse globale pour: 'Sujet de synthèse'\n",
      "2025-11-17 23:02:12 | INFO     | agent_global_synthesizer | Nombre de résumés à synthétiser: 2\n",
      "2025-11-17 23:02:13 | WARNING  | llm_service | Rate limit atteint, attente 21s\n",
      "2025-11-17 23:02:13 | WARNING  | llm_service | Rate limit atteint, attente 20s\n",
      "2025-11-17 23:02:37 | WARNING  | llm_service | Rate limit atteint, attente 21s\n",
      "2025-11-17 23:03:21 | WARNING  | llm_service | Rate limit atteint, attente 9s\n",
      "2025-11-17 23:03:31 | INFO     | agent_global_synthesizer | Synthèse globale terminée en 79.45s\n",
      "2025-11-17 23:03:31 | INFO     | agent_global_synthesizer | Rapport final: 1308 mots, 6 sections\n",
      "✅ Rapport final généré (1308 mots)\n",
      "\n",
      "============================================================\n",
      "✨ PIPELINE TERMINÉ AVEC SUCCÈS\n",
      "============================================================\n",
      "\n",
      "=================================\u001b[1m Tool Message \u001b[0m=================================\n",
      "Name: research_complete_pipeline\n",
      "\n",
      "# Analyse de Recherche: Sujet De Synthèse\n",
      "\n",
      "**Sujet:** Sujet de synthèse  \n",
      "**Date de génération:** 17/11/2025 23:03  \n",
      "**ID du rapport:** rpt_20251117_2303_439ae319\n",
      "\n",
      "---\n",
      "\n",
      "## Résumé Exécutif\n",
      "\n",
      "**RÉSUMÉ EXÉCUTIF**\n",
      "\n",
      "**CONCLUSIONS PRINCIPALES**\n",
      "\n",
      "1. **L'IA transforme le monde du travail** : Selon les études, l'IA ne remettra pas en question la majorité des postes, mais plutôt les tâches répétitives ou standardisées.\n",
      "2. **Création de nouveaux postes qualifiés** : L'IA crée de nouveaux postes qualifiés, tels que les développeurs IA, les analystes data et les spécialistes en éthique algorithmique.\n",
      "3. **Importance de la formation continue** : Les entreprises qui anticipent l'impact de l'IA pe...\n",
      "\n",
      "### Conclusions Principales\n",
      "- **RÉSUMÉ EXÉCUTIF**\n",
      "\n",
      "**CONCLUSIONS PRINCIPALES**\n",
      "\n",
      "1.\n",
      "- **L'IA transforme le monde du travail** : Selon les études, l'IA ne remettra pas en question la majorité des postes, mais plutôt les tâches répétitives ou standardisées.\n",
      "\n",
      "### Insights Clés\n",
      "\n",
      "\n",
      "### Recommandations\n",
      "\n",
      "\n",
      "---\n",
      "\n",
      "## Introduction\n",
      "\n",
      "Ce rapport présente une analyse complète du sujet \"Sujet de synthèse\" \n",
      "            basée sur l'analyse de 2 sources documentaires.\n",
      "\n",
      "            L'analyse a été réalisée par un système d'intelligence artificielle utilisant des \n",
      "            méthodes d'extraction automatique de contenu, de résumé intelligent et de synthèse \n",
      "            thématique transversale.\n",
      "\n",
      "---\n",
      "\n",
      "## Effets de l'IA sur le marché du travail\n",
      "\n",
      "L'IA est en train de transformer le monde du travail, mais elle ne remettra pas en question la majorité des postes. Selon les études, seuls 5% des postes en France pourraient être entièrement automatisés. Cependant, les métiers à tâches répétitives ou standardisées sont les plus menacés. Les entreprises qui anticipent l'impact de l'IA peuvent transformer le risque en levier de croissance en formant leurs équipes et en se concentrant sur des missions à forte valeur ajoutée.\n",
      "\n",
      "---\n",
      "\n",
      "## Création de nouveaux postes qualifiés\n",
      "\n",
      "L'IA crée de nouveaux postes qualifiés, tels que les développeurs IA, les analystes data et les spécialistes en éthique algorithmique. Les entreprises qui anticipent l'impact de l'IA peuvent transformer le risque en levier de croissance en formant leurs équipes et en se concentrant sur des missions à forte valeur ajoutée.\n",
      "\n",
      "---\n",
      "\n",
      "## Analyse Thématique Détaillée\n",
      "\n",
      "## THÈME 1: L'Impact de l'Intelligence Artificielle sur l'Emploi\n",
      "\n",
      "### Synthèse\n",
      "L'impact de l'intelligence artificielle (IA) sur l'emploi est complexe et multifacette. Selon les études, l'IA ne remettra pas en question la majorité des postes, mais plutôt les tâches répétitives ou standardisées. Les métiers à tâches répétitives ou standardisées, tels que les emplois administratifs, de support client et de comptabilité, sont les plus menacés. Cependant, l'IA crée également de nouveaux postes qualifiés, tels que les développeurs IA, les analystes data et les spécialistes en éthique algorithmique.\n",
      "\n",
      "### Points clés\n",
      "- L'IA transforme le monde du travail, mais ne remettra pas en question la majorité des postes.\n",
      "- Les métiers à tâches répétitives ou standardisées sont les plus menacés.\n",
      "- L'IA crée de nouveaux postes qualifiés, tels que les développeurs IA, les analystes data et les spécialistes en éthique algorithmique.\n",
      "\n",
      "### Implications\n",
      "L'impact de l'IA sur l'emploi nécessite une approche proactive et une formation continue pour les salariés, afin qu'ils puissent se adapter aux nouvelles technologies et aux nouveaux défis. Les entreprises qui anticipent l'impact de l'IA peuvent transformer le risque en levier de croissance en formant leurs équipes et en se concentrant sur des missions à forte valeur ajoutée.\n",
      "\n",
      "## THÈME 2: Les Effets de l'Intelligence Artificielle sur la Productivité et la Qualité de Vie\n",
      "\n",
      "### Synthèse\n",
      "L'IA peut avoir des effets mitigés sur la productivité et la qualité de vie des travailleurs. D'une part, l'IA peut augmenter la productivité en automatisant certaines tâches répétitives, mais d'autre part, elle peut également entraîner une diminution de la qualité de vie des travailleurs en raison de la pression accrue et de la perte de contrôle sur leur travail.\n",
      "\n",
      "### Points clés\n",
      "- L'IA peut augmenter la productivité en automatisant certaines tâches répétitives.\n",
      "- L'IA peut entraîner une diminution de la qualité de vie des travailleurs en raison de la pression accrue et de la perte de contrôle sur leur travail.\n",
      "\n",
      "### Implications\n",
      "Les entreprises doivent prendre en compte les effets de l'IA sur la productivité et la qualité de vie des travailleurs et mettre en place des politiques pour protéger les travailleurs contre les effets négatifs de l'IA.\n",
      "\n",
      "## THÈME 3: Les Recommandations pour Maximiser les Avantages de l'Intelligence Artificielle\n",
      "\n",
      "### Synthèse\n",
      "Les gouvernements et les entreprises doivent investir dans la formation et la réadaptation des travailleurs pour les aider à acquérir les compétences nécessaires pour travailler avec l'IA. Ils doivent également mettre en place des politiques pour protéger les travailleurs contre les effets négatifs de l'IA.\n",
      "\n",
      "### Points clés\n",
      "- Les gouvernements et les entreprises doivent investir dans la formation et la réadaptation des travailleurs.\n",
      "- Les politiques doivent être mises en place pour protéger les travailleurs contre les effets négatifs de l'IA.\n",
      "\n",
      "### Implications\n",
      "Les recommandations pour maximiser les avantages de l'IA nécessitent une approche proactive et une formation continue pour les salariés, afin qu'ils puissent se adapter aux nouvelles technologies et aux nouveaux défis.\n",
      "\n",
      "## THÈME 4: Les Enjeux Éthiques de l'Intelligence Artificielle\n",
      "\n",
      "### Synthèse\n",
      "L'IA soulève des enjeux éthiques importants, notamment la protection des données personnelles, la transparence des algorithmes et la responsabilité des entreprises. Les entreprises doivent prendre en compte ces enjeux éthiques et mettre en place des politiques pour protéger les travailleurs et les consommateurs.\n",
      "\n",
      "### Points clés\n",
      "- La protection des données personnelles est un enjeu éthique important.\n",
      "- La transparence des algorithmes est essentielle pour garantir la confiance des consommateurs.\n",
      "- La responsabilité des entreprises est cruciale pour protéger les travailleurs et les consommateurs.\n",
      "\n",
      "### Implications\n",
      "Les enjeux éthiques de l'IA nécessitent une approche proactive et une formation continue pour les salariés, afin qu'ils puissent se adapter aux nouvelles technologies et aux nouveaux défis.\n",
      "\n",
      "## HIÉRARCHISATION\n",
      "Les thèmes sont classés par ordre d'importance/impact comme suit :\n",
      "\n",
      "1. L'Impact de l'Intelligence Artificielle sur l'Emploi (importance : 9/10)\n",
      "2. Les Effets de l'Intelligence Artificielle sur la Productivité et la Qualité de Vie (importance : 8/10)\n",
      "3. Les Recommandations pour Maximiser les Avantages de l'Intelligence Artificielle (importance : 7/10)\n",
      "4. Les Enjeux Éthiques de l'Intelligence Artificielle (importance : 6/10)\n",
      "\n",
      "Les liens entre les différents thèmes sont les suivants :\n",
      "\n",
      "- L'impact de l'IA sur l'emploi est lié aux effets de l'IA sur la productivité et la qualité de vie des travailleurs.\n",
      "- Les recommandations pour maximiser les avantages de l'IA sont liées aux enjeux éthiques de l'IA.\n",
      "- Les enjeux éthiques de l'IA sont liés à l'impact de l'IA sur l'emploi et les effets de l'IA sur la productivité et la qualité de vie des travailleurs.\n",
      "\n",
      "---\n",
      "\n",
      "## Formation continue\n",
      "\n",
      "L'IA nécessite une formation continue pour les salariés. Les salariés doivent se former pour adapter aux nouvelles technologies et aux nouveaux défis. Les gouvernements et les entreprises doivent investir dans la formation et la réadaptation des travailleurs pour aider les travailleurs à acquérir les compétences nécessaires pour travailler avec l'IA.\n",
      "\n",
      "---\n",
      "\n",
      "## Tendances et Implications\n",
      "\n",
      "Les tendances émergentes de l'IA sont :\n",
      "\n",
      "* L'automatisation des tâches répétitives ou standardisées\n",
      "* La création de nouveaux postes qualifiés\n",
      "* La nécessité de formation continue pour les salariés\n",
      "\n",
      "Les implications futures de l'IA sont :\n",
      "\n",
      "* Les gouvernements et les entreprises doivent investir dans la formation et la réadaptation des travailleurs\n",
      "* Les entreprises doivent se concentrer sur des missions à forte valeur ajoutée\n",
      "* Les salariés doivent se former pour adapter aux nouvelles technologies et aux nouveaux défis\n",
      "\n",
      "---\n",
      "\n",
      "## Conclusion\n",
      "\n",
      "L'IA est en train de transformer profondément le monde du travail, suscitant des espoirs et des craintes quant à son impact sur l'emploi. Les conclusions principales de notre analyse sont :\n",
      "\n",
      "* L'IA a des effets mitigés sur le marché du travail\n",
      "* L'IA crée de nouveaux postes qualifiés\n",
      "* Les métiers à tâches répétitives ou standardisées sont les plus menacés\n",
      "* L'IA nécessite une formation continue\n",
      "* Les gouvernements et les entreprises doivent investir dans la formation et la réadaptation des travailleurs\n",
      "\n",
      "Nous recommandons aux gouvernements et aux entreprises de prendre en compte les implications futures de l'IA et de se préparer à transformer le risque en levier de croissance en formant leurs équipes et en se concentrant sur des missions à forte valeur ajoutée.\n",
      "\n",
      "---\n",
      "\n",
      "## Conclusion\n",
      "\n",
      "Cette analyse de \"Sujet de synthèse\" révèle des insights importants \n",
      "            basés sur 2 sources analysées. \n",
      "\n",
      "            Les résultats présentés dans ce rapport offrent une perspective complète sur \n",
      "            les différents aspects du sujet, avec un score de confiance global de \n",
      "            0.64/1.0.\n",
      "\n",
      "            Pour des décisions importantes, il est recommandé de compléter cette analyse \n",
      "            par une vérification humaine et des sources supplémentaires si nécessaire.\n",
      "\n",
      "---\n",
      "\n",
      "## Méthodologie\n",
      "\n",
      "            **Approche:** Recherche web automatisée avec synthèse par IA  \n",
      "            **Sources analysées:** 2  \n",
      "            **Score de confiance:** 0.64/1.0\n",
      "\n",
      "            ### Méthodes d'Analyse\n",
      "            - Extraction automatique de contenu web\n",
      "- Analyse et résumé par intelligence artificielle\n",
      "- Synthèse thématique transversale\n",
      "- Évaluation de crédibilité des sources\n",
      "\n",
      "            ### Limitations\n",
      "            - Analyse limitée aux sources web accessibles publiquement\n",
      "- Évaluation de crédibilité basée sur des critères automatisés\n",
      "- Synthèse générée par IA - vérification humaine recommandée\n",
      "\n",
      "            ---\n",
      "\n",
      "            ## Sources\n",
      "\n",
      "        1. **Document PDF**  \n",
      "   URL: https://www.ethique.gouv.qc.ca/wp-content/uploads/hqepc3fm_cest_effets_intelligence_artificielle_travail_a.pdf  \n",
      "   Crédibilité: 0.70/1.0  \n",
      "\n",
      "2. **RH : L'impact de l’IA sur l’emploi en 2025**  \n",
      "   URL: https://www.leblogdudirigeant.com/impact-de-lia-sur-lemploi/  \n",
      "   Crédibilité: 0.70/1.0  \n",
      "\n",
      "\n",
      "------------------------------------------------------------\n",
      "==================================\u001b[1m Ai Message \u001b[0m==================================\n",
      "\n",
      "Voici le résumé de l'impact de l'intelligence artificielle sur le marché du travail :\n",
      "\n",
      "L'IA est en train de transformer profondément le monde du travail, suscitant des espoirs et des craintes quant à son impact sur l'emploi. Les conclusions principales de notre analyse sont :\n",
      "\n",
      "* L'IA a des effets mitigés sur le marché du travail\n",
      "* L'IA crée de nouveaux postes qualifiés\n",
      "* Les métiers à tâches répétitives ou standardisées sont les plus menacés\n",
      "* L'IA nécessite une formation continue\n",
      "* Les gouvernements et les entreprises doivent investir dans la formation et la réadaptation des travailleurs\n",
      "\n",
      "Nous recommandons aux gouvernements et aux entreprises de prendre en compte les implications futures de l'IA et de se préparer à transformer le risque en levier de croissance en formant leurs équipes et en se concentrant sur des missions à forte valeur ajoutée.\n",
      "------------------------------------------------------------\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "# ============================================================================\n",
    "# FONCTIONS UTILITAIRES\n",
    "# ============================================================================\n",
    "\n",
    "def print_stream(stream):\n",
    "    \"\"\"Affiche le flux de messages de manière lisible\"\"\"\n",
    "    print(\"\\n\" + \"=\"*60)\n",
    "    for s in stream:\n",
    "        message = s[\"messages\"][-1]\n",
    "        if hasattr(message, 'pretty_print'):\n",
    "            message.pretty_print()\n",
    "        else:\n",
    "            print(message)\n",
    "        print(\"-\"*60)\n",
    "\n",
    "def run_research(user_query: str):\n",
    "    \"\"\"Fonction helper pour lancer une recherche\"\"\"\n",
    "    inputs = {\"messages\": [(\"user\", user_query)]}\n",
    "    print_stream(app.stream(inputs, stream_mode=\"values\"))\n",
    "\n",
    "# ============================================================================\n",
    "# TESTS\n",
    "# ============================================================================\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    print(\"\\n🎯 SYSTÈME DE RECHERCHE INTELLIGENT ACTIVÉ\\n\")\n",
    "    \n",
    "    # Test 1: Recherche simple\n",
    "    print(\"=== TEST 1: Recherche Simple ===\")\n",
    "    run_research(\"Peux-tu me faire un résumé sur l'impact de l'intelligence artificielle sur le marché du travail?\")\n",
    "    \n",
    "    # Test 2: Recherche approfondie\n",
    "    # print(\"\\n\\n=== TEST 2: Recherche Approfondie ===\")\n",
    "    # run_research(\"Fais-moi une analyse complète et détaillée sur les énergies renouvelables\")\n",
    "    \n",
    "    # # Test 3: Question simple (sans recherche)\n",
    "    # print(\"\\n\\n=== TEST 3: Question Simple ===\")\n",
    "    # run_research(\"Comment ça va?\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45848138",
   "metadata": {},
   "source": [
    "#  MÉMOIRE & STOCKAGE 💾"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d90672e6",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c292ea94",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}