GPT eylemlerinde kullanıcıları kimlik doğrulayın: Kişisel bir ajanda asistanı oluşturun
Kullanıcılarınız için GPT'nizde kişiselleştirilmiş bir deneyim oluşturun. Bu eğitim, OAuth'u kullanarak kişisel bir ajanda asistanı GPT'si oluşturmayı gösterir.
GPT'ler belirli kullanım durumları için ChatGPT deneyimini derinlemesine özelleştirmek için harikadır. Daha da iyisi, eylemler kullanarak hizmetlerinizle doğrudan etkileşim kurmanızı sağlar.
Bu eğitimde, GPT'lerinizin eylemlerinde kullanıcıları kimlik doğrulamak için OAuth'u nasıl kullanacağınızı göstereceğiz. Kullanıcıların etkinliklerini GPT'nin içinde yönetmelerine olanak tanıyan kişisel bir ajanda asistanı oluşturacağız.
Son GPT şöyle görünecek:
Sol taraf, kullanıcının GPT ile etkileşimini; sağ taraf ise kullanıcının ajandasını gösteren web uygulamasını içerir. Bu yaklaşım ile daha fazla olasılık mevcuttur, örneğin:
- Kullanıcıların e-postaları ve haberleri sindirmesine yardımcı olan bir kişisel asistan oluşturun.
- Konuşmadan ayrılmadan uçuşları gözden geçiren ve rezerve eden bir GPT oluşturun.
Bu eğitimin sonuçları ve kaynakları:
- Son GPT ChatGPT üzerinde mevcuttur.
- Demo web uygulaması gpt-agenda.fordemo.app üzerinde mevcuttur.
- Tam kod GitHub üzerinde mevcuttur.
Ön Koşullar
- Bu yazının yazıldığı sırada, GPT'ler yalnızca ChatGPT Plus ve üzeri kullanıcılar için kullanılabilir.
- Bir Logto Cloud kiracısı. Henüz yoksa ücretsiz Kaydolun.
- Kontrol edebileceğiniz bir alan adı. Hem GPT hem de Logto Cloud için kullanılacaktır.
- REST API'larını açığa çıkarabilen bir web uygulaması. Bu eğitimde, önceden oluşturulmuş ajanda uygulamasını kullanacağız.
GPT oluştur ve yapılandır
GPT oluştur
- ChatGPT adresini açın, sol tarafta, GPT'leri Keşfet butonuna tıklayın, ardından sağ üst köşedeki Oluştur butonuna tıklayın.
- Yeni GPT sayfasında, GPT'niz için bir ad ve açıklama girin. Örneğin, Ajanda Asistanı ve Ajandanızı doğrudan konuşmada yönetir.
- GPT'niz için bir logo yükleyebilir veya artı simgesine tıklayarak DALL-E'yi kullanarak bir logo oluşturabilirsiniz.
Bir eylem oluştur
Sağ altta Yeni eylem oluştur butonuna tıklayın. Yeni sayfada üç bölüm bulunmaktadır:
- Kimlik Doğrulama: Bu bölüm, kullanıcıların eyleminizle nasıl kimlik doğrulaması yapacağını yapılandırmanızı sağlar. Şimdilik Hiçbiri olarak bırakıyoruz.
- Şema: Eyleminiz için REST API'larını tanımlayan YAML formatında OpenAPI şeması. Şema ne kadar detaylı olursa, GPT kullanıcının niyetini o kadar iyi anlayabilir.
- Gizlilik politikası: Eyleminizin gizlilik politikası URL'si.
Bu eğitimde, kullanıcının ajandasını yönetmek için REST API'larını açığa çıkaran önceden oluşturulmuş bir ajanda uygulaması bulunmaktadır. OpenAPI şemasını GitHub deposunda bulabilirsiniz.
Şemayı yapıştırdığınızda, GPT otomatik olarak uç noktaları tanıyacak ve sizin için bir tablo üretecektir. Uç noktaları test etmek için Test et butonuna tıklayabilirsiniz.
GPT, API çağrısını gerçekleştirmek için izninizi isteyecektir. Devam etmek için İzin Ver veya Her Zaman İzin Ver butonuna tıklayın.
Uç noktanız kimlik doğrulaması gerektiriyorsa, yukarıdaki gibi bir hata mesajı göreceksiniz. Sunucu günlüklerini kontrol ettiğimizde, GPT'nin kimlik doğrulama bilgisi olmadan isteği gönderdiğini görebiliriz.
Logto Cloud'da özel alan adı yapılandırın
ChatGPT, hem eylemlerin hem de kimlik doğrulama uç noktalarının aynı kök alan adında olmasını gerektirir. Örneğin, eylemler uç noktanız https://api.example.com/
ise, kimlik doğrulama uç noktası https://auth.example.com/
gibi olmalıdır.
Bu gereksinimi karşılamak için Logto Cloud'da özel bir alan adı yapılandırmamız gerekiyor. Logto Cloud'a giriş yaptıktan sonra, sol taraftaki Ayarlar sekmesine, ardından üstteki Alanlar sekmesine tıklayın.
Genellikle yapılandırmanın tamamlanması sadece birkaç dakika sürer. İşlem tamamlandıktan sonra, özel alan adının Kullanılıyor hale geldiğini göreceksiniz.
Logto Cloud'da bir uygulama oluştur
OAuth kimlik doğrulaması gerçekleştirmek için Logto Cloud'da bir uygulama oluşturmanız gerekiyor. Logto Cloud'a giriş yaptıktan sonra, sol taraftaki Uygulamalar sekmesine, ardından sağ üst köşedeki Uygulama oluştur butonuna tıklayın.
Yeni sayfada, altta "Çerçevesiz uygulama oluştur" butonuna tıklayın. Uygulama türü olarak "Geleneksel web" seçin ve uygulamanız için bir ad girin, örneğin, GPT Ajanda Asistanı. Ardından altta "Uygulama oluştur" butonuna tıklayın.
Uygulama oluşturulduktan sonra, ŞEHE VE KIMLIK BİLGİLERİ kartına gidin (biraz aşağı kaydırmanız gerekebilir). Bilgileri genişletmek için Uç nokta bilgilerini göster butonuna tıklayın.
Eylemi yapılandır
Şimdi, GPT eylem sayfasına geri dönün, Kimlik Doğrulama bölümüne tıklayın, sonra OAuth seçin. Form öğeleri Logto Cloud'daki bilgilerle şöyle eşleşir:
- İstemci ID: Logto Cloud'daki Uygulama Kimliği.
- İstemci Gizliliği: Logto Cloud'daki Uygulama gizliliği.
- Yetkilendirme URL'si: Logto Cloud'daki Yetkilendirme uç noktası.
- Token URL'si: Logto Cloud'daki Token uç noktası.
Kapsam alanı için openid offline_access
girin; "Token Değişim Yöntemi" alanı için varsayılan değeri (POST isteği) koruyun.
Son olarak, aşağıdaki Kaydet butonuna tıklayın.
Logto uygulama yapılandırmasını güncelleyin
GPT yapılandırma sayfasına geri dönün, şimdi Eylemler bölümünün altında bir Geri Çağırma URL'si alanı görebilirsiniz.
O URL'yi kopyalayın, ardından Logto Cloud uygulama sayfasına geri dönün. URL'yi Yönlendirme URI'ları bölümüne yapıştırın.
Şimdi, aşağı kaydırarak, GPT için yenileme token desteğini etkinleştirmek üzere Her zaman Yenileme Tokeni Yayınla seçeneğini açın. Bu, kullanıcılarınızın GPT'de daha uzun süre oturum açmış durumda kalmalarına yardımcı olabilir.
Ardından aşağıdaki Kaydet butonuna tıklayın.
Kontrol noktası: OAuth akışını test edin
Şimdi her şey hazır, OAuth akışını test edelim ve her şeyin beklendiği gibi çalıştığından emin olalım. GPT yapılandırma sayfasına geri dönün, oluşturduğumuz eyleme tıklayın, ardından listItems uç noktası için Test butonuna tıklayın (ilk olan).
Önizleme bölümü oturum açmanızı isteyecektir. [eylem adınız ile] oturum aç butonuna tıklayın, ardından OAuth akışını tamamlayın.
Logto Cloud'da marka ve oturum açma yöntemleri gibi giriş deneyimini özelleştirebilirsiniz. Daha fazla bilgi için 🎨 Giriş deneyimini özelleştirin adresine bakın.
Her şey beklendiği gibi çalışıyorsa, arka uç sunucunuz Authorization
başlığında erişim tokeniyle bir istek almalıdır. Bizim durumumuzda, arka uç sunucusu ajanda uygulamasıdır. Yanıt gövdesinde kullanıcının ajandasını döndürecektir:
Şaşırtıcı bir şekilde, OpenAPI şemamız yeterince ayrıntılı olduğu için, GPT herhangi bir ek yapılandırma olmadan API çağrısını gerçekleştirebilir. Örneğin, createItems uç noktası için Test et butonuna tıklarsanız, GPT'nin sizin için istek gövdesini oluşturduğunu (veya eksik bilgiyi sağlamanızı istediğini, moduna bağlı olarak) göreceksiniz.
Erişim tokenini doğrula
OAuth akışı çalıştığında, şimdi isteğin kimliği doğrulanmış bir kullanıcıdan geldiğinden emin olmak için arka uç servislerinde erişim tokenini doğrulayabiliriz. Logto bir OIDC sağlayıcısı olduğundan, Kullanıcı bilgi uç noktasını erişim tokenini doğrulamak için kullanabiliriz. Uç nokta Logto Cloud uygulama sayfasında bulunabilir.
Basitçe, Authorization
başlığında erişim tokeniyle uç noktaya bir GET isteği gönderin. Erişim tokeni geçerliyse, uç nokta yanıt gövdesinde kullanıcının bilgilerini döndürecektir. İşte bir Node.js kullanarak örnek:
Tam kodu GitHub deposunda bulabilirsiniz.
Bonus: Ana uygulama ile gerçek zamanlı senkronizasyon
Kendi ajanda uygulamanız olabilir ve kimlik doğrulama ile, kullanıcıların ajandasını konuşmadan çıkmadan gerçek zamanlı olarak senkronize edebilirsiniz. Gerçek zamanlı senkronizasyonu eylemde görmek için, web uygulaması adresine gidin ve demo GPT'de kullandığınız aynı hesapla oturum açın.
Sonuç
GPT eylemleri, kullanıcılarınıza kişiselleştirilmiş bir deneyim oluşturmak için güçlü bir araç olabilir. Herhangi bir sorunuz veya geri bildiriminiz varsa, lütfen tartışma için Discord sunucumuza katılın.