Update src/bon_livraison.py

#2
by Lucas-Mo - opened
Files changed (1) hide show
  1. src/bon_livraison.py +125 -2
src/bon_livraison.py CHANGED
@@ -1,5 +1,128 @@
1
- SYSTEM_PROMPT = """
2
- Extract data in json format
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  """
4
 
5
  def extract_from_bl (client, document_source):
 
1
+ SYSTEM_PROMPT = """From this delivery note document, extract the following information by following these instructions.
2
+ The information is in French. Return the information in JSON format according to the schema just after.
3
+ The details of each piece of information to be extracted are found in the description field of each item.
4
+ {
5
+ "type": "array",
6
+ "items": {
7
+ "type": "object",
8
+ "properties": {
9
+ "type": {
10
+ "description": "Type d'aliment parmis les 3 propositions",
11
+ "type": "string",
12
+ "enum": [
13
+ "fourrage",
14
+ "aliment composé",
15
+ "matière première"
16
+ ]
17
+ },
18
+ "dénomination": {
19
+ "description": "Dénomination de l'aliment",
20
+ "type": "string"
21
+ },
22
+ "nom commercial": {
23
+ "description": "Nom commercial de l'aliment",
24
+ "type": "string"
25
+ },
26
+ "raison sociale étiquetage": {
27
+ "description": "Nom ou raison sociale du responsable de l’étiquetage",
28
+ "type": "string"
29
+ },
30
+ "adresse étiquetage": {
31
+ "description": "Adresse du responsable de l’étiquetage: rue / ville / code postal",
32
+ "type": "string"
33
+ },
34
+ "vrac": {
35
+ "description": "L'aliment est livré en vrac ou non",
36
+ "type": "boolean"
37
+ },
38
+ "quantité": {
39
+ "description": "Quantité d'aliment effectivement livrée",
40
+ "type": "integer"
41
+ },
42
+ "additifs": {
43
+ "description": "Liste des additifs avec le nom spécifique parmis la liste, le numéro d'identification si existe, la quantité si existe",
44
+ "type": "array",
45
+ "items": {
46
+ "type": "string",
47
+ "enum": [
48
+ "conservateurs",
49
+ "antioxygènes",
50
+ "émulsifiants",
51
+ "stabilisants",
52
+ "épaississants",
53
+ "gélifiants",
54
+ "liants",
55
+ "substances pour le contrôle de contamination de radionucléides",
56
+ "anti-agglomérants",
57
+ "correcteurs d'acidité",
58
+ "additifs pour l'ensilage",
59
+ "dénaturants",
60
+ "substances destinées à réduire la contamination des aliments pour animaux par les mycotoxines",
61
+ "améliorateurs des conditions d'hygiène",
62
+ "autres additifs technologiques",
63
+ "colorants",
64
+ "substances aromatiques",
65
+ "vitamines, provitamines et substances à effet analogue chimiquement bien définies",
66
+ "composés d'oligo-éléments",
67
+ "acides aminés, leurs sels et produits analogues",
68
+ "urée et ses dérivés",
69
+ "améliorateurs de digestibilité",
70
+ "stabilisateurs de la flore intestinale",
71
+ "substances qui ont un effet positif sur l'environnement",
72
+ "autres additifs zootechniques",
73
+ "stabilisateurs de l'état physiologique"
74
+ ]
75
+ }
76
+ },
77
+ "matières premières": {
78
+ "description": "Liste des matières premières dans l'aliment. Cette information peut être précédée de la mention \"composition\"",
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string"
82
+ }
83
+ },
84
+ "mode d'emploi": {
85
+ "description": "Texte décrivant le mode d'emploi",
86
+ "type": "string"
87
+ },
88
+ "valeur nutritionelle": {
89
+ "description": "Liste des valeurs nutritionelle. En fonction de la nature de l'aliment, précision du taux (en %) de protéine brute, de cellulose brute ou de matières grasses brutes, d'amidon…",
90
+ "type": "array",
91
+ "items": {
92
+ "type": "string"
93
+ }
94
+ },
95
+ "animaux": {
96
+ "description": "Espèce animale ou catégorie d’animaux à laquelle l'aliment est destiné",
97
+ "type": "string"
98
+ },
99
+ "bio": {
100
+ "description": "Vrai si l'aliment est utilisable en agriculture biologique, faux sinon"
101
+ "type": "boolean"
102
+ },
103
+ "ogm": {
104
+ "description": "Vrai si l'aliment est avec OGM, faux si l'aliment a un pourcentage d'OGM inférieur à 0,9%"
105
+ "type": "boolean"
106
+ }
107
+ },
108
+ "required": [
109
+ "type",
110
+ "dénomination",
111
+ "nom commercial",
112
+ "raison sociale étiquetage",
113
+ "adresse étiquetage",
114
+ "vrac",
115
+ "quantité",
116
+ "additifs",
117
+ "matières premières",
118
+ "mode d'emploi",
119
+ "valeur nutritionelle",
120
+ "animaux",
121
+ "bio",
122
+ "ogm"
123
+ ]
124
+ }
125
+ }
126
  """
127
 
128
  def extract_from_bl (client, document_source):