Ana içeriğe geç Tamamlayıcı içeriğe geç

Örnek 1: "OpenAI Tamamlamaları API'si (GPT-3) - Satırlar" yapılandırması

Bu örnek, OpenAI analitik bağlayıcısını "OpenAI Tamamlamaları API'si (GPT-3) - Satırlar" yapılandırmasıyla nasıl kullanacağınızı öğretir. İşlevselliği veri modelinize ve grafik ifadelerinize nasıl dahil edeceğinizi gösteren temel alıştırmalarda size rehberlik eder.

Bu bağlayıcı yapılandırmasının işlevselliği, "OpenAI Sohbet Tamamlamaları API'si (GPT-3.5, GPT-4) - Satırlar" yapılandırmasına çok benzer. Ancak bu iki yapılandırma farklı modeller kullanır ve bu da farklı yanıtlara yol açar. Ayrıca bu iki yapılandırma arasındaki parametre adlarındaki farklılıklar nedeniyle, yapılandırmanızla eşleşen öğretici örneğe bakın. Sohbet Tamamlamaları yapılandırması için bk. Örnek 3: "OpenAI Sohbet Tamamlamaları API'si (GPT-3.5, GPT-4) - Satırlar" yapılandırması.

Bu örneği Azure OpenAI bağlayıcısını kullanarak da tamamlayabilirsiniz. Bu bağlayıcıyı kullanırken, modellerle OpenAI platformu yerine Microsoft Azure platformu üzerinden etkileşim kurarsınız.

Başlamadan önce:

Bu örneği tamamlayabilmeniz için aşağıdaki adımları tamamlamanız gerekir.

  • OpenAI platform hesabı oluşturun

  • OpenAI API anahtarı edinin

  • Analiz bağlantısı işlevselliğini etkinleştirmek için Qlik Cloud

  • Geçerli bağlayıcı yapılandırmalarıyla bağlantılar oluşturun

Komut dosyanızda OpenAI bağlayıcısını kullanma

OpenAI platformuyla iletişim kurmak için komut dosyası ekleyeceğiniz yeni bir Qlik Sense uygulaması oluşturun. Bu komut dosyasıyla yüklediğiniz tablolar, uygulamanızın veri modelinde erişilebilir olacaktır.

Bilgi notuBu bölümü tamamlamak için Örnek 2'deki kod bölümüyle aynı uygulamayı kullanıyorsanız aşağıdaki komut dosyasını yüklemeden önce Örnek 2'deki kodu yorumlamanız veya silmeniz gerekir. Bunu yapmazsanız veri modelinde sorunlar yaşanır ve hatta veriler yüklenirken bir hatayla karşılaşabilirsiniz.

Aşağıdaki adımları izleyin. Daha fazla ayrıntı için bk. Bir OpenAI bağlantısından veri seçip yükleyin.

OpenAI'ye gönderilecek veri tablosunun oluşturulması

İlk adım, OpenAI'ye gönderdiğiniz isteği içeren bir tablo oluşturmaktır. Talepteki veri satırları "tamamlamalar" olarak bilinir. Her bir öge için metin, tabloda tek bir alanda (sütun) satırlar halinde bulunmalıdır. Bu sütundaki her satır OpenAI API tarafından tamamlanacak metni temsil eder.

İlişkilendirme Alanı için ikinci bir ek alan olabilir ancak bunun yapılandırmada belirtilen alan adıyla eşleşmesi gerekir. Bu, OpenAI'ye gönderilmeyecek özel bir alandır ancak bir Qlik veri modeli oluşturmak amacıyla yanıtlara eklenir.

Uygulamanızda Veri yükleme düzenleyicisini açın ve aşağıdaki kodu yeni kod bölümüne yapıştırın:

SourceTable:
NoConcatenate
LOAD 
RowNo() as RowId,
Text
Inline
[Text
translate from English to French: What is the time you go to work?];					

 

Bu tablo, OpenAI'ye sorduğumuz tek bir soruyu içeren Text adlı bir alan içerir. Ek sorular, mevcut soru hücresinin altına yeni ayrı hücreler olarak eklenebilir. RowId alanı, yanıtları uygulamanın veri modeline bağlamak için bir sonraki adımda kullanılacak olan İlişkilendirme Alanı'dır.

OpenAI load deyiminin oluşturulması

