Scopri come integrare GPT-4o di Azure Open AI in Microsoft Teams con supporto per immagini.
L’integrazione di GPT-4o di Azure Open AI in un canale Microsoft Teams tramite Logic App rappresenta un’evoluzione significativa rispetto alle versioni precedenti che supportavano esclusivamente la conversazione testuale. Questo aggiornamento consente ora di gestire sia testo che immagini contemporaneamente, sfruttando appieno le potenzialità offerte dai modelli multimodali.
Prerequisiti per l’integrazione
La maggior parte dei prerequisiti rimane invariata rispetto alla versione precedente, tranne per il fatto che è necessario disporre di una distribuzione GPT-4o nell’ambiente Azure Open AI. Poiché GPT-4o non è disponibile in tutte le regioni, è fondamentale consultare il documento di disponibilità dei modelli Azure OpenAI Service models – Azure OpenAI per verificare se la propria regione supporta GPT-4o. In caso contrario, sarà necessario effettuare una nuova distribuzione.
Meccanismo di funzionamento
Nell’API Open AI, per inviare un’immagine si deve fornire il contenuto dell’immagine codificato in base64. Un esempio di richiesta JSON all’API potrebbe essere il seguente:
[ { "role": "user", "content": [ { "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBORw0AAABJR.....U5ErkJggg==" } }, { "type": "text", "text": "che cos'è questo logo" } ] }]
La sfida principale è ottenere i dati binari dell’immagine dal canale Teams, obiettivo raggiungibile tramite l’uso dell’API Graph di Microsoft Teams: Get chatMessageHostedContent – Microsoft Graph v1.0.
Template e parametri
I template e le relative parametrizzazioni per la Logic App sono disponibili su GitHub: Drac-Zhang/LogicApp_Teams_OpenAI_Integration_WithGPT4o. Di seguito, alcuni dei parametri che necessitano configurazione:
Nome del parametro | Descrizione |
openai_apikey | La chiave API della risorsa Open AI, disponibile in Open AI -> Keys and Endpoints |
openai_endpoint | Endpoint API di Open AI, formato: https://[Nome risorsa Open AI].openai.azure.com/openai/deployments/[Nome distribuzione]/chat/completions?api-version=2024-04-01-preview |
teams_channel_keyword | Le parole chiave che attivano la Logic App, non sensibili al caso |
teams_channel_id | Vedi il blog precedente |
teams_group_id | Vedi il blog precedente |
storage_account_name | Nome dell’account di archiviazione per salvare la cronologia delle conversazioni |
storage_account_accesskey | Chiave di accesso per l’account di archiviazione |
Problemi conosciuti
Oltre ai problemi già noti dal blog precedente, si segnala un nuovo problema: nell’azione “Send a Microsoft Graph Http Request” nel connector di “Microsoft Teams”, si riscontra un problema che impedisce di restituire correttamente i contenuti ospitati come dati binari. Per risolvere, è necessario utilizzare l’azione “Invoke an HTTP request”, il che comporta una connessione API aggiuntiva (webcontents) e richiede un’autenticazione manuale dopo la distribuzione.
Esempio di chat
Di seguito un esempio visivo di una chat che utilizza l’integrazione di GPT-4o: