Vai al contenuto

Integrare Azure AI e OpenAI per lo Sviluppo di App Intelligenti

Scopri come sfruttare Azure AI e OpenAI per creare applicazioni innovative e avanzate

Con l’aumento delle innovazioni nell’intelligenza artificiale, le piattaforme come Microsoft Azure AI e OpenAI offrono opportunità incredibili per sviluppare applicazioni intelligenti. Questo articolo si propone di guidare gli sviluppatori attraverso il processo di integrazione di Azure AI e OpenAI per costruire applicazioni all’avanguardia. Specialmente, illustreremo come costruire un’app di nutrizione intelligente utilizzando i servizi di analisi documentale di Azure per l’estrazione del testo e il modello GPT-4 di OpenAI per fornire risposte precise e simili a quelle umane.

Prerequisiti:

  • Abbonamento Azure attivo
  • Accesso registrato al servizio Azure OpenAI
  • Conoscenze di base del linguaggio di programmazione Python

Estrazione del Testo con il Modello Precostituito di Azure

Per la nostra applicazione di nutrizione, vogliamo estrarre le informazioni sugli ingredienti e i valori nutrizionali dai prodotti alimentari. Il servizio di Document Intelligence di Azure semplifica questo processo estraendo accuratamente testo, tabelle e altre strutture da immagini e documenti. Useremo il modello precostituito “layout” per recuperare le informazioni nutrizionali, che sono principalmente stampate in tabelle.

Procedura per il Deployment delle Risorse Document Intelligence:

  1. Accedi al portale Azure e cerca “Document Intelligence”
  2. Clicca sul risultato della ricerca e crea una nuova risorsa
  3. Compila le informazioni necessarie:
    • Subscription
    • Resource group
    • Nome della risorsa
    • Regione
    • Piano di pagamento
  4. Clicca su “Review + Create” e poi su “Create” per distribuire la risorsa

Una volta distribuita la risorsa, copiare le chiavi di accesso e l’endpoint per collegare l’app.

Impostazione dell’Ambiente di Sviluppo:

  1. Crea un file .env per memorizzare le tue credenziali:
    AZURE_FORM_RECOGNIZER_ENDPOINT="YOUR_AZURE_FORM_RECOGNIZER_ENDPOINT"AZURE_FORM_RECOGNIZER_KEY="YOUR_AZURE_FORM_RECOGNIZER_KEY"
  2. Apri VS Code e crea una nuova cartella “nutrition_app” con il file .env
  3. Apri il terminale in VS Code e installa il pacchetto Python:
    pip install azure-ai-formrecognizer
  4. Crea un nuovo file Python e importa le librerie necessarie:
    import osfrom dotenv import load_dotenvfrom azure.core.credentials import AzureKeyCredentialfrom azure.ai.formrecognizer import DocumentAnalysisClientload_dotenv()azure_form_recognizer_endpoint = os.getenv("AZURE_FORM_RECOGNIZER_ENDPOINT")azure_form_recognizer_key = os.getenv("AZURE_FORM_RECOGNIZER_KEY")

Aggiungi il codice per estrarre gli ingredienti e i valori nutrizionali dalle immagini e visualizzare i dati estratti:

# Esempio di codice per estrarre informazionidocument_analysis_client = DocumentAnalysisClient(    endpoint=azure_form_recognizer_endpoint,     credential=AzureKeyCredential(azure_form_recognizer_key))# Inserire il codice per analizzare le immagini e stampare i dati

Collegamento al Modello GPT-4 di OpenAI e Parsing del Testo Estratto

Dopo aver configurato il servizio di analisi documentale, procederemo a impostare il modello GPT-4 per analizzare e generare risposte basate sui dati estratti.

Creazione di una Risorsa OpenAI:

  • Seleziona il tuo abbonamento attivo
  • Scegli un gruppo di risorse esistente o creane uno nuovo
  • Assegna un nome alla tua risorsa
  • Scegli una regione
  • Scegli il piano di pagamento Standard S0

Dopo aver distribuito la risorsa, copia l’endpoint e la chiave di accesso e configura il tuo ambiente di sviluppo per utilizzare il modello GPT-4:

pip install openai
import openaiazure_oai_endpoint = "YOUR_AZURE_OAI_ENDPOINT"azure_oai_key = "YOUR_AZURE_OAI_KEY"azure_oai_deployment = "YOUR_DEPLOYED_MODEL_NAME"client = openai.AzureOpenAI(    azure_endpoint=azure_oai_endpoint,    api_key=azure_oai_key,    api_version="2024-05-13")

Ingegneria del Prompt

Un aspetto cruciale dell’uso dei modelli LLM è l’ingegneria del prompt. Questa disciplina consente di impartire istruzioni precise al modello, migliorando l’accuratezza dei risultati. Nel nostro caso, vogliamo che il modello fornisca consigli sulla sicurezza degli ingredienti dopo aver analizzato i dati nutrizionali:

system_message = """Sei uno smag, divertente nutrizionista che fornisce consigli sulla salute basati sugli ingredienti e sulle tabelle nutrizionali.Fornisci consigli su cosa è sicuro consumare in base agli ingredienti e alle tabelle nutrizionali, e identifica potenziali allergie."""# Inserire il codice per inviare la richiesta al modello e stampare la risposta

Salva le modifiche e esegui lo script per ottenere un’analisi completa degli ingredienti e consigli nutrizionali.

Puoi ulteriormente personalizzare il messaggio del sistema per adattarlo a esigenze specifiche come l’indicazione di alimenti con elevato contenuto di zucchero o specificare allergie.

Ecco alcune risorse utili per migliorare l’applicazione e costruire altri casi d’uso specifici: