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.
Yapay zeka uygulamaları oluşturmak karmaşık olabilir. LangChain.js, Azure İşlevleri ve Sunucusuz teknolojilerle bu işlemi basitleştirebilirsiniz. Bu araçlar altyapıyı yönetir ve otomatik olarak ölçeklendirilir ve sohbet botu işlevlerine odaklanmanızı sağlar. Sohbet botu, yapay zeka yanıtları oluşturmak için kurumsal belgeleri kullanır.
Kod, kurgusal bir şirket için örnek veriler içerir. Müşteriler şirketin ürünleri hakkında destek soruları sorabilir. Veriler, şirketin hizmet koşulları, gizlilik ilkesi ve destek kılavuzu hakkındaki belgeleri içerir.
Not
Bu makale, makaledeki örnekler ve kılavuzlar için bir veya daha fazla yapay zeka uygulaması şablonunu temel olarak 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ış
Sohbet uygulaması
Kullanıcı uygulamayla etkileşim kurar:
- Konuşma için istemci web uygulamasındaki sohbet arabirimi.
- İstemci web uygulaması, kullanıcının sorgusunu HTTP çağrıları aracılığıyla Sunucusuz API'ye gönderir.
- Sunucusuz API, bir yanıt oluşturmak için Azure AI ile Azure AI Search arasındaki etkileşimleri koordine etmek için bir zincir oluşturur.
- Azure Blob Depolama kullanılarak PDF belgesi alma.
- Oluşturulan yanıt daha sonra web uygulamasına geri gönderilir ve kullanıcıya görüntülenir.
Aşağıdaki diyagramda sohbet uygulamasının basit bir mimarisi gösterilmiştir:
İstemciden arka uç uygulamasına kadar uzanan mimariyi gösteren diyagram.
LangChain.js hizmetler arasındaki karmaşıklığı basitleştirir
API akışı, etkileşimleri soyutlayarak LangChain.js bu senaryoda ne kadar yararlı olduğunu anlamak için yararlıdır. Sunucusuz API uç noktası:
- Soruyu kullanıcıdan alır.
- İstemci nesneleri oluşturur:
- Eklemeler ve sohbet için Azure OpenAI
- Vektör deposu için Azure AI Araması
- LLM modeli, sohbet iletisi (sistem ve kullanıcı istemleri) ve belge kaynağı ile bir belge zinciri oluşturur.
- Belge zincirinden ve vektör deposundan bir geri getirme zinciri oluşturur.
- Alma zincirinden yanıtların akışını sağlar.
Geliştiricinin çalışması, Azure OpenAI ve Azure AI Search gibi bağımlılık hizmetlerini doğru yapılandırmak ve zincirleri doğru şekilde oluşturmaktır. Temel zincir mantığı, LangChain.js gereksinimleriyle çalıştıkları sürece birçok farklı hizmet ve yapılandırmayı kullanarak zincirler oluşturmanıza olanak tanır.
Azure bu mimaride nerededir?
Bu uygulama birden çok bileşenden yapılır:
Lit ile oluşturulmuş tek bir sohbet web bileşeni ve Azure Static Web Apps üzerinde barındırılan bir web uygulaması. Kod
packages/webappklasöründe bulunur.Azure İşlevleri ve LangChain.js kullanılarak oluşturulmuş bir sunucusuz API, belgeleri almak ve kullanıcı sohbet sorgularına yanıtlar oluşturmak için tasarlanmıştır. Kod
packages/apiklasöründe bulunur.Bir Azure OpenAI hizmeti ile gömüler oluşturmak ve bir cevap üretmek.
Azure AI Search kullanarak belgelerden ayıklanan metinleri ve LangChain.js tarafından oluşturulan vektörleri depolamak için bir veritabanı.
Azure Blob Depolama kullanarak kaynak belgeleri depolamak için bir dosya depolama alanı.
Önkoşullar
Makalenin tamamlanması için gerekli tüm bağımlılıklarla birlikte bir geliştirme kapsayıcı ortamı sağlanmaktadı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:
- Codespaces (önerilen)
- Visual Studio Code
- Azure aboneliği - Ücretsiz bir tane 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.
- GitHub hesabı.
Açık geliştirme ortamı
Bu makaleyi tamamlamak için gerekli tüm bağımlılıkları içeren önceden yapılandırılmış bir geliştirme ortamı dağıtmak için aşağıdaki yönergeleri kullanın.
- GitHub Codespaces (önerilen)
- Visual Studio Code
GitHub Codespaces, GitHub tarafından yönetilen bir geliştirme kapsayıcısını kullanıcı arabirimi olarak Web için Visual Studio Code ile ç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 başlıklı belgelere bakın.
codespace içinde açın.
GitHub Codespaces'ta aç
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 loginKimlik doğrulama işlemini tamamlayın.
Bu makaledeki kalan görevler bu geliştirme kapsayıcısı bağlamında yürütülür.
Dağıtma ve çalıştırma
Örnek depo, sunucusuz 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ümdeki Azure kaynakları, komutu tamamlanmadan durdursanız bile hemen maliyetlendirmeye başlar.
Aşağıdaki Azure Geliştirici CLI komutunu kullanarak Azure kaynaklarını sağlayın ve kaynak kodunu dağıtın:
azd upAşağıdaki tabloyu kullanarak istemleri yanıtlayın:
İstem Yanıt Ortam adı Kısa ve küçük harfle tutun. Adınızı veya diğer adınızı ekleyin. Örneğin, john-chat. Kaynak grubu adının bir parçası olarak kullanılır.Abonelik Kaynak oluşturmak için aboneliği seçin. Konum (barındırma için) Listeden size yakın bir konum seçin. OpenAI modelinin konumu Listeden 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ı 5-10 dakika sürebilir.
Uygulama başarıyla dağıtıldıktan sonra terminalde iki URL'nin görüntülendiğini görürsünüz.
Tarayıcıda sohbet uygulamasını açmak için
Deploying service webappetiketli URL'yi seçin.
PDF dosyalarından yanıt almak için sohbet uygulamasını kullanma
Sohbet uygulaması, bir PDF dosya kataloğundan kiralama bilgileriyle önceden yüklenmiş olarak gelir. Kiralama işlemiyle ilgili 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 Para iadesi ilkesi nedir?'i seçin veya girin.
Bir takip sorusu seçin.
Sohbet uygulamasının önerilen izleme istemi ve yanıtının ekran görüntüsü.
Kaynak belgeyi görüntülemek için yanıttaki alıntıyı seçin. Azure Depolama belgeyi tarayıcınıza sunar. Belgeyi gözden geçirmeyi bitirdiğinizde sohbet uygulamasına dönmek için sekmeyi kapatın.
Kaynakları temizleme
Azure kaynaklarını temizleme
Azure, bu makalede oluşturulan kaynakları Azure aboneliğinize faturalar. Gelecekte bu kaynaklara ihtiyacınız yoksa daha fazla ücret ödememek için bunları silin.
Aşağıdaki Azure Geliştirici CLI komutuyla Azure kaynaklarını silin ve kaynak kodu kaldırın:
azd down --purge
GitHub Codespaces'i temizleme
- GitHub Codespaces
- Visual Studio Code
Ücretsiz çekirdek başına saatlerinizi en üst düzeye çıkarmak için GitHub Codespaces ortamını silin.
Önemli
GitHub hesabınızın hakları hakkında daha fazla bilgi için bkz: GitHub Codespaces aylık dahil depolama ve çekirdek saatler.
GitHub Codespaces panosundaoturum açın.
Şu anda çalışmakta olan ve GitHub deposundan alınan Codespaces'ınızı bulun.
Çalışmakta olan tüm Codespace'lerin, durumları ve şablonları da dahil olmak üzere ekran görüntüsü.
codespace için bağlam menüsünü
...açın ve Sil'i seçin.
Yardım alın
Bu örnek depo, sorun giderme bilgilerinin yer aldığı [kaynak](https://github.com/Azure-Samples/serverless-chat-langchainjs/blob/main/README.md#troubleshooting) sunar.
Sorununuz ele alınmazsa, deponun Sorunlar bölümüne kaydedin.
İlgili içerik
- JavaScript ile sohbet uygulamasında yanıtları değerlendirmeye başlama
- Bu şablonda AZD'nin nasıl kullanıldığı hakkında daha fazla bilgi edinin:
Sohbet uygulamasının ilk soru ve yanıtının ekran görüntüsü.
Yerel ortamınızdaki geçerli klasörü yeniden açmak için Komut Paleti seçeneğinin ekran görüntüsü.