Integrate GPT4o (Azure Open AI) in Teams channel via Logic App with image supportability

  • Thread starter Thread starter Drac_Zhang
  • Start date Start date
D

Drac_Zhang

As per the previous blog (Integrate Azure Open AI in Teams Channel via Logic App - Microsoft Community Hub) which only supports for plain text conversation.

For now, Azure Open AI released GPT-4o model which integrates text and images in a single model, enabling it to handle multiple data types simultaneously.

This post is to introduce how to upgrade to GPT-4o with capability for image processing.




Prerequisite

Most of the prerequisites are the same, just instead of GPT-3.5, we need to have a GPT-4o deployment in Azure Open AI environment.

Since GPT-4o is not available for all the regions, so you need to refer to the document (Azure OpenAI Service models - Azure OpenAI | Microsoft Learn) to see whether your current region supports for GPT-4o or not. If not, then you will have to deploy a new Azure Open AI.




Mechanism

In Open AI API, we can see that when send image to API, we need to provide image as base64 encoded content.





Code:
[
  {
    "role": "user",
    "content": [
      {
        "type": "image_url",
        "image_url": {
          "url": "data:image/png;base64,iVBORw0AAABJR.....U5ErkJggg=="
        }
      },
      {
        "type": "text",
        "text": "what is this logo"
      }
    ]
  }
]





So the only thing for us is to get image binary data from Teams channel which we can achieve that via using Teams Graph API: Get chatMessageHostedContent - Microsoft Graph v1.0 | Microsoft Learn



Template and parameters

You can find the template in Drac-Zhang/LogicApp_Teams_OpenAI_Integration_WithGPT4o (github.com)

Parameters of the template:


Parameter NameComments
openai_apikeyThe api key of Open AI resource, it can be found in Open AI -> Keys and Endpoints
openai_endpoint
Open AI api endpoint, the format is https://[Open AI resource Name].openai.azure.com/openai/deployments/[Deployment name]/chat/completions?api-version=2024-04-01-preview

The version has been upgraded to 2024-04-01-preview compare to previous blog

teams_channel_keywordThe keywords you would like to trigger the Logic App, not case sensitive
teams_channel_idSee previous blog Integrate Azure Open AI in Teams Channel via Logic App - Microsoft Community Hub
teams_group_idSee previous blog Integrate Azure Open AI in Teams Channel via Logic App - Microsoft Community Hub
storage_account_nameThe storage account name for saving conversation history
storage_account_accesskeyThe access key for the storage account



Known Issues

Except the same known issues from previous blog, we have a new one:

In "Send a Microsoft Graph Http Request" action in "Microsoft Teams" connector, we have an issue that cannot correctly response hosted content as binary data, so we have to use "Invoke an HTTP request" which results to extra API connection (webcontents) and it requests to manual authentication after the deployment.




Sample Chat

large?v=v2&px=999.png

Continue reading...
 
Back
Top