Usa OCI Vision per estrarre dati da immagini e documenti digitalizzati
Oracle Cloud Infrastructure (OCI) Vision è uno dei diversi servizi AI disponibili su Oracle Cloud Infrastructure.
OCI Vision ti offre il potere di applicare il machine learning e l'intelligenza artificiale senza bisogno di competenze nel campo della data science. Ha modelli pre-addestrati che ti consentono di condurre rapidamente OCR, classificazione delle immagini e rilevamento degli oggetti, classificazione dei documenti, rilevamento delle anomalie e molto altro ancora.
Puoi sintonizzare i modelli pre-addestrati con i dati personalizzati utilizzando l'apprendimento del trasferimento. Puoi utilizzare set di dati con etichette esistenti per l'ottimizzazione oppure, se i tuoi dati non sono già etichettati, puoi utilizzare il servizio Oracle Data Labeling per semplificare il task.
Architettura
Questa architettura dimostra il rapporto tra i vari componenti di un sistema tipico che ha OCI Vision al suo centro.
In questo sistema, un utente finale carica una fotografia o un'immagine di un documento aziendale utilizzando un'applicazione Web. L'applicazione memorizza il file nello storage degli oggetti. Gli eventi Oracle rilevano il nuovo file e attiva una funzione serverless che genera una chiamata API REST al servizio Vision. Vision recupera il file dallo storage degli oggetti e analizza l'immagine. I risultati vengono memorizzati in un database in cui le applicazioni possono utilizzarli.
Il diagramma riportato di seguito illustra questa architettura di riferimento.

Descrizione dell'illustrazione Architecture-ai-vision.png
Architecture-ai-vision-oracle.zip
L'architettura prevede i componenti elencati di seguito.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata contenente uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e le grandi distanze possono separarle (tra paesi o addirittura continenti).
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e standalone all'interno di un'area geografica. Le risorse fisiche presenti in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, il che garantisce la tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, né la rete interna del dominio di disponibilità. Pertanto, è improbabile che un errore di un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area.
- Domini di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le applicazioni possono tollerare errori del server fisico, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.
- Rete cloud virtuale (VCN) e subnet
Una VCN è una rete personalizzabile e definita dal software impostata dall'utente in un'area Oracle Cloud Infrastructure. Come le reti di data center tradizionali, le VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. È possibile segmentare una VCN in subnet, che può essere definita in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono con le altre subnet nella VCN. Puoi modificare la dimensione di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Compartimento
I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy Oracle Cloud Infrastructure. Utilizzare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote di utilizzo. Per controllare l'accesso alle risorse in un determinato compartimento, puoi definire criteri che specificano gli utenti che possono accedere alle risorse e le azioni che possono eseguire.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing offre la distribuzione automatica del traffico da un singolo punto di accesso a più server nel back-end.
Il load balancer fornisce l'accesso a applicazioni diverse.
- Lista di sicurezza
Per ogni subnet, puoi creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.
- Memorizzazione degli oggetti
Lo storage degli oggetti consente un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati quali immagini e video. Puoi memorizzare e quindi recuperare i dati direttamente da Internet o dall'interno della piattaforma cloud. È possibile scalare perfettamente lo storage senza compromettere le prestazioni o l'affidabilità dei servizi. Utilizzare lo storage standard per lo storage "hot" necessario per accedere rapidamente, immediatamente e di frequente. Utilizzare lo storage di archivio per lo storage "freddo" che si conserva per lunghi periodi di tempo e raramente o raramente si accede.
- FastConnect
Oracle Cloud Infrastructure FastConnect offre un modo semplice per creare una connessione dedicata e privata tra il tuo data center e Oracle Cloud Infrastructure. FastConnect fornisce opzioni di larghezza di banda più elevata e un'esperienza di rete più affidabile rispetto alle connessioni basate su Internet.
- Oracle Infrastructure Cloud Vision
OCI Vision viene utilizzato per estrarre informazioni da PDF e immagini. Vision supporta OCR, comprensione dei documenti, classificazione delle tabelle, rilevamento degli oggetti e classificazione delle immagini
- Applicazione
L'applicazione in questa architettura consente agli utenti di caricare immagini e utilizzare i metadati dalle immagini per una ricerca e un contesto migliori.
Suggerimenti
I requisiti potrebbero essere diversi dall'architettura descritta in questa sezione. Utilizzare i seguenti suggerimenti come punto di partenza.
- VCN
Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizzare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Selezionare i blocchi CIDR che non si sovrappongono a qualsiasi altra rete (in Oracle Cloud Infrastructure, il data center on premise o un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato una VCN, è possibile modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Durante la progettazione delle subnet, prendi in considerazione i requisiti di flusso del traffico e sicurezza. Associare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
Utilizza subnet regionali.
- Sicurezza
Utilizza Oracle Cloud Guard per monitorare e gestire in modo proattivo la sicurezza delle tue risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza ricette del rilevatore che è possibile definire per esaminare le risorse per i punti deboli della sicurezza e per monitorare operatori e utenti per le attività a rischio. Quando viene rilevata una configurazione errata o un'attività non sicura, Cloud Guard consiglia azioni correttive e supporta l'esecuzione di tali azioni in base alle ricette dei rispondenti che è possibile definire.
Per le risorse che richiedono la massima sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle di criteri di sicurezza basati sulle migliori prassi. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorna le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni rispetto ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano qualsiasi criterio.
- Cloud Guard
Duplica e personalizza le ricette predefinite fornite da Oracle per creare ricette di rilevamento e rispondenti personalizzate. Queste ricette consentono di specificare il tipo di violazioni della sicurezza che generano un'avvertenza e le azioni che possono essere eseguite su di esse. Ad esempio, potresti voler rilevare i bucket di storage degli oggetti con visibilità impostata su pubblico.
Applicare Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre il carico amministrativo derivante dalla gestione di più configurazioni.
È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.
- Zone di sicurezza
Duplica e personalizza le ricette predefinite fornite da Oracle per creare ricette di rilevamento e rispondenti personalizzate. Queste ricette consentono di specificare il tipo di violazioni della sicurezza che generano un'avvertenza e le azioni che possono essere eseguite su di esse. Ad esempio, potresti voler rilevare i bucket di storage degli oggetti con visibilità impostata su pubblico.
Applicare Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre il carico amministrativo derivante dalla gestione di più configurazioni.
È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.
- Larghezza di banda del load balancer
Durante la creazione del load balancer, puoi selezionare una forma predefinita che fornisce una larghezza di banda fissa o specificare una forma flessibile personalizzata in cui impostare un intervallo di larghezza di banda e lasciare che il servizio ridimensioni automaticamente la larghezza di banda in base ai pattern di traffico. Grazie a entrambi gli approcci, puoi modificare la forma in qualsiasi momento dopo aver creato il load balancer.
- Oracle Functions
Questa architettura utilizza una funzione per chiamare l'API REST OCI Vision con un'immagine specifica e quindi memorizzare i metadati restituiti da Vision. La funzione può essere creata utilizzando l'SDK Java o Python.
- Eventi
In questa architettura, il servizio Oracle Cloud Infrastructure Events è configurato per ascoltare le modifiche alla creazione dello storage degli oggetti. Il servizio viene richiamato dopo che l'oggetto è stato caricato nello storage degli oggetti e chiama la funzione per l'elaborazione.
Considerazioni
Considerare i seguenti punti quando si distribuisce questa architettura.
- Prestazioni
Per motivi di prestazioni e scalabilità, stiamo utilizzando le funzioni per chiamare l'API REST Vision. Una soluzione alternativa consiste nell'utilizzare l'API REST Vision direttamente dall'applicazione. Se si ritiene che le chiamate API REST vengano eseguite come job in background.
- Accesso
OCI Vision supporta l'accesso tramite la console OCI, il client SDK Java e Python e l'interfaccia CLI OCI. Quando si esegue il test, si consiglia di utilizzare lo strumento CLI o la console.
- Disponibilità
In questo esempio il database non è ad alta disponibilità. Per le applicazioni critiche, è consigliabile eseguire MySQL Database Service in modalità HA con 3 repliche.
- Integrazione
Quando si esegue la scansione di documenti aziendali come ricevute e moduli applicativi in formato PDF, considerare la possibilità di utilizzare Oracle Integration Cloud per estrarre i PDF da sistemi come l'e-mail, quindi chiamare Vision AI e infine inviare i contenuti a sistemi di destinazione come ERP o CRM.