Using Azure OpenAI Chat Completion in Business
In my opinion is ChatGPT from OpenAI a definitely disrupting technology of these times. In detail, having its own AI assistant, which can understand and generate human-like text, opens a whole new realm of possibilities to me. I use my Intelligent Assistant in various fields, such as research, writing, and personal productivity.
When exploring new technologies, for example, AI helps me understand complex concepts. What’s special is that ChatGPT can generate these explanations in a language I can understand based on my prompts and questions. In other words, the AI adapts to my needs and learning pace. For writing, I use ChatGPT for brainstorming or creating outlines. Plus, my AI also understands my native language and helps me refine my drafts. In addition, my AI counterpart brings in an alternative perspective.
Furthermore, in terms of personal productivity, my AI acts as a versatile assistant. I can delegate routine tasks such as generating standard business emails or summarizing text to an abstract. Moreover, this does not stop with standard office tasks. My Intelligent Assistant is also capable of explaining and transforming source code into another programming languages, generating terraform scripts, writing Workflow files for GitHub automation, and even more. In other words, I also use my AI to solve non-standard tasks, because ChatGPT can understand my concepts in collaboration with my prompts and helps me refine these concepts.
Well, there are a lot benefits and I know there are even more. But there are also security considerations! Especially, when you use ChatGPT or another AI models in Business. This is because we are communicating with these AI models. Furthermore, when I start using the AI as a real counterpart of myself, the communication can contain confidential information. This is even more critical in a business context for companies.
Privacy & Security Risks
Let’s take this point into consideration. As an executive of a company, I should have a lot of questions such as:
- What’s about my data privacy?
- How can I avoid a leak of confidential information?
- How can I protect the Intellectual Property of my company?
- Is ChatGPT compliant with the rules of my company?
- What’s about GDPR?
- Can I trust the AI provider?
- …
But what should I do? Should I avoid using this disruptive technology in the company? Can I do without ChatGPT as an innovation tool?
Let’s wrap these questions up. First, I must protect the data and even more the business communication of my company. Furthermore, in the EU I must comply with the General Data Protection Regulation (GDPR). And finally, does the AI provider guarantee me all these aspects of security and data protection?
In consequence, companies tend to block the usage of AI to stay compliant and avoid any risks. I understand this. Now, the million-dollar question: How can I use the super power of AI for my company in a secure and controlled manner?
The good news is that you can do it easily with self-hosted AI models in Microsoft Azure or in your AWS cloud account!
Azure OpenAI
Microsoft provides a secure option to provide Azure OpenAI as managed service directly within your Azure subscription. This offering also solves a lot of the discussed issues. A managed Azure OpenAI service provides a secure solution that addresses data privacy and security concerns. Additionally, hosting the isolated model in an EU region helps fulfill the requirements of the General Data Protection Regulation (GDPR). In other words, this ensures that company data is processed in compliance with GDPR guidelines.
That’s great! You might also ask yourself now, how can I benefit from this and set up my own Azure OpenAI model. Here is a guided tour for you.
Azure OpenAI Service
Note: The OpenAI Preview must be available in your subscription. Otherwise register here: Limited access to Azure Open AI service
Trust me, this tutorial takes no longer than 15 minutes! First, I navigate to my Azure Subscription and open the Marketplace. Furthermore, I search for Azure OpenAI from Microsoft. After filtering I see this offering:
The wizard opens after I select the offering. Here, I must specify basic information such as Subscription
, Resource group
, Region
, Name
, and Pricing tier
. I use as region West Europe
to comply with GDPR for my company.
In the next step, I can limit the access to my Azure OpenAI models. I recommend including your IT and apply and implement your own company security rules here. Moreover, IT can help you to set up your private network connection:
Finally, I finish the wizard. Azure starts creating my Azure OpenAI service. After some minutes, I can navigate to the deployment result:
AI Chat Completion Model
Now, I must setup a model for my Azure OpenAI service. This is because I want using my AI as a chat assistant. In other words, I want to start a conversation to my Azure OpenAI service. I do this here in my Azure component by clicking on Manage Deployments
:
Next, I create a new model deployment for my Azure OpenAI service. I use the model gpt-35-turbo
which is comparable to ChatGPT:
That’s all. My model is created in a few seconds, and I navigate to my Chat playground
where I can configure and test my model:
Setting up my model means, I specify how my AI interacts and communicates with me. I can select between several behaviors from a Shakespeare writing
to whatever I need: assistant
I use here the Default
settings, because my AI should support me in common task like finding information for me. Furthermore, I can test my setup. This is possible here in a Chat session
:
Finally, I can also optimize the parameters for my AI such as Max responses
or the Temperature
:
By changing the Temperature
of my model, I can control the randomness of the answers. Lowering the temperature means that the model will produce more repetitive and deterministic responses. Increasing the temperature will result in more unexpected or creative responses. In other words, I can limit or increase the creativity of my AI model by changing the Temperature
.
Deploying Chat Completion
And now the best news of the week, the new feature in public preview: Now, I can deploy a web application like ChatGPT for my model within a single click. That is awesome to me!
I start the deployment of my Chat Completion model directly from Azure AI studio. For that reason, I press Deploy to...
in my Chat playground
:
Another dialog opens, where I configure my web application properties. As you see, I give my application a name, select my subscription, and configure the resource group. Furthermore, I define the Azure region, where my web app is hosted. Finally, I choose a proper hosting plan:
I have configured per example West Europe
as Azure region
for the sake of GDPR reasons. When I click on Deploy
, Azure starts with the provisioning of my resources:
After some minutes, my web app is deployed. When I try to access my new website, I might see this. I was a bit too fast for the authentication.
I give my web app some more minutes. Now I see this. Behind the scenes, a new application (App Registration) was created for my Azure Active Directory. Furthermore, this application is used in my web app together with Microsoft as identity provider. This ensures that only users of my Azure Active Directory can use my application. As result, I must sign in and someone must grant consent for my application:
I can grant the consent by myself because I’m the administrator for my Azure Active Directory. In addition, I can also grant the consent on behalf of my organization. However, the App registration setup and configuration is also something, where your internal IT can support you.
After this is done, I can use my OpenAI chat completion interface in Azure:
Hey, I have a simple question to my new AI assistant: “How do I manage the access of an Azure App Service?”. Some seconds later, the AI answers and give my also some hints how I can limit the access to my web app:
This is amazing! I have created a ChatGPT like web application for my company. Furthermore, this web application provides the right level of data privacy and is compliant with my company’s security rules. In addition, you can adjust security for your own needs. But can I also change the published web app?
Building your own Web App
Yes, you can do that too, of course. As close look to my deployed web application shows me this:
My web application is based on an external repository in GitHub. Furthermore, this sample repository is provided by Microsoft as open source. Here is the link: https://github.com/microsoft/sample-app-aoai-chatGPT
That means in detail, I can clone this repository and deploy a customized web application to my Azure subscription. Moreover, I can modify the web site style and apply my own corporate design to this web application.
Summary
Let me summarize my blogpost for you. Using Large Language Models like ChatGPT is in my opinion a proper way to increase my own efficiency. Such an intelligent assistant helps me with common tasks in my daily life. I would even say that AI is sometimes like an intellectual counterpart. You can compare it with a “portable librarian”.
This brought me to the question: Can I use this technology in a secure way compliant to GDPR for my company? For that reason, I showed you Microsoft’s offering of Azure OpenAI. Moreover, I explained how that fits into my needs for security and data privacy. This is because the OpenAI model I can use that offering as part of my own private cloud.
I also showed you the setup of my self-hosted OpenAI model in my Azure subscription. Moreover, I explained the necessary steps to deploy a chat completion model in Azure OpenAI. Furthermore, I navigated into the Azure AI Studio Chat playground, where I can adjust the parameters of AI. Finally, I deployed a web application from there by following this wizard. As result, I got this setup of a secured web application with my private Azure OpenAI model:
In other words, now my company can use a chat-based AI assistant like ChatGPT along with enterprise-level data protection. As result, my colleagues now have access to their own private Intelligent Assistant which support my colleagues in various fields, such as research, writing, and personal productivity.