Aracılığıyla paylaş


Python için kendi veri örneğinizi kullanarak sohbeti kullanmaya başlama

Bu makalede Python için kendi veri örneğinizle Sohbet'i dağıtma ve çalıştırma işlemi gösterilmektedir. Bu örnek, kurgusal bir şirkette çalışan avantajları hakkında yanıtlar almak için Azure AI Search'te Python, Azure OpenAI Hizmeti ve Alma Artırılmış Nesli (RAG) kullanan bir sohbet uygulaması uygular. Uygulama, çalışan el kitabı, avantajlar belgesi ve şirket rollerinin ve beklentilerinin listesi de dahil olmak üzere PDF dosyalarıyla birlikte dağıtılır.

Bu makaledeki yönergeleri izleyerek şunları yapacaksınız:

  • Azure'a bir sohbet uygulaması dağıtma.
  • Çalışan avantajları hakkında yanıtlar alın.
  • Yanıtların davranışını değiştirmek için ayarları değiştirin.

Bu yordamı tamamladıktan sonra, özel kodunuzla yeni projeyi değiştirmeye başlayabilirsiniz.

Bu makale, Azure OpenAI Hizmeti ve Azure AI Search kullanarak nasıl sohbet uygulaması oluşturabileceğinizi gösteren makale koleksiyonunun bir parçasıdır.

Koleksiyondaki diğer makaleler şunlardır:

Not

Bu makalede, makaledeki örnekler ve kılavuzlar için temel olarak bir veya daha fazla yapay zeka uygulaması şablonu kullanılır. Yapay zeka uygulama şablonları, yapay zeka uygulamalarınız için yüksek kaliteli bir başlangıç noktası sağlamaya yardımcı olan, bakımlı, kolay dağıtılan başvuru uygulamaları sağlar.

Mimariye genel bakış

Aşağıdaki diyagramda sohbet uygulamasının basit bir mimarisi gösterilmiştir:

İstemciden arka uç uygulamasına mimariyi gösteren diyagram.

Mimarinin temel bileşenleri şunlardır:

  • Etkileşimli sohbet deneyimini barındırmak için bir web uygulaması.
  • Kendi verilerinizden yanıt almak için bir Azure AI Search kaynağı.
  • Sağlayabilecek bir Azure OpenAI Hizmeti:
    • Kendi verileriniz üzerinde aramayı geliştirmek için anahtar sözcükler.
    • OpenAI modelinden gelen yanıtlar.
    • Ada modelinden eklemeler

Maliyet

Bu mimarideki kaynakların çoğu temel veya tüketim fiyatlandırma katmanını kullanır. Tüketim fiyatlandırması kullanımı temel alır ve bu da yalnızca kullandığınız kadar ödeme yaptığınız anlamına gelir. Bu makaleyi tamamlamak için ücret tahsil edilecektir ancak çok az olacaktır. Makaleyi tamamladığınızda, ücretlendirmeyi durdurmak için kaynakları silebilirsiniz.

Örnek depoda maliyet hakkında daha fazla bilgi edinin.

Önkoşullar

Bu makaleyi tamamlamak için gereken tüm bağımlılıklarla birlikte bir geliştirme kapsayıcısı ortamı sağlanır. Geliştirme kapsayıcısını GitHub Codespaces'ta (tarayıcıda) veya Visual Studio Code'u kullanarak yerel olarak çalıştırabilirsiniz.

Bu makaleyi kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun
  • Azure hesabı izinleri - Azure Hesabınızın Kullanıcı Erişimi Yöneticisi veya Sahip gibi Microsoft.Authorization/roleAssignments/write izinlerine sahip olması gerekir.
  • İstenen Azure aboneliğinde Azure OpenAI'ya erişim verilir. Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI'ye erişim için başvurabilirsiniz. Sorun yaşıyorsanız bizimle iletişime geçmek için bu depoda bir sorun açın.
  • GitHub hesabı

Açık geliştirme ortamı

Bu makaleyi tamamlamak için tüm bağımlılıkların yüklü olduğu bir geliştirme ortamıyla hemen başlayın.

GitHub Codespaces, Kullanıcı arabirimi olarak Web için Visual Studio Code ile GitHub tarafından yönetilen bir geliştirme kapsayıcısı çalıştırır. En basit geliştirme ortamı için GitHub Codespaces'ı kullanarak bu makaleyi tamamlamak için doğru geliştirici araçlarını ve bağımlılıklarını önceden yüklemiş olursunuz.

Önemli

Tüm GitHub hesapları Codespaces'ı her ay 2 çekirdek örneğiyle 60 saate kadar ücretsiz olarak kullanabilir. Daha fazla bilgi için bkz . GitHub Codespaces aylık dahil depolama ve çekirdek saatler.

  1. GitHub deposunun dalında Azure-Samples/azure-search-openai-demo yeni bir GitHub Codespace main oluşturmak için işlemi başlatın.

  2. Hem geliştirme ortamının hem de belgelerin aynı anda kullanılabilir olması için aşağıdaki düğmeye sağ tıklayın ve Bağlantıyı yeni pencerelerde aç'ı seçin.

    GitHub Codespaces'ta aç

  3. Codespace oluştur sayfasında codespace yapılandırma ayarlarını gözden geçirin ve ardından Yeni kod alanı oluştur'u seçin

    Yeni bir kod alanı oluşturmadan önce onay ekranının ekran görüntüsü.

  4. Kod alanının başlamasını bekleyin. Bu başlatma işlemi birkaç dakika sürebilir.

  5. Ekranın alt kısmındaki terminalde Azure Geliştirici CLI'sı ile Azure'da oturum açın.

    azd auth login
    
  6. Kodu terminalden kopyalayın ve bir tarayıcıya yapıştırın. Azure hesabınızla kimlik doğrulaması yapmak için yönergeleri izleyin.

  7. Bu makaledeki kalan görevler bu geliştirme kapsayıcısı bağlamında gerçekleşir.

Dağıtma ve çalıştırma

Örnek depo, Bir sohbet uygulamasını Azure'a dağıtmak için ihtiyacınız olan tüm kod ve yapılandırma dosyalarını içerir. Aşağıdaki adımlar, örneği Azure'a dağıtma işleminde size yol gösterir.

Sohbet uygulamasını Azure'a dağıtma

Önemli

Bu bölümde oluşturulan Azure kaynakları, öncelikli olarak Azure AI Search kaynağından anlık maliyetler doğurabilir. Bu kaynaklar, komutu tam olarak yürütülmeden önce kesintiye uğratsanız bile maliyetleri tahakkuk ettirebilir.

  1. Azure kaynaklarını sağlamak ve kaynak kodu dağıtmak için aşağıdaki Azure Geliştirici CLI komutunu çalıştırın:

    azd up
    
  2. Bir ortam adı girmeniz istenirse kısa ve küçük harfle tutun. Örneğin, myenv. Kaynak grubu adının bir parçası olarak kullanılır.

  3. İstendiğinde, içinde kaynakları oluşturmak için bir abonelik seçin.

  4. İlk kez bir konum seçmeniz istendiğinde, size yakın bir konum seçin. Bu konum, barındırma dahil olmak üzere kaynakların çoğu için kullanılır.

  5. OpenAI modeli veya Belge Yönetim Bilgileri kaynağı için bir konum istenirse size en yakın konumu seçin. İlk konumunuzla aynı konum kullanılabiliyorsa bunu seçin.

  6. Devam etmeden önce uygulama dağıtıldıktan sonra 5 veya 10 dakika bekleyin.

  7. Uygulama başarıyla dağıtıldıktan sonra terminalde bir URL görüntülenir.

    AZD CLI azd up işleminin sonunda bildirilen dağıtılan uygulamanın ekran görüntüsü.

  8. Sohbet uygulamasını tarayıcıda açmak için etiketli (✓) Done: Deploying service webapp URL'yi seçin.

    Tarayıcıdaki sohbet uygulamasının, sohbet girişi için birkaç öneriyi ve soru girmek için sohbet metin kutusunu gösteren ekran görüntüsü.

PDF dosyalarından yanıt almak için sohbet uygulamasını kullanma

Sohbet uygulaması, PDF dosyalarından çalışan avantajları bilgileriyle önceden yüklenir. Avantajları hakkında sorular sormak için sohbet uygulamasını kullanabilirsiniz. Aşağıdaki adımlar, sohbet uygulamasını kullanma işleminde size yol gösterir. Temel alınan modeller güncelleştirildikçe yanıtlarınız farklılık gösterebilir.

  1. Tarayıcıda, sohbet metin kutusuna Performans gözden geçirmesinde ne olur? öğesini seçin veya girin.

    Sohbet uygulamasının ilk yanıtının ekran görüntüsü.

  2. Yanıttan bir alıntı seçin.

    Sohbet uygulamasının alıntısının kırmızı kutuda vurgulandığı ilk yanıtın ekran görüntüsü.

  3. Sağ bölmede, yanıtın nasıl oluşturulduğunu anlamak için sekmeleri kullanın.

    Sekme Açıklama
    Düşünce süreci Bu, sohbetteki etkileşimlerin betiğidir. Sistem istemini (content) ve kullanıcı sorunuzu (content ) görüntüleyebilirsiniz.
    Destekleyici içerik Bu, sorunuzu ve kaynak malzemeyi yanıtlamaya yönelik bilgileri içerir. Kaynak malzeme alıntılarının sayısı Geliştirici ayarlarında not edilir. Varsayılan değer 3'dür.
    Alıntı Bu, alıntıyı içeren özgün sayfayı görüntüler.
  4. İşiniz bittiğinde, bölmeyi kapatmak için seçili sekmeyi yeniden seçin.

Yanıtların davranışını değiştirmek için sohbet uygulaması ayarlarını kullanma

Sohbetin zekası OpenAI modeli ve modelle etkileşimde kullanılan ayarlar tarafından belirlenir.

Sohbet geliştirici ayarlarının ekran görüntüsü.

Ayar Açıklama
Geçersiz kılma istemi şablonu Soruyu ve arama sonuçlarını temel alarak yanıtı oluşturmak için kullanılan istemi geçersiz kılar.
Sıcaklık İsteğin sıcaklığını yanıtı oluşturan LLM'ye ayarlar. Daha yüksek sıcaklıklar daha yaratıcı yanıtlara neden olur, ancak daha az topraklanmış olabilir.
En düşük arama puanı Azure AI aramasından geri gelen arama sonuçları için en düşük puanı ayarlar. Puan aralığı, karma (varsayılan), yalnızca vektörler mi yoksa yalnızca metin mi kullandığınıza bağlıdır.
En düşük reranker puanı Anlamsal reranker'dan geri gelen arama sonuçları için en düşük puanı ayarlar. Puan her zaman 0-4 arasında değişir. Puan ne kadar yüksek olursa, sonuç soruya o kadar alakalı olur.
Bu kadar çok arama sonucunu alın Azure AI aramasından alınacak arama sonuçlarının sayısını ayarlar. Daha fazla sonuç, doğru yanıtı bulma olasılığını artırabilir, ancak modelin 'ortada kaybolmasına' neden olabilir. Bu kaynakların alıntının Düşünce süreci ve Destekleyici içerik sekmelerinde döndürülmüş olduğunu görebilirsiniz.
Kategoriyi dışla Arama sonuçlarından dışlanması gereken bir kategori belirtir. Varsayılan veri kümesinde kullanılan kategori yoktur.
Alma için semantik dereceleyici kullanma Kullanıcının sorgusuyla anlamsal benzerlik temelinde arama sonuçlarını yeniden sıralayan bir model olan Azure AI Search anlam derecesini etkinleştirir.
Anlamsal açıklamalı alt yazıları kullanma Tam arama sonucu yerine LLM'ye anlamsal açıklamalı alt yazılar gönderir. Anlamsal derecelendirme işlemi sırasında bir arama sonucundan anlamsal resim yazısı ayıklanır.
İzleme soruları önerin LLM'den kullanıcının sorgusuna göre izleme soruları önermesini ister.
Alma modu Azure AI Search sorgusu için alma modunu ayarlar. Vektörler + Metin (Karma), vektör araması ve tam metin aramasının bir bileşimini, Vektörler yalnızca vektör araması kullanır ve Metin yalnızca tam metin arama kullanır. Hibrit genellikle en uygunudur.
Sohbet tamamlama yanıtlarını akışla aktarın Oluşturulan yanıtı sürekli olarak sohbet kullanıcı arabirimine akışla aktarıyor.

Aşağıdaki adımlar, ayarları değiştirme işleminde size yol gösterir.

  1. Tarayıcıda Geliştirici Ayarları sekmesini seçin.

  2. İzleme soruları öner onay kutusunu işaretleyin ve aynı soruyu yeniden sorun.

    What happens in a performance review?
    

    Sohbet aşağıdakiler gibi önerilen izleme sorularını döndürdü:

    1. What is the frequency of performance reviews?
    2. How can employees prepare for a performance review?
    3. Can employees dispute the feedback received during the performance review?
    
  3. Ayarlar sekmesinde, Alma için anlam derecesini kullan'ın seçimini kaldırın.

  4. Aynı soruyu tekrar mı sorayım?

    What happens in a performance review?
    
  5. Yanıtlardaki fark nedir?

    Anlam dereceleyicisi ile: Contoso Electronics'te bir performans incelemesi sırasında çalışanlar, iş yerindeki başarılarını ve zorluklarını tartışma fırsatına sahip olacaktır (1). Gözden geçirme, çalışanların rollerinde gelişme ve büyümelerine yardımcı olmak için olumlu ve yapıcı geri bildirim sağlayacaktır (1). Çalışan, performans incelemesinin yazılı bir özetini alır ve bu özet, gelecek yıla ait performans, geri bildirim ve hedefleri ile hedeflerinin derecelendirmesini içerir (1). Performans incelemesi, yöneticiler ve çalışanlar arasında iki yönlü bir diyalogdur (1).

    Anlam dereceleyicisi olmadan: Contoso Electronics'teki performans gözden geçirmesi sırasında çalışanlar iş yerindeki başarılarını ve zorluklarını tartışma fırsatına sahip olur. Çalışanların rollerini geliştirmelerine ve büyütmelerine yardımcı olmak için olumlu ve yapıcı geri bildirim sağlanır. Gelecek yıla ilişkin performans derecelendirmesi, geri bildirim ve hedefler de dahil olmak üzere performans incelemesinin yazılı bir özeti verilir. Gözden geçirme, yöneticiler ve çalışanlar arasında iki yönlü bir diyalogdur (1).

Kaynakları temizleme

Azure kaynaklarını temizleme

Bu makalede oluşturulan Azure kaynakları Azure aboneliğinize faturalandırılır. Gelecekte bu kaynaklara ihtiyaç duymayı beklemiyorsanız, daha fazla ücret ödememek için bunları silin.

Azure kaynaklarını silmek ve kaynak kodu kaldırmak için aşağıdaki Azure Geliştirici CLI komutunu çalıştırın:

azd down --purge --force

Anahtarlar aşağıdakileri sağlar:

  • purge: Silinen kaynaklar hemen temizlenir. Bu, Azure OpenAI TPM'yi yeniden kullanmanıza olanak tanır.
  • force: Silme işlemi, kullanıcı onayı gerektirmeden sessizce gerçekleşir.

GitHub Codespaces'i temizleme

GitHub Codespaces ortamını silmek, hesabınız için elde ettiğiniz ücretsiz çekirdek başına saat yetkilendirmesi miktarını en üst düzeye çıkarmanızı sağlar.

Önemli

GitHub hesabınızın yetkilendirmeleri hakkında daha fazla bilgi için bkz . GitHub Codespaces aylık dahil depolama ve çekirdek saatler.

  1. GitHub Codespaces panosunda (https://github.com/codespaces ) oturum açın.

  2. GitHub deposundan Azure-Samples/azure-search-openai-demo alınan şu anda çalışan Codespaces'ınızı bulun.

    Durumları ve şablonları da dahil olmak üzere çalışan tüm Codespace'lerin ekran görüntüsü.

  3. Codespace bağlam menüsünü açın ve sil'i seçin.

    Silme seçeneğinin vurgulandığı tek bir kod alanının bağlam menüsünün ekran görüntüsü.

Yardım alın

Bu örnek depo sorun giderme bilgileri sunar.

Sorununuz giderildiyse sorununuzu deponun Sorunları'na kaydedin.

Sonraki adımlar