MatteoScript commited on
Commit
ea65438
·
verified ·
1 Parent(s): cc30f44

Delete settings_ai.py

Browse files
Files changed (1) hide show
  1. settings_ai.py +0 -71
settings_ai.py DELETED
@@ -1,71 +0,0 @@
1
- from google.ai.generativelanguage_v1beta.types import content
2
- from typing import List, Optional
3
- from pydantic import BaseModel, ValidationError
4
- from dotenv import load_dotenv
5
- load_dotenv()
6
- import os
7
-
8
- ENDPOINT_AZURE = os.getenv("ENDPOINT_AZURE")
9
- API_AZURE = os.getenv("API_AZURE")
10
- API_KEY_GEMINI = os.getenv("API_KEY_GEMINI")
11
- NO_ARTICLE = "NESSUN_ARTICOLO_COMPATIBILE"
12
- SYSTEM_INSTRUCTION = (
13
- "Sei un esperto lettore di documenti. "
14
- "Estrai il tutto il formato JSON come da schema fornito! "
15
- "Mi raccomando compila tutti i campi! "
16
- "Estra SOLO gli Articoli il cui codice inizia per 'AVE' o 'AV' o '3V' o '44'. Attenzione a quelli che iniziano per 'GEW 44..' sono da ESCLUDERE! "
17
- "Nel campo 'TotaleNonIvato' inserisci il TOTALE MERCE per riga senza Iva: (Quantità * Prezzo Unitario) - Sconto. "
18
- "Potrebbe non esserci lo 'Sconto' oppure potrebbe esserci direttamente il TOTALE MERCE per riga. "
19
- "La 'Data' documento mettila in formato YYYY-MM-DD. "
20
- "Attenzione, a volte ci sono articoli con DESCRIZIONE AVE ma con codice NON CORRISPONDENTE, devi escluderli! "
21
- "Attenzione, a volte gli articoli AVE sono dentro la parentesi per esempio 'A789532 (AVE001)', qui l'articolo risulta COMPATIBILE perché ha AVE! "
22
- "Attenzione, a volte i TOTALI hanno la formattazione con il punto (.) che rappresenta il SEPARATORE DELLE MIGLIAIA! Quindi 1.234,50 è 1234,50! "
23
- f"Se non sono presenti articoli compatibili scrivi '{NO_ARTICLE}' nel codice articolo e metti 0 nel 'TotaleNonIvato'"
24
- )
25
-
26
- USER_MESSAGE = (
27
- "Estrai i dati in formato JSON. "
28
- )
29
-
30
- class Articolo(BaseModel):
31
- CodiceArticolo: str
32
- DescrizioneArticolo: str
33
- TotaleNonIvato: float
34
- Verificato: Optional[int] = None
35
-
36
- class Documento(BaseModel):
37
- TipoDocumento: str
38
- NumeroDocumento: str
39
- Data: str
40
- TotaleImponibile: float
41
- Articoli: List[Articolo]
42
-
43
- GENERATION_CONFIG = {
44
- "temperature": 0.01,
45
- "top_p": 0.1,
46
- "top_k": 5,
47
- "max_output_tokens": 500000,
48
- "response_schema": content.Schema(
49
- type=content.Type.OBJECT,
50
- required=["TipoDocumento", "NumeroDocumento", "Data", "TotaleImponibile"],
51
- properties={
52
- "TipoDocumento": content.Schema(type=content.Type.STRING, enum=["FATTURA", "DDT"]),
53
- "NumeroDocumento": content.Schema(type=content.Type.STRING),
54
- "Data": content.Schema(type=content.Type.STRING),
55
- "TotaleImponibile": content.Schema(type=content.Type.NUMBER),
56
- "Articoli": content.Schema(
57
- type=content.Type.ARRAY,
58
- items=content.Schema(
59
- type=content.Type.OBJECT,
60
- required=["CodiceArticolo", "DescrizioneArticolo", "TotaleNonIvato"],
61
- properties={
62
- "CodiceArticolo": content.Schema(type=content.Type.STRING),
63
- "DescrizioneArticolo": content.Schema(type=content.Type.STRING),
64
- "TotaleNonIvato": content.Schema(type=content.Type.NUMBER),
65
- },
66
- ),
67
- )
68
- },
69
- ),
70
- "response_mime_type": "application/json",
71
- }