.NET için kendi veri örneğinizi kullanarak sohbeti kullanmaya başlama
Bu makalede, .NET 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 C#, Azure OpenAI Hizmeti ve Alma Artırılmış Nesli (RAG) kullanan bir sohbet uygulaması uygular. Çalışan avantajları sohbet uygulaması, ç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 Open AI Service 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:
Mimariye genel bakış
Bu örnek uygulamada Contoso Electronics adlı kurgusal bir şirket, çalışanlarına avantajlar, iç ilkeler ve iş açıklamaları ve roller hakkında sorular sormaları için sohbet uygulaması deneyimi sağlar.
Sohbet uygulamasının mimarisi aşağıdaki diyagramda gösterilmiştir:
- Kullanıcı arabirimi - Uygulamanın sohbet arabirimi bir Blazor WebAssembly uygulamasıdır. Bu arabirim, kullanıcı sorgularını kabul eden, isteği uygulama arka ucuna yönlendiren ve oluşturulan yanıtları görüntüleyen arabirimdir.
- Arka uç - Uygulama arka ucu ASP.NET Core Minimal API'dir. Arka uç Blazor statik web uygulamasını barındırır ve farklı hizmetler arasındaki etkileşimleri düzenleyen özelliktir. Bu uygulamada kullanılan hizmetler şunlardır:
- Azure Bilişsel Arama: Azure Depolama Hesabında depolanan verilerden belgeleri dizine ekler. Bu, vektör arama özellikleri kullanılarak belgelerin aranabilir olmasını sağlar.
- Azure OpenAI Hizmeti – Yanıt oluşturmak için Büyük Dil Modelleri (LLM) sağlar. Anlam Çekirdeği , daha karmaşık yapay zeka iş akışlarını yönetmek için Azure OpenAI Hizmeti ile birlikte kullanılır.
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. Makaleyle işiniz bittiğinde, ücretlendirmeyi durdurmak için kaynakları silebilirsiniz.
Daha fazla bilgi için bkz . Örnek depodaki Azure Örnekleri: Maliyet.
Ö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 takip etmek 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.
GitHub deposunun dalında
Azure-Samples/azure-search-openai-demo-csharp
yeni bir GitHub Codespacemain
oluşturmak için işlemi başlatın.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.
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:
Kod alanının başlamasını bekleyin. Bu başlatma işlemi birkaç dakika sürebilir.
Ekranın alt kısmındaki terminalde Azure Geliştirici CLI'sı ile Azure'da oturum açın.
azd auth login
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.
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.
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
Bir ortam adı girmeniz istendiğinde kısa ve küçük harfle tutun. Örneğin,
myenv
. Kaynak grubu adının bir parçası olarak kullanılır.İstendiğinde, içinde kaynakları oluşturmak için bir abonelik seçin.
İ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.
OpenAI modeli için bir konum istenirse size yakın bir konum seçin. İlk konumunuzla aynı konum kullanılabiliyorsa bunu seçin.
Uygulama dağıtılana kadar bekleyin. Dağıtımın tamamlanması 20 dakika kadar sürebilir.
Uygulama başarıyla dağıtıldıktan sonra terminalde bir URL görüntülenir.
Sohbet uygulamasını tarayıcıda açmak için etiketli
Deploying service web
URL'yi seçin.
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.
Tarayıcıda, sol gezintiyi kullanarak Sohbet sayfasına gidin.
Sohbet metin kutusuna "Northwind Health Plus planımda standart olmayan ne var?" öğesini seçin veya girin. Yanıtınız aşağıdaki görüntüye benzer .
Yanıttan bir alıntı seçin. Bilgilerin kaynağını gösteren bir açılır pencere açılır.
Yanıtın nasıl oluşturulduğunu anlamak için yanıt kutusunun üst kısmındaki sekmeler arasında gezinin.
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 kaynak sayfayı görüntüler. İşiniz bittiğinde yanıt sekmesine geri dönün.
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.
Ayar | Açıklama |
---|---|
Geçersiz kılma istemi şablonu | Bu, yanıtı oluşturmak için kullanılan istemdir. |
Bu kadar çok arama sonucunu alın | Bu, yanıtı oluşturmak için kullanılan arama sonuçlarının sayısıdır. 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 | Bu, arama sonuçlarından dışlanan belgelerin kategorisidir. |
Alma için semantik dereceleyici kullanma | Bu, arama sonuçlarının ilgi düzeyini artırmak için makine öğrenmesini kullanan bir Azure AI Search özelliğidir. |
Alma modu | Vektörler + Metin , arama sonuçlarının belgelerin metnine ve belgelerin eklemelerine dayandığı anlamına gelir. Vektörler , arama sonuçlarının belgelerin eklemelerine dayandığı anlamına gelir. Metin , arama sonuçlarının belgelerin metnine dayalı olduğu anlamına gelir. |
Tüm belgeler yerine sorgu bağlamsal özetleri kullanma | Hem hem de Use semantic ranker Use query-contextual summaries işaretlendiğinde LLM, en yüksek dereceli belgelerde tüm pasajlar yerine anahtar geçitlerden ayıklanan resim yazılarını kullanır. |
İzleme soruları önerin | Sohbet uygulamasının yanıta göre takip soruları önermesini sağlayın. |
Aşağıdaki adımlar, ayarları değiştirme işleminde size yol gösterir.
Tarayıcıda, sayfanın sağ üst kısmındaki dişli simgesini seçin.
Seçili değilse, İzleme soruları öner onay kutusunu seçin ve aynı soruyu yeniden sorun.
What is included in my Northwind Health Plus plan that is not in standard?
Sohbet, takip sorusu önerileriyle geri dönebilir.
Ayarlar sekmesinde, Alma için anlam derecesini kullan'ın seçimini kaldırın.
Aynı soruyu tekrar sorun.
What is my deductible?
Yanıtlardaki fark nedir?
Anlam derecesini kullanan yanıt tek bir yanıt sağladı. Semantik derecelendirmesi olmayan yanıt daha az doğrudan yanıt döndürdü.
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
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.
GitHub Codespaces panosunda (https://github.com/codespaces ) oturum açın.
GitHub deposundan
Azure-Samples/azure-search-openai-demo-csharp
alınan şu anda çalışan kod alanlarınızı bulun.Codespace bağlam menüsünü açın ve sil'i seçin.
Yardım alın
Bu örnek depo sorun giderme bilgileri sunar.
Sorununuz giderildiyse sorununuzu deponun Sorunları'na kaydedin.
Sonraki adımlar
- Bu makalede kullanılan örneğin kaynak kodunu alın
- Azure OpenAI en iyi yöntem çözüm mimarisiyle sohbet uygulaması oluşturma
- Azure AI Search ile Oluşturucu Yapay Zeka Uygulamaları'nda erişim denetimi
- Azure API Management ile Kurumsal kullanıma hazır openAI çözümü oluşturma
- Karma alma ve derecelendirme özellikleriyle vektör aramasını daha iyi performansla gerçekleştirme