Open AI’ın Power Platforma Entegrasyonu

Bu makalede Open AI API’larının Azure API Management Service üzerinden Power Platform’a nasıl entegre edildiğinden bahsedilmiştir.

Herkese selam,

Bugün Open AI’ın public API’larının power platform tarafında nasıl kullanılacağından bahsedeceğim.

Önce Open ai’ın bize sunduğu bu public Open API‘lara bakalım..

Burda API REFERENCES altında Open ai’ın AI modellerine erişim sağlayan bir dizi API listesini görebilirsiniz. Mesela Image’ın altında yer alan Create Image API’ı GPT’nin bir değişik versiyonu olan DALL-e’nin altında yatan modeli kullanır. Bu API üzerinden dall-e’nin resim oluşturma yeteneğini kendi uygulamalarınıza kazandırabilirsiniz.

Oluşturacağım canvas app’imde “Completion” api’ını kullanacağım.

Power Platform tarafında bu api’ı kullanan bir custom connector için önce bu api’ı Azure API Management portal ortamına alacağım. Azure API Management farklı yollarla api import edebildiğimiz ve farklı tipte api’ları destekleyen Azure servisidir. Neden Azure API Management’ı seçtim? Cevap için linki tıklayabilirsiniz.

Gideceğim adres

Portal Azure > API Management > Create an HTTP API

API’ıma çok yaratıcı davranarak openapi adını veriyorum ve create diyorum.

Add operation’dan post methodunu tanımlıyorum.

Alt tabda yer alan Header kısmına, linkte bana verilen (aşağıda da gösterdiğim content type ve authorization) request header’ları ekliyorum.

curl https://api.openai.com/v1/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \

API key‘inizi oluşturmak için openai’a login olduktan sonra profilinizin altındaki menüden “View API keys” altından ulaşabilirsiniz.


Yeni bir API key oluşturun ve kopyalayıp Authorization header’ının values kısmına ekleyin.

Header’dan sonra Request Tabına geçiyorum.

Content type’ı “application/json” seçip sample kısmına openai’daki parametre kod blogunu kopyalıyorum.

{
"model": "text-davinci-003",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0,
"top_p": 1,
"n": 1,
"stream": false,
"logprobs": null,
"stop": "\n"
}

Benzer şeyleri Response içinde yapacağım. Status codu’u 200 olan response için content type’ı yine application/json seçip aşağıdaki kodu sample’a kopyalıyorum

{
"id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
"object": "text_completion",
"created": 1589478378,
"model": "text-davinci-003",
"choices": [
{
"text": "\n\nThis is indeed a test",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 5,
"completion_tokens": 7,
"total_tokens": 12
}
}

Header, request ve response bittikten sonra, inbound policy‘de base ve set-backend-service policy’lerinin geldiğini görüyorum. İlave olarak set-header’ı ekliyorum.

Set-header policy;

Son olarak backend‘de endpoint’imizi de tanımlıyoruz.

Artık teste hazır..

Test tabında request body kısmına aşağıdaki parametreleri giriyorum ve send diyip bana power platformun ne olduğunu söylemesini bekliyorum.

{"model":"text-davinci-003","prompt":"What is power platfrom?","max_tokens":100,"temperature":1}

Gelen response;

Şimdi sıra bu API’ı kullanan bir custom connector oluşturup Power Platform’a eklemeye geldi..

Sol menüde APIs > Power Platform > Create a Connector

Power platform’a bağlanacak olan API’ı ve kullanacağım environment’ı seçtikten sonra create ile custom connector’ümü oluşturup Power Platform’a aktarıyorum.

Power Apps > Custom Connectors > openapi connectorü

Open api connector’ünü kullandığım bir canvas app uygulaması postunda görüşmek üzere..

Umarım faydalı olmuştur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s