Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Java için Veri Örneğinizle Sohbeti nasıl dağıtıp çalıştıracağınızı gösterir. Bu örnek, kurgusal bir şirkette çalışan avantajları hakkında yanıtlar almak için Java, Microsoft Foundry'de Azure OpenAI Modelleri ve Azure Yapay Zeka Arama'te Alma Artırılmış Nesil (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.
- Demo videosu
Bu makalede aşağıdaki görevleri yerine getirebilirsiniz:
- 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 makaleyi tamamladıktan sonra, özel kodunuzla yeni projeyi değiştirmeye başlayabilirsiniz.
Bu makale, Microsoft Foundry ve Azure Yapay Zeka Arama'te Azure OpenAI Modellerini kullanarak nasıl sohbet uygulaması oluşturabileceğinizi gösteren makale koleksiyonunun bir parçasıdır. Koleksiyondaki diğer makaleler şunlardır:
- .NET
- JavaScript
- Python
Not
Bu makale, makaledeki örnekler ve kılavuzlar için temel olarak bir veya daha fazla yapay zeka uygulaması şablonunu kullanı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ı için basit bir mimari gösterilmektedir:
```html
İstemciden arka uç uygulamasına mimariyi gösteren diyagram.
```
Mimarinin temel bileşenleri şunlardır:
- Etkileşimli sohbet deneyimini barındıran bir web uygulaması.
- Kendi verilerinizden yanıt alan bir Azure Yapay Zeka Arama kaynağı.
- Şunları sağlayan 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 mimaride kullanılan kaynakların çoğu temel veya tüketim tabanlı fiyatlandırma katmanları altındadır. Bu fiyatlandırma modeli yalnızca kullandığınız kadar ödeme yaptığınız ve geliştirme veya test sırasında ücretlerin en düşük olduğu anlamına gelir.
Bu örneği tamamlamak için Azure OpenAI, AI Search ve depolama gibi hizmetleri kullanmanız nedeniyle küçük bir maliyetle karşılaşabilirsiniz. Uygulamayı değerlendirmeyi veya dağıtmayı bitirdiğinizde, devam eden ücretlerden kaçınmak için sağlanan tüm kaynakları silin.
Örnek depoda maliyet hakkında daha fazla bilgi edinmek için buraya tıklayın.
Önkoşullar
Bu makaleyi tamamlamak için gereken tüm bağımlılıkları içeren bir geliştirme kapsayıcısı ortamına ihtiyacınız vardır. geliştirme kapsayıcısını GitHub Codespaces'ta (tarayıcıda) veya Visual Studio Code kullanarak yerel olarak çalıştırabilirsiniz.
Bu makaleyi kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:
- Codespaces (önerilen)
- Visual Studio Code
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ı ayarlayın.
- GitHub Codespaces (önerilen)
- Visual Studio Code
GitHub Codespaces, kullanıcı arabirimi olarak Web için Visual Studio Code'u kullanarak 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'ı iki çekirdek örneğiyle her ay 60 saate kadar ücretsiz olarak kullanabilir. Daha fazla bilgi için GitHub Codespaces aylık dahil depolama ve çekirdek saatler bölümüne bakın.
Aşağıdaki düğmeye sağ tıklayın ve Bağlantıyı yeni pencerede aç'ı seçerek hem geliştirme ortamını hem de belgeleri aynı anda kullanabilirsiniz.
Codespace oluştur bölümünde codespace yapılandırma ayarlarını gözden geçirin ve Codespace Oluştur'u seçin.
Yeni bir kod alanı oluşturmadan önce onay ekranının ekran görüntüsü.
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ını kullanarak Azure oturum açın.
azd auth login --use-device-codeKodu terminalden kopyalayın ve bir tarayıcıya yapıştırın. Azure hesabınızı kullanarak kimlik doğrulaması yapmak için yönergeleri izleyin.
Bu makaledeki kalan görevler, bu geliştirme kapsayıcısının bağlamında gerçekleştirilir.
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ı - özellikle Azure Yapay Zeka Arama - sağlanır sağlanmaz, dağıtım tamamlanmadan kesintiye uğrasa bile ücret oluşturmaya başlayabilir. Beklenmeyen ücretlerden kaçınmak için Azure kullanımınızı izleyin ve testten sonra kullanılmayan kaynakları hemen silin.
Azure kaynaklarını sağlamak ve kaynak kodunu dağıtmak için aşağıdaki komutu çalıştırın:
azd upÖrneğin
myenvgibi, bir ortam adı girmeniz istenirse, onu kısa ve küçük harfli tutun. Ortam adı, kaynak grubu adının bir parçası olarak kullanılır.İstendiğinde, kaynakları oluşturacağınız bir abonelik seçin.
İlk kez bir konum seçmeniz istendiğinde, yakınınızda 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 bu konumu seçin.
Uygulama dağıtılana kadar bekleyin. Bu işlemin tamamlanması 5-10 dakika 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 webURL'yi seçin.
PDF dosyalarından yanıt almak için sohbet uygulamasını kullanma
Sohbet uygulaması, PDF dosyalarından çalışan yan hakları 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.
Web tarayıcısında, sohbet metin kutusuna Northwind Health Plus planıma dahil olup standart planda olmayan neler var? yazın veya seçin.
Sohbet uygulamasının ilk yanıtının ekran görüntüsü.
Yanıttan alıntılardan birini seçin.
Sohbet uygulamasının ilk yanıtının, alıntısının kırmızı bir kutuda vurgulandığı ekran görüntüsü.
Sağ bölmede, yanıtın nasıl oluşturulduğunu anlamak için sekmeleri kullanın.
Sekme Açıklama Düşünce süreci Sohbetteki etkileşimlerin betiği. Destekleyici içerik Sorunuzu ve kaynak malzemeyi yanıtlamak için bilgileri içerir. Alıntı Alıntıyı içeren PDF sayfasını görüntüler. İş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
OpenAI modeli ve modelle etkileşimde bulunurken kullandığınız ayarlar, sohbet uygulamasının zekasını belirler.
Sohbet geliştirici ayarlarının ekran görüntüsü.
| Ayar | Açıklama |
|---|---|
| Geçersiz kılma istemi şablonu | Yanıtı oluşturmak için kullanılan istem. |
| Bu kadar çok arama sonucunu alın | Yanıtı oluşturmak için kullanılan arama sonuçlarının sayısı. 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ışlanan belgelerin kategorisi. |
| Geri getirme için semantik derecelendirici kullan | Arama sonuçlarının ilgi düzeyini artırmak için makine öğrenmesini kullanan Azure Yapay Zeka Arama özelliği. |
| Tüm belgeler yerine sorgu bağlamsal özetleri kullanma | Hem Use semantic ranker hem de Use query-contextual summaries işaretlendiğinde, LLM en yüksek dereceli belgelerde tüm pasajlar yerine anahtar pasajlardan elde edilen resim yazılarını kullanır. |
| İzleme soruları önerin | Sohbet uygulamasının yanıta göre takip soruları önermesini sağlayın. |
| Veri 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. |
| Sohbet tamamlama yanıtlarını akışla aktarın | Yanıt için tam yanıt kullanılabilir olana kadar beklemek yerine yanıtı akış halinde gönderin. |
Aşağıdaki adımlar, ayarları değiştirme işleminde size yol gösterir.
Tarayıcıda Geliştirici Ayarları sekmesini seçin.
Takip soruları öner onay kutusunu seçin ve aynı soruyu bir kez daha sorun.
What is my deductible?Sohbet aşağıdakiler gibi önerilen izleme sorularını döndürür:
1. What is the cost sharing for out-of-network services? 2. Are preventive care services subject to the deductible? 3. How does the prescription drug deductible work?Ayarlar sekmesinde, geri çağırma için anlamsal sıralayıcı kullanmayı seçimini kaldırın.
Aynı soruyu tekrar mı sorayım?
What is my deductible?Yanıtlardaki fark nedir?
Örneğin, anlam derecesini kullanan yanıt tek bir yanıt sağladı:
The deductible for the Northwind Health Plus plan is $2,000 per year.Anlamsal derecelendirmesi olmayan yanıt, yanıtı almak için daha fazla çalışma gerektiren bir yanıt döndürdü:
Based on the information provided, it is unclear what your specific deductible is. The Northwind Health Plus plan has different deductible amounts for in-network and out-of-network services, and there is also a separate prescription drug deductible. I would recommend checking with your provider or referring to the specific benefits details for your plan to determine your deductible amount.
Kaynakları temizleme
Alıştırmayı tamamladıktan sonra artık ihtiyacınız olmayan kaynakları kaldırın.
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 kodunu kaldırmak için aşağıdaki komutu kullanın:
azd down --purge
GitHub Codespaces'i temizleme
- GitHub Codespaces
- Visual Studio Code
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 hakları hakkında daha fazla bilgi için şu bağlantıya bakın: GitHub Codespaces aylık dahil edilen depolama ve çekirdek saatler.
GitHub Codespaces panosunda oturum açın.
Azure-Samples/azure-search-openai-demo-java GitHub deposundan gelen şu anda çalışan Codespace'lerinizi bulun.
Durumları ve şablonları da dahil olmak üzere tüm çalışan Codespaces'in ekran görüntüsü.
Codespace bağlam menüsünü açın ve sil'i seçin.
Silme seçeneğinin vurgulandığı tek bir codespace'in bağlam menüsünün ekran görüntüsü.
Soru nasıl yanıtlandı?
Uygulama iki uygulamaya ayrılır:
- Vite derleme aracıyla React çerçevesini kullanan bir ön uç JavaScript uygulaması.
- Soruyu yanıtlayan bir arka uç Java uygulaması.
Arka uç /chat API, yanıtı alma sürecinde adım adım ilerler:
- RAG seçenekleri oluşturma: Yanıt oluşturmak için kullanılan bir dizi seçenek oluşturun.
- RAG seçeneklerini kullanarak yaklaşım oluşturma: Doğru ve doğal bir yanıt oluşturmaya yönelik bir yaklaşım oluşturmak için alma tabanlı ve üretken tabanlı modellerin birleşimini kullanın.
- RAG seçenekleri ve önceki konuşma ile yaklaşımı çalıştırın: Önceki konuşmaya dayalı bir yanıt oluşturmak için yaklaşımı ve RAG seçeneklerini kullanın. Yanıt, yanıtı oluşturmak için hangi belgelerin kullanıldığına ilişkin bilgileri içerir.
Yardım alın
Bu örnek depo sorun giderme bilgileri sunar. Sorununuz giderilmediyse, deponun Sorunları'ndakaydedin.
Sonraki adımlar
- Bu makalede kullanılan örneğin kaynak kodunu alın
- Azure OpenAI en iyi uygulama çözüm mimarisiyle bir sohbet uygulaması oluşturun
- Azure Yapay Zeka Arama ile Üretici Yapay Zeka Uygulamalarında Erişim Kontrolü
- Azure API Management kullanarak Kurumsal Hazır OpenAI çözümü oluşturun
- Vektör aramasını karma alma ve sıralama yetenekleriyle aşmak
- Daha fazla Azure AI uçtan uca şablonlar
Yerel ortamınızda geçerli klasörü yeniden açmak üzere Komut Paleti seçeneğinin ekran görüntüsü.