State of knowledge

January 2024
ProCall 8 Enterprise from 8.3.0

Further development and improvements from version 8.3.4


estos supports the interface/API to third-party providers for ChatGPT (currently OpenAI and Microsoft with Azure OpenAI Service) as of ProCall 8 Enterprise V. 8.3 .

The use of ChatGPT and direct access to AI (Artificial Intelligence) is subject to legal requirements and the terms of use/usage policies of the third-party providers, especially when it comes to accessing and using their API.

By supporting the API, estos cannot guarantee the topicality, completeness and correctness of all information regarding the current legal status or the offer of third-party providers, such as terms of use/functional scope/hosting models/pricing information.

We provide the following information with our current state of knowledge as an aid – without claim to topicality, completeness and correctness.

Introduction

Integration of AI into a chat system

Integrating artificial intelligence (AI) such as ChatGPT into familiar chat systems offers businesses a wealth of opportunities: Chatbots are able to provide constant and expeditious responses to queries and handle a variety of tasks, from simple information requests and translations to complex support requests. Through bidirectional communication, output results in dialog can be substantiated through renewed requests and, for example, changed in language style or adapted to an expert level.

Central set up available for users

By having the setup happen centrally on the chat application server, users are provided with a seamless and smooth process as they do not have to worry about technical aspects such as setup, cost or API keys. This allows companies to provide this service to their users without any additional effort or technical knowledge.

In addition, the centralized server setup enables efficient cost management. Companies can monitor and control budgeting and costs for the use of ChatGPT.

ChatGPT integration with ProCall chat

From ProCall Enterprise 8.3.0, ProCall supports the integration of ChatGPT via the interface of the providers OpenAI and Microsoft with Azure OpenAI Service. For the central setup on the UCServer, the so-called API key is required, for which an account must be set up with the AI platforms (third-party providers). The terms and conditions of the third-party provider apply to the account.

The chatbot itself can thus be activated via the interface as a separate ProCall user, so that other (appropriately authorized) ProCall users in the company can "chat" ChatGPT directly from the ProCall interface in the chat and in the group chat with their requests and make their requests.

Preview: DALL-E for image generation

Images can be created from text descriptions via DALL-E from OpenAI.

For release 8.3.0 of ProCall Enterprise we have already included a preview of the DALL-E integration for use.

Please note that this is still a preview feature and has not yet been fully released.

Requirements

Third-party AI platforms for ChatGPT

OpenAI and Microsoft Azure OpenAI/Cognitive Service are different AI platforms with different models for hosting, pricing and privacy policies, for example.

OpenAI

OpenAI has its main server locations in the USA.
OpenAI works on data protection and plans to open more data centers in other countries.

Microsoft Azure OpenAI

Azure OpenAI/Cognitive Service has global data centers.
Azure OpenAI Service offers data hosting in different regions and has strict data protection policies with compliance certifications such as the GDPR.

Setting up the interface via API key

Microsoft Azure OpenAI Service

Since Microsoft Azure OpenAI Service is still in preview, we cannot provide guidance on how to access Azure OpenAI
Please refer to the documentation provided by Microsoft: https://learn.microsoft.com/de-de/azure/ai-services/openai/overview

You can find an overview of the available models here: https://learn.microsoft.com/de-de/azure/ai-services/openai/concepts/models

OpenAI

The steps to create an OpenAI API key (ChatGPT) may vary as they depend on the timing and policies of the platform. 
If necessary, refer to the OpenAI documentation or the OpenAI help section for more detailed steps.

In general, however, you can complete the following steps:

  1. First, visit the OpenAI website.
  2. Log in or create a new account if necessary.
  3. After logging in/creating your account, navigate to your dashboard.
  4. In your dashboard, you should see the "API Keys" section.
  5. Click on "Create new API Key" or similar (naming may vary).
  6. You will probably be asked to confirm the creation or enter additional information.
  7. After confirmation, your new API key should be generated and displayed on the screen.

Remember to keep your API key safe and do not share it with others as it might allow access to your data.

The cost of using the OpenAI API may vary depending on the amount of tokens used and other criteria.
Here is a general guide to understanding the pricing model:

  1. Visit the OpenAI website.
  2. Click on "Prices" or similar in the menu bar. Note that the exact naming may differ.
  3. Here you can see the different pricing models. With OpenAI there is a separate price for research and production access.
  4. The price is usually charged per token. Both the input and output tokens you use in your requests count towards the total cost of your API usage.
  5. Also note that the waiting time for token generation is also charged.