Bir sonraki adım, OpenAI ile iletişim kurmak için başka bir load deyimi oluşturmaktır. Bu deyimle yüklediğiniz tablo, istek verilerini göndermek için kullandığınız tablo ve alanların adlarına işaret eder. Kısacası, OpenAI'nin istek ögelerinize verdiği yanıtları sağlamak için komut dosyası tarafından ikinci bir tablo yüklenir.

Komut dosyasının bu bölümünü oluşturmak için kullandığınız bağlantı için Veri seç sihirbazını kullanabilirsiniz. Bu, sağladığınız özelliklerin adlarını içeren bir şablon komut dosyası oluşturur. Alternatif olarak, bu tabloyu sihirbazı kullanmadan komut dosyası düzenleyicisine manuel olarak ekleyebilirsiniz.

Veri yükleme düzenleyicisinin Veri kaynakları panelinde kullandığınız bağlantıyı bulun ve Verileri seç görseline tıklayın. Bu, Veri seç sihirbazını açar.

Veri yükleme düzenleyicisinde bir analiz bağlantısı için Veri seç düğmesi

Veri yükleme düzenleyicisinin "Veri ekle" sekmesi, "Veri seç" simgesi vurgulanmış halde

Veri seç sihirbazını kullanırken iki özellik sağlamanız gerekir:

  • Yerleşik Tablonun adı. Bu, OpenAI'ye gönderilen soruların yer aldığı tablodur. Bu durumda, SourceTable.

  • Veri Alanının adı. Bu, OpenAI'ye gönderilen soruları içeren alandır. Bu durumda, Text.

Tablolar altında, openai adlı tablonun onay kutusuna tıklayın.

Veri yükleme düzenleyicisinde Veri seç sihirbazı

Veri yükleme düzenleyicisinin "Veri ekle" sekmesi, "Veri seç" simgesi vurgulanmış halde

Komut dosyası ekle'ye tıkladığınızda, yeni tablo komut dosyasına eklenir.

OpenAI load deyimi eklendiğinde, komut dosyanız aşağıdaki gibi görünmelidir:

SourceTable: NoConcatenate LOAD RowNo() as RowId, Text Inline [Text translate from English to French: What is the time you go to work?]; [openai]: LOAD [id], [object], [created], [model], [prompt_tokens], [completion_tokens], [total_tokens], [choices.text], [choices.index], [choices.logprobs], [choices.finish_reason], [RowId] EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for Rows Completions (GPT-3)"}}', SourceTable{RowId,Text});

 

Bilgi notuBu kodun uygulamanızda doğru şekilde çalışması için OpenAI bağlantınızın da yukarıdaki komut dosyasında belirtilen connectionname ile aynı Ad değeriyle yapılandırılmış olması gerekir. Bu eğitimin amaçları doğrultusunda kullanılan değerler için bk. Bağlantıları oluşturun.

Artık komut dosyasını çalıştırmaya hazırsınız.

Verileri uygulamaya yükleme

Komut dosyası tamamlandıktan sonra Verileri yükle'ye tıklayın. Bu, OpenAI ile iletişimi gerçekleştirir ve tabloları uygulamanızın veri modeline ekler.

Bilgi notuKomut dosyasını yüklerken bir hata alıyorsanız bağlantı yapılandırmasındaki isteğe bağlı, ikincil İlişkilendirme Alanı ile komut dosyası arasında bir uyumsuzluk olması mümkündür. Bağlantınız için yapılandırmada bir İlişkilendirme Alanı tanımladıysanız bunun istek komut dosyasına da dahil edildiğinden emin olun.

Veri modeli görüntüleyicisini açın ve iki tablonun beklendiği gibi birbirine bağlandığına dikkat edin. Önizleme bölmesinde, OpenAI'nin sorduğumuz soruya verdiği yanıt ikinci tabloda yer alıyor.

OpenAI bağlantısından oluşturulan veri modeli

İki tablo içeren sonuç veri modelini gösteren veri modeli görüntüleyicisi.

Artık uygulamaya yüklenen verileri kullanarak analiz içeriği oluşturabilirsiniz. Bu verileri kullanarak oluşturduğunuz grafiklerde OpenAI bağlantısına başvurmanız gerekmez. OpenAI bağlantısını doğrudan grafik ifadelerinde (komut dosyasında kullanmak yerine) nasıl kullanacağınızı öğrenmek için bk. Grafik ifadelerinde OpenAI bağlayıcısını kullanma.

Grafik ifadelerinde OpenAI bağlayıcısını kullanma

OpenAI sorularını ve yanıtlarını komut dosyasını kullanarak uygulamanızın veri modeline eklemenin yanı sıra, bu işlemleri doğrudan uygulamanızdaki bir grafikte de gerçekleştirebilirsiniz. Bu, OpenAI ile iletişim kurmak için komut dosyasında tabloları kullanmaya bir alternatif olabilir.

Tek bir alan için veriler OpenAI ile sizin aranızda ileri geri gönderilir. Çoğu durumda, bir komut dosyası bağlantısı için kullanılan kod, bazı önemli farklılıklarla birlikte bir grafikte kullanılmak üzere yeniden tasarlanabilir.

Daha fazla ayrıntı için bk. Görselleştirme ifadelerinde OpenAI bağlantılarını kullanma.

Veri talebi hacimlerine ilişkin hususlar

Grafik ifadelerinde OpenAI bağlantılarının yalnızca bir veya birkaç veri satırı için kullanılması önerilir. OpenAI hedefine büyük miktarda veri göndermek için grafik ifadelerinin kullanılması önerilmez.

Her talepte kaç satır gönderdiğinizin farkında olmanız önemlidir. Bir grafik ifadesinde bağlantının yapılandırılmasındaki hatalar, istenmeden büyük isteklere yol açabilir (örneğin, bir grafikteki veri modelinin yanlış kullanımı nedeniyle aynı soruya sahip aynı satırlar). Bir üçüncü taraf platformuyla etkileşimde bulunmadan önce grafik ifadesi hesaplamasında kullanılan alanların ve bunların veri modelindeki yerinin, üçüncü tarafla finansal sözleşmenizi ve faturalandırma sözleşmelerinizi nasıl etkilediğini bildiğinizden emin olun. Harici platformun daha fazla kullanılması, daha yüksek maliyetler oluşmasına neden olabilir.

Taleplerinizin boyutunu denetlemek ve sınırlamak için bu yönergeleri izleyin:

  • Bağlantıyı yalnızca bir Metin ve görüntü grafiği ifadesinde kullanın. Bir Tablo nesnesinde OpenAI bağlantısı kullanılması, özellikle ifadeyi önceden eklenmiş bir veya daha fazla boyutu olan bir tabloya ekliyorsanız kesinlikle önerilmez.

  • Grafik ifadesi uygulamanızın veri modeline bağlıysa uygulamada yalnızca tek bir seçim yapıldığında grafiği hesaplamak için ifadede bir if deyimi kullanın. Bu, grafiğinizin OpenAI hedefine göndereceği isteklerdeki satır sayısını büyük ölçüde azaltır.

  • Büyük istekler göndermek için bir OpenAI bağlantısı kullanıyorsanız verilerin veri modelinize önceden yüklenmesi için bağlantıyı bir grafik ifadesi yerine komut dosyanızda kullanın.

Alıştırma: Temel grafik ifadesi oluşturma

  1. Bir Qlik Sense uygulaması oluşturun ve gelişmiş düzenleme modunda yeni bir sayfa açın.

    Bilgi notuGrafik ifadesi için kullandığınız analiz bağlantısının, uygulamayı oluşturduğunuz alanda önceden oluşturulmuş olması gerekir. Bunu bir uygulama içindeki Veri yükleme düzenleyicisinde veya Analiz etkinlik merkezinin Oluştur sayfasından yapabilirsiniz. Daha fazla bilgi için bkz. Bir OpenAI bağlantısı oluşturma.
  2. Sayfanın üzerine bir Metin ve görsel grafiği sürükleyin.

  3. Özellikler panelinde, Veri > Hesaplamalar altında bir hesaplama ekleyin ve ifade düzenleyicisini açmak için İfade ögesine tıklayın.

  4. Aşağıdaki ifadeyi ifade düzenleyiciye yapıştırın:

    endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for Rows Completions (GPT-3)","column":"choices.text"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.')
    Bilgi notuBu örnekte, yalnızca tek bir veri satırı gönderdiğimiz ve bir veri modeline bağlantı olmadığı için if ifadesinin kullanılmaması kabul edilebilir. Diğer senaryolarda, grafiğin yalnızca uygulamada tek bir alan değeri seçildiğinde hesaplanmasını sağlamak için bir if ifadesi kullanın. Örnekler için bk. Hızlı örnekler.
    Bilgi notuTam olarak bu kodun uygulamanızda doğru şekilde çalışması için OpenAI bağlantınızın da ifadede belirtilen connectionname ile aynı Ad değeriyle yapılandırılması gerektiğini unutmayın. Bu eğitimin amaçları doğrultusunda kullanılan değerler için bk. Bağlantıları oluşturun.
  5. Uygula'ya tıklayın.

OpenAI yanıtı ile Qlik Sensemetin ve görsel grafiği

OpenAI'den yanıt içeren Qlik Sense sayfa nesnesi.

Alıştırma: Değişken kullanarak metin giriş kutusu oluşturma

Alternatif olarak, soru dizesini uygulamada oluşturduğunuz bir değişkenin adıyla değiştirerek, uygulama kullanıcılarının ifadelerle etkileşime girmeden kendi sorularını girebilecekleri bir giriş kutusu oluşturabilirsiniz.

Bu basit arayüz, uygulama verilerinizi gerçek zamanlı olarak oluşturulan bağlamsal bilgilerle zenginleştirmek için kullanılabilir.

  1. Bir uygulama oluşturun ve yeni bir sayfaya bazı veriler ve görselleştirmeler ekleyin.

  2. Bir değişken oluşturmak için Değişkenler öğesine tıklayın. Bu alıştırma için buna vUserQuestion Adını verin. Kalan parametreleri boş bırakın.

  3. Varlık panelinde, bir Değişken girdi grafiğini sayfaya sürükleyin. Bu, GenişlemelerQlik Dashboard bundle altında bulunur.

  4. Değişken girdi grafiğinin özellikler panelinde, Görünüm > Değişken ögesini genişletin.

  5. Ad altında vUserQuestion ögesini seçin.

  6. Farklı göster altında Girdi kutusu ögesini seçin.

  7. Varlık panelinde, bir Metin ve görsel grafiğini sayfaya sürükleyin.

  8. Özellikler panelinde, Veri > Hesaplamalar altında bir hesaplama ekleyin ve ifade düzenleyicisini açmak için İfade ögesine tıklayın.

  9. Aşağıdaki ifadeyi ifade düzenleyiciye yapıştırın:

    if(vUserQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for Rows Completions (GPT-3)","column":"choices.text"}}',vUserQuestion))
    Bilgi notuTam olarak bu kodun uygulamanızda doğru şekilde çalışması için OpenAI bağlantınızın da ifadede belirtilen connectionname ile aynı Ad değeriyle yapılandırılması gerektiğini unutmayın. Bu eğitimin amaçları doğrultusunda kullanılan değerler için bk. Bağlantıları oluşturun
  10. Uygula'ya tıklayın.

  11. Bu girdi ve yanıt kutularını ihtiyaçlarınıza göre yeniden boyutlandırın.

Artık düzenleme modundan çıkabilmeli ve girdi kutusuna bir soru yazabiliyor olmalısınız. Enter tuşuna bastığınızda veya sayfada başka bir yere tıkladığınızda, yanıt kutusu OpenAI'den bir yanıt doldurur.

OpenAI'ye soru sormak için genel veriler ve giriş kutusu içeren basit sayfa

OpenAI'den yanıt içeren Qlik Sense sayfa nesnesi.

Bu alıştırmadaki OpenAI bağlantısı, uygulamanın veri modeliyle hiçbir şekilde iletişim kurmaz ancak uygulamaya yüklenen verilerle tamamen entegre olan ve uygulamada yaptığınız seçimlere yanıt veren çok daha gelişmiş uygulamalar oluşturmak mümkündür.

Değişkenlerle çalışma hakkında daha fazla bilgi için bk. Değişken oluşturma ve Değişken girişi kontrolü.

Komut dosyası ve grafik ifadesi kodu arasındaki farklar

Bu grafik ifadelerinde, daha önceki komut dosyası dersinde girilen kodu yeniden kullandık. Aşağıdaki liste, komut dosyası sürümü ile grafik ifadeleri arasındaki en önemli farkları vurgular:

  • ScriptEval, ScriptAggrStr olarak değiştirildi. Bu, tek bir veri satırı gönderdiğimizi ve tek bir satır geri beklediğimizi özetlemektedir. Bu, bu durumda olduğu gibi bir değişken veya sabit gibi özel verilerle çalışırken gereklidir. "Str", metin değerleri gönderdiğimizi ve aldığımızı gösterir.

  • Değeri choice.text olan column adında yeni bir özellik ekledik. endpoint nesnesinin içine yerleştirilmiştir. Yapılandırma dizesine yapılan bu ekleme, bağlayıcıdan hangi alanın döndürüleceğini belirtmek için gereklidir. Bir grafik ifadesinde yalnızca bir alan kullanılır ve hangisinin kullanılacağını belirtmemiz gerekir.

Sunucu tarafı uzantıları sözdizimi

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!