Vai al contenuto

Integrazione GPT-4o in Microsoft Teams tramite Logic App con supporto immagini

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:

Esempio di chat