Please note that prices and pricing structure may vary. It is always recommended to check the OpenAI pricing information page for the latest information.

In addition, we recommend reading the OpenAI documentation, which contains detailed information about token pricing and calculation.
It is important to understand all the terms and details carefully before using the service.

If you have questions about your specific situation, you can also contact OpenAI Support.

UCServer

Log in chatbot as user to UCServer

For the integration, it is mandatory to have a user available in the UCServer user management that stands for the chatbot. The ChatGPT integration will log in to the UCServer as a client with the login data of this user and can then be chatted with by the authorized ProCall users.

In case of user management via Active Directory (AD), a service user should be created whose password does not change.

Assign a suitable display name for the user so that he can be easily found by the other ProCall users. You can also assign a suitable contact picture.

Activate authorization for ProCall users

Please note that the interface in the UCServer administration for ChatGPT integration will be revised in later versions.

Start the UCServer administration and activate the user
In the service permissions, make sure that the user has the right to start chats.
Also, make sure that you have not globally disabled chat in the basic services of the UCServer either.

Enter access data and API key

Now go to the "ChatGPT integration" item in the tree structure of the UCServer administration on the left.

Enter the access data under user name and password and the issued API key.

For Azure OpenAI Integration, enter the URL of the API endpoint here:
This has been created in the Azure Portal in the "Azure OpenAI" area and has this form, for example: https://[NAME_DER_RESSOURCE].openai.azure.com/

At Deployment/Model, enter the model to be used at OpenAI, which has been unlocked for your API key.
The exact designations can be found in the documentation https://platform.openai.com/docs/models, e.g.:

  • gpt-3.5-turbo
  • gpt-3.5-turbo-16k
  • GPT-4

In the case of Azure OpenAI Service, specify the deployment name:
This is the name created in Azure OpenAI Studio, e.g. "chatgpt4test".

Assign keywords as tags for the chatbot

Under Keywords you can assign keywords for tagging the chatbot in group chats. (More about this in the "Aus Sicht des Benutzers").
For example, assign a keyword, such as the bot's display name. 

If you want to assign multiple keywords, you can specify them separated by semicolons.

(Preview) Assign keywords for DALL-E

If you have also activated DALL-E for generating images for the connected API from OpenAI or Azure, you can define keywords here via which the integration is activated.
This keyword must be made at the beginning of the call by the user to the chatbot.

If you want to assign multiple keywords, you can specify them separated by semicolons. such as: "paint;draw".

Activate integration

Now activate the integration and apply the settings.

Example configuration of an Azure OpenAI integration

ConfigurationInputComment
ServerlocalhostThe UCServer client connection is itself accessible on the UCServer under "localhost". This only needs to be changed if a different network interface setting is used for "UC clients"
Port7222The "UC-Client" standard port in the network interfaces of the UCServer
UsernamevariableThe user name of the user who represents the bot. This must be congruent with the user name in the UCServer user administration
PasswordvariableThe password of this user
Resource-URIEmpty or variableEmpty for OpenAI,
for Azure OpenAI Service the endpoint of the API
Deployment ModelvariableFixed for OpenAI,
in Azure it corresponds to the "deployment name" in Azure OpenAI Studio
KeywordsvariableTo tag the bot in a chat room
DALLE-KeywordsvariableTo create a prompt for Dall-E, the prompt must begin with this keyword.


From the user's perspective

1:1 Chats

The user can search for this user (ChatGPT) configured for integration in any ProCall client where he can chat and chat him. It is also recommended, for example, administrative configurations of the favorite or monitor content, so that it can be accessed more quickly.

Also, the user can "pin" this chat.

To communicate with it, you can simply write "Hi" or "Hello", to which it will respond. With an existing presence, you can also see if the chatbot is really activated and running.

Example screenshot: ChatGPT in ProCall chat

Chat rooms/Group chat

Chat rooms are a special feature: You can also add the chatbot to chat rooms.

So that he does not respond to every message there, you have to tag/mention him there so that he responds. For this reason, "keywords" were configured so that he explicitly responds only to these.

Example screenshot: ChatGPT in a ProCall chatroom of the Sales group department – Chatbot is addressable in the group chat via the tag @ChatGPT

Create images

To be able to generate images, a keyword must be written in the chat that corresponds to the one in the configuration for DALL-E in the UCServer administration. If, for example, the keywords "paint;draw" were stored there, then the user activates the bot via "paint" or "draw".

For example: "Draw me a picture of a dog" or "Draw me a house with 2 floors and 2 windows each".

Context

Each user interacting with the chatbot creates its own context for itself. In chat rooms, the context is this chat room and not the participating user.

Example: User1 writes with the chatbot for the first time and notices that the chatbot answers in English. The user asks the chatbot to reply in German from now on. The chatbot does so.

This " changing the language" has no influence on user2, because the chatbot does not know the context and creates its own context with user2.

Context for the generation of images

If images are generated via DALL-E (Preview) in the chat, there is no context. This is currently not possible with the API.

This means that you cannot write, for example:

  1. Paint me a picture of a dog
  2. Change the background to blue

Here you would have to make a call directly:

  • Paint me a picture of a dog, background color blue


Tip

For image generation, just let the chatbot create the prompt for DALL-E.

  1. Set ChatGPT the task to create a prompt for an AI like DALL-E
  2. Then use the answer as a prompt for DALL-E

Delete context

Available from ProCall Enterprise version 8.3.4.

The user can also delete the context themselves by sending "/clear" as text to the chatbot.

This can be useful if the dialog has reached a point where the context has become irrelevant or confusing, or if a completely new topic of conversation is to be introduced. Deleting the context can then help to create a clear and unbiased communication platform.

Technical details and notes

ProCall Enterprise only connects between the API of the AI provider.

This means that models – chatgpt3-5, chatgpt4 or similar only with OpenAI Integration, not with Azure OpenAI Service – are affected on the ProCall side. This includes response times or restrictions, such as token limits per day or NSFW filters, etc. These are – if possible – to be configured via the account and are within the scope of the offer by the third-party provider.

Also, the control of the costs to be incurred in the case of chargeable pricing must be observed via the provider and not via ProCall Enterprise.

Chat with chatbot – completion API

Create images by prompt – generate-API

For generating images the so called generate-API is used, so only creating images by text prompts (TextToImage) is supported and not editing or extending:

FAQ

Are the ChatGPT models trained with the data I send?

The statement reflects our current state of knowledge from research into the third-party providers mentioned. (October 2023)
Without claim to completeness and correctness.

No, the data you enter will not be used for training, according to the third-party providers' own statements.
The data usage guidelines of the OpenAI API and Microsoft Azure OpenAI Service are authoritative..

For more information, please see the relevant Data Use Policy. You can find them here:

Information/Data Usage Policy of OpenAI API

Data, privacy, and security for Azure OpenAI Service

Will the data I send be saved?

The statement reflects our current knowledge from research on the third-party suppliers mentioned. (October 2023). Without any claim to completeness and correctness.

The first question was about using the data to train the ChatGPT model. This question looks at whether the sent data is stored in the meantime and whether someone has access to it.

According to OpenAI and Microsoft Azure OpenAI Service, the answer is YES.

Since both companies perform so-called "Abuse monitoring" to detect cases of abuse, the questions entered are stored for 30 days. Should the procedure (Abuse monitoring) be triggered, selected employees of OpenAI or Microsoft Azure OpenAI Service can view this information. OpenAI uses both internal company employees and external companies for this purpose, whereas Microsoft uses only Microsoft employees from the same region.

"Abuse monitoring" is a monitoring strategy used to identify and detect instances of abuse in a system or platform. Organizations use this method to detect potentially abusive or inappropriate activity on their platforms. In the context of OpenAI and Microsoft text models, data submitted by users is monitored to detect and prevent inappropriate use. Obvious violations are recorded and stored for a period of time so that selected employees can access them as needed.

Further information can be found in the respective privacy policies:

Information/Data Usage Policy of OpenAI API

Data, privacy, and security for Azure OpenAI Service

Is it possible to disable data storage of particularly sensitive data by third parties?

OpenAI does not allow disabling data storage, while Microsoft offers the option to disable it under certain conditions. However, a separate request must be made to Microsoft for this and it must be approved.

Is data stored in the ProCall Enterprise installation?

As the communication with the ChatGPT integration is conducted via the internal chat of the UCServer, the messages and images are stored in the server database of the UCServer according to the rules defined there.

You can also find information about this here:

UCServer Logs

The specific logs for ChatGPT integration on the server do not normally store chat message content. However, an exception would be if, for example, the API reports an error message with the content of the chat message back to the UCServer. Then this message from the API would be visible in the logs.

Application areas and examples

You can find more information on the estos website at estos.com.

Further information

Chat in ProCall 8 Enterprise

How do I start a group chat with ProCall? PCE8

estos ProCall Enterprise server log files