Verilerinizde Azure OpenAI

Geliştiricilerin kişiselleştirilmiş yardımcı pilotlar (önizleme) oluşturmak için kurumsal verilerini bağlamasını, almalarını ve temel almalarını kolaylaştıran Verilerinizde Azure OpenAI hakkında bilgi edinmek için bu makaleyi kullanın. Kullanıcı kavramayı geliştirir, görev tamamlama sürecini hızlandırir, operasyonel verimliliği artırır ve karar alma sürecine yardımcı olur.

Verilerinizde Azure OpenAI nedir?

Verilerinizde Azure OpenAI, modelleri eğitmeye veya ince ayar yapmaya gerek kalmadan GPT-35-Turbo ve GPT-4 gibi gelişmiş yapay zeka modellerini kendi kurumsal verilerinizde çalıştırmanıza olanak tanır. Üzerinde sohbet edebilir ve verilerinizi daha doğru bir şekilde analiz edebilirsiniz. Belirlenen veri kaynaklarınızda bulunan en son bilgilere göre yanıtları destekleyecek kaynakları belirtebilirsiniz. Azure OpenAI Studio'daki SDK veya web tabanlı arabirim aracılığıyla REST API kullanarak Verilerinizde Azure OpenAI'ye erişebilirsiniz. Ayrıca gelişmiş bir sohbet çözümünü etkinleştirmek için verilerinize bağlanan bir web uygulaması oluşturabilir veya doğrudan Copilot Studio'da (önizleme) copilot olarak dağıtabilirsiniz.

Kullanmaya başlayın

Başlamak için Azure OpenAI Studio'yu kullanarak veri kaynağınıza bağlanın ve verilerinizle ilgili sorular sorup sohbet etmeye başlayın.

Not

Başlamak için Azure OpenAI erişimi için zaten onaylanmış olmanız ve desteklenen bir bölgede gpt-35-turbo veya gpt-4 modelleriyle azure OpenAI Hizmeti kaynağının dağıtılmış olması gerekir.

Veri kaynakları eklemek için Azure Rol tabanlı erişim denetimleri (Azure RBAC)

Verilerinizde Azure OpenAI'yi tam olarak kullanmak için bir veya daha fazla Azure RBAC rolü ayarlamanız gerekir. Daha fazla bilgi için bkz . Verilerinizde Azure OpenAI'yı güvenli bir şekilde kullanma.

Veri biçimleri ve dosya türleri

Verilerinizde Azure OpenAI aşağıdaki dosya türlerini destekler:

  • .txt
  • .md
  • .html
  • .docx
  • .pptx
  • .pdf

Karşıya yükleme sınırı vardır ve belge yapısı ve bunun modelden gelen yanıtların kalitesini nasıl etkileyebileceği hakkında bazı uyarılar vardır:

  • Desteklenmeyen bir biçimdeki verileri desteklenen bir biçime dönüştürüyorsanız, dönüştürmeyi sağlayarak model yanıtının kalitesini iyileştirin:

    • Önemli veri kaybına yol açmaz.
    • Verilerinize beklenmeyen kirlilik eklemez.
  • Dosyalarınızın tablolar ve sütunlar veya madde işaretleri gibi özel biçimlendirmeleri varsa, GitHub'da bulunan veri hazırlama betiğiyle verilerinizi hazırlayın.

  • Uzun metne sahip belgeler ve veri kümeleri için kullanılabilir veri hazırlama betiğini kullanmanız gerekir. Betik, modelin yanıtlarının daha doğru olması için verileri öbekler. Bu betik taranan PDF dosyalarını ve görüntülerini de destekler.

Desteklenen veri kaynakları

Verilerinizi karşıya yüklemek için bir veri kaynağına bağlanmanız gerekir. Verilerinizi bir Azure OpenAI modeliyle sohbet etmek için kullanmak istediğinizde, ilgili verilerin kullanıcı sorgularına göre bulunabilmesi için verileriniz bir arama dizininde öbek halinde bulunur.

MongoDB için sanal çekirdek tabanlı Azure Cosmos DB'deki Tümleşik Vektör Veritabanı, Verilerinizde Azure OpenAI ile tümleştirmeyi yerel olarak destekler.

Yerel makinenizden dosya yükleme (önizleme) veya blob depolama hesabında (önizleme) bulunan veriler gibi bazı veri kaynakları için Azure AI Search kullanılır. Aşağıdaki veri kaynaklarını seçtiğinizde verileriniz bir Azure AI Search dizinine alınır.

İpucu

Azure Cosmos DB kullanıyorsanız (MongoDB için sanal çekirdek tabanlı API'si dışında), Azure Cosmos DB aktarım hızı kredilerinde 6.000 ABD dolarına kadar eşdeğer olan Azure AI Avantajı teklifinden yararlanabilirsiniz.

Data source Açıklama
Azure AI Arama Verilerinizde Azure OpenAI ile mevcut bir Azure AI Arama dizinini kullanın.
Azure Cosmos DB Postgres için Azure Cosmos DB API'si ve MongoDB için sanal çekirdek tabanlı API yerel olarak tümleşik vektör dizini oluşturma; bu nedenle Azure AI Search gerektirmez. Ancak, diğer API'leri vektör dizinleme için Azure AI Search gerektirir. NoSQL için Azure Cosmos DB'nin yerel olarak tümleşik vektör veritabanı 2024'ün ortasında kullanıma hazır.
Dosyaları karşıya yükleme (önizleme) Azure Blob Depolama veritabanında depolanmak ve Azure AI Search'e almak için yerel makinenizden dosyaları karşıya yükleyin.
URL/Web adresi (önizleme) URL'lerdeki web içeriği Azure Blob Depolama depolanır.
Azure Blob Depolama (önizleme) Azure AI Search dizinine almak için Azure Blob Depolama dosyaları karşıya yükleyin.

Vektör dizin oluşturma hizmetlerinin diyagramı.

Önkoşullar

Sınırlamalar

  • Yalnızca MongoDB için sanal çekirdek tabanlı Azure Cosmos DB desteklenir.
  • Arama türü, Azure OpenAI ekleme modeline sahip MongoDB için Azure Cosmos DB'deki Tümleşik Vektör Veritabanı ile sınırlıdır.
  • Bu uygulama en iyi şekilde yapılandırılmamış ve uzamsal verilerde çalışır.

Veri hazırlama

Verilerinizi hazırlamak için GitHub'da sağlanan betiği kullanın.

Dizin alanı eşlemesi

MongoDB için sanal çekirdek tabanlı Azure Cosmos DB veri kaynağınızı eklediğinizde, verilerinizi almak üzere düzgün bir şekilde eşlemek için veri alanları belirtebilirsiniz.

  • İçerik verileri (gerekli): Modeli verilerinize dayandırmak için kullanılacak bir veya daha fazla sağlanan alan. Birden çok alan için değerleri boşluk olmadan virgülle ayırın.
  • Dosya adı/başlık/URL: Sohbette bir belgeye başvurulduğunda daha fazla bilgi görüntülemek için kullanılır.
  • Vektör alanları (gerekli): Veritabanınızda vektörleri içeren alanı seçin.

Mongo DB için dizin alanı eşleme seçeneklerini gösteren ekran görüntüsü.

Bir yardımcı pilota (önizleme) veya web uygulamasına dağıtma

Azure OpenAI'yi verilerinize bağladıktan sonra, Azure OpenAI studio'daki Dağıtılacak yer düğmesini kullanarak dağıtabilirsiniz.

Azure OpenAI Studio'da model dağıtım düğmesini gösteren ekran görüntüsü.

Bu, siz ve kullanıcılarınız için grafik kullanıcı arabirimi kullanarak sohbet modelleriyle etkileşim kurmanız için tek başına bir web uygulaması dağıtma seçeneği sunar. Daha fazla bilgi için bkz . Azure OpenAI web uygulamasını kullanma.

Microsoft Teams, web siteleri, Dynamics 365 ve diğer Azure Bot Hizmeti kanalları gibi çeşitli kanallara konuşma deneyimleri getirmenizi sağlayan Copilot Studio'daki bir yardımcı pilota (önizleme) doğrudan Azure OpenAI studio'dan da dağıtabilirsiniz. Azure OpenAI hizmetinde ve Copilot Studio'da (önizleme) kullanılan kiracı aynı olmalıdır. Daha fazla bilgi için bkz . Verilerinizde Azure OpenAI bağlantısını kullanma.

Not

Copilot Studio'da bir copilot'a dağıtma (önizleme) yalnızca ABD bölgelerinde kullanılabilir.

Verilerinizde Azure OpenAI'i güvenli bir şekilde kullanma

Microsoft Entra ID rol tabanlı erişim denetimi, sanal ağlar ve özel uç noktalar ile verileri ve kaynakları koruyarak Verilerinizde Azure OpenAI'yi güvenli bir şekilde kullanabilirsiniz. Azure AI Search güvenlik filtreleri ile farklı kullanıcılar için yanıtlarda kullanılabilecek belgeleri de kısıtlayabilirsiniz. Bkz. Verilerinizde Azure OpenAI'yı güvenli bir şekilde kullanma.

En iyi yöntemler

Model tarafından verilen yanıtların kalitesini artırmayı öğrenmek için aşağıdaki bölümleri kullanın.

Alma parametresi

Verileriniz Azure AI Search'e aktarıldığında, stüdyo veya alım API'sinde aşağıdaki ek ayarları değiştirebilirsiniz.

Öbek boyutu (önizleme)

Verilerinizde Azure OpenAI, belgelerinizi almadan önce öbeklere bölerek işler. Öbek boyutu, arama dizinindeki herhangi bir öbek için belirteç sayısı bakımından en büyük boyutdur. Öbek boyutu ve alınan belge sayısı, modele gönderilen istemde ne kadar bilgi (belirteç) olduğunu denetler. Genel olarak, alınan belge sayısıyla çarpılan öbek boyutu, modele gönderilen toplam belirteç sayısıdır.

Kullanım örneğiniz için öbek boyutunu ayarlama

Varsayılan öbek boyutu 1.024 belirteçtir. Ancak, verilerinizin benzersizliği göz önünde bulundurulduğunda farklı bir öbek boyutunu (256, 512 veya 1.536 belirteç gibi) daha etkili bulabilirsiniz.

Öbek boyutunu ayarlamak sohbet botunuzun performansını artırabilir. En uygun öbek boyutunu bulmak için deneme ve hata gerekirken veri kümenizin doğasını göz önünde bulundurarak işe başlayın. Daha küçük bir öbek boyutu genellikle doğrudan olgular ve daha az bağlam içeren veri kümeleri için daha iyidir, ancak daha büyük bir öbek boyutu daha bağlamsal bilgiler için yararlı olabilir, ancak alma performansını etkileyebilir.

256 gibi küçük bir öbek boyutu daha ayrıntılı öbekler üretir. Bu boyut, modelin çıkışını oluşturmak için daha az belirteç kullanacağı anlamına da gelir (alınan belge sayısı çok yüksek olmadığı sürece), potansiyel olarak daha düşük maliyetlidir. Daha küçük öbekler, modelin uzun metin bölümlerini işlemesi ve yorumlaması gerekmeyecek ve bu da gürültüyü ve dikkat dağınıklığını azaltacak şekilde anlamına gelir. Ancak bu ayrıntı düzeyi ve odak olası bir sorun oluşturur. Özellikle alınan belge sayısı 3 gibi düşük bir değere ayarlanmışsa önemli bilgiler en çok alınan öbekler arasında yer almayabilir.

İpucu

Öbek boyutunu değiştirmenin belgelerinizin yeniden alınmasını gerektirdiğini unutmayın, bu nedenle öncelikle katılık ve alınan belge sayısı gibi çalışma zamanı parametrelerini ayarlamanız yararlı olur. hala istenen sonuçları alamıyorsanız öbek boyutunu değiştirmeyi göz önünde bulundurun:

  • Belgelerinizde olması gereken yanıtlarla ilgili sorular için "Bilmiyorum" gibi çok sayıda yanıtla karşılaşıyorsanız ayrıntı düzeyini artırmak için öbek boyutunu 256 veya 512'ye düşürmeyi göz önünde bulundurun.
  • Sohbet botu bazı doğru ayrıntıları sağlıyorsa ancak alıntılarda belirgin hale gelen diğerlerini eksikse öbek boyutunu 1.536'ya yükseltmek daha bağlamsal bilgilerin yakalanmasına yardımcı olabilir.

Çalışma zamanı parametreleri

Azure OpenAI Studio ve API'nin Veri parametreleri bölümünde aşağıdaki ek ayarları değiştirebilirsiniz. Bu parametreleri güncelleştirirken verilerinizi yeniden boyutlandırmanız gerekmez.

Parametre adı Açıklama
Verilerinize yanıtları sınırlama Bu bayrak, sohbet botunun veri kaynağıyla ilgisi olmayan sorguları işleme yaklaşımını veya tam bir yanıt için arama belgelerinin yetersiz olduğu durumlarda yapılandırılır. Bu ayar devre dışı bırakıldığında model, yanıtlarını belgelerinize ek olarak kendi bilgileriyle tamamlar. Bu ayar etkinleştirildiğinde, model yalnızca yanıtlar için belgelerinize güvenmeye çalışır. Bu, API'deki parametredir inScope ve varsayılan olarak true olarak ayarlanır.
Alınan belgeler Bu parametre 3, 5, 10 veya 20 olarak ayarlanabilen bir tamsayıdır ve son yanıtı formüle etmek için büyük dil modeline sağlanan belge öbeklerinin sayısını denetler. Varsayılan olarak, bu değer 5 olarak ayarlanır. Arama işlemi gürültülü olabilir ve bazen öbekleme nedeniyle ilgili bilgiler arama dizinindeki birden çok öbeklere yayılabilir. 5 gibi bir top-K numarası seçmek, arama ve öbekleme sınırlamalarına rağmen modelin ilgili bilgileri ayıklayabilmesini sağlar. Ancak, sayıyı çok yüksek artırmak modelin dikkatini dağıtabilir. Ayrıca, etkili bir şekilde kullanılabilecek en fazla belge sayısı modelin sürümüne bağlıdır, her biri belgeleri işlemek için farklı bir bağlam boyutuna ve kapasiteye sahiptir. Yanıtların önemli bağlamı eksik olduğunu fark ederseniz bu parametreyi artırmayı deneyin. Bu, topNDocuments API'deki parametredir ve varsayılan olarak 5'tir.
Katılık Sistemin, benzerlik puanlarına göre arama belgelerini filtrelemedeki kararlılığını belirler. Sistem, Azure Search veya diğer belge depolarını sorgular, ardından ChatGPT gibi büyük dil modellerine hangi belgelerin sağlandığına karar verir. Ilgisiz belgeleri filtrelemek, uçtan uca sohbet botunun performansını önemli ölçüde artırabilir. Bazı belgeler, modele iletmeden önce düşük benzerlik puanlarına sahipse ilk K sonuçlarının dışında tutulur. Bu, 1 ile 5 arasında bir tamsayı değeriyle denetleniyor. Bu değerin 1 olarak ayarlanması, sistemin kullanıcı sorgusuna yönelik arama benzerliğine göre belgeleri en az şekilde filtreleyeceği anlamına gelir. Buna karşılık, 5 ayarı sistemin belgeleri agresif bir şekilde filtreleyerek çok yüksek bir benzerlik eşiği uygulayacağını gösterir. Sohbet botunun ilgili bilgileri atladığını fark ederseniz, daha fazla belge eklemek için filtrenin katılığını (değeri 1'e yakın olarak ayarlayın) düşürebilirsiniz. Buna karşılık, ilgisiz belgeler yanıtların dikkatini dağıtıyorsa eşiği artırın (değeri 5'e yakın ayarlayın). Bu, API'deki parametredir strictness ve varsayılan olarak 3 olarak ayarlanır.

Alıntılanmamış başvurular

Veri kaynağından alınan ancak alıntıya dahil edilmeyen belgeler için modelin API yerine "TYPE":CONTENT döndürülmesi "TYPE":"UNCITED_REFERENCE" mümkündür. Bu hata ayıklama için yararlı olabilir ve yukarıda açıklanan katılık ve alınan belgeler çalışma zamanı parametrelerini değiştirerek bu davranışı denetleyebilirsiniz.

Sistem iletisi

Verilerinizde Azure OpenAI kullanırken modelin yanıtını yönlendirmek için bir sistem iletisi tanımlayabilirsiniz. Bu ileti, Yanıtlarınızı, Verilerinizde Azure OpenAI'nin kullandığı artırılmış oluşturma (RAG) düzenine göre özelleştirmenize olanak tanır. Sistem iletisi, deneyimi sağlamak için bir iç temel isteme ek olarak kullanılır. Bunu desteklemek için, modelin verilerinizi kullanarak soruları yanıtlayabilmesini sağlamak için sistem iletisini belirli sayıda belirteç sonrasında kesiyoruz. Varsayılan deneyimin üzerine ek davranış tanımlıyorsanız sistem isteminizin ayrıntılı olduğundan ve tam olarak beklenen özelleştirmeyi açıkladığınızdan emin olun.

Veri kümenizi eklemeyi seçtikten sonra Azure OpenAI Studio'daki Sistem iletisi bölümünü veya API'deki parametreyiroleInformation kullanabilirsiniz.

Azure OpenAI Studio'da sistem iletisi seçeneğini gösteren ekran görüntüsü.

Olası kullanım desenleri

Rol tanımlama

Yardımcınızın olmasını istediğiniz bir rol tanımlayabilirsiniz. Örneğin, bir destek botu oluşturuyorsanız "Kullanıcıların yeni sorunları çözmesine yardımcı olan bir uzman olay destek yardımcısısınız" ekleyebilirsiniz.

Alınan veri türünü tanımlama

Ayrıca, sağladığınız verilerin doğasını yardımcıya da ekleyebilirsiniz.

  • "Finansal rapor", "akademik rapor" veya "olay raporu" gibi veri kümenizin konusunu veya kapsamını tanımlayın. Örneğin, teknik destek için "Alınan belgelerde benzer olaylardan gelen bilgileri kullanarak sorguları yanıtlayabilirsiniz".
  • Verileriniz belirli özelliklere sahipse bu ayrıntıları sistem iletisine ekleyebilirsiniz. Örneğin, belgeleriniz Japonca ise " Japonca belgeleri alırsınız ve bunları Japonca dilinde dikkatlice okumalı ve Japonca yanıtlamalısınız" ekleyebilirsiniz.
  • Belgeleriniz finansal rapordaki tablolar gibi yapılandırılmış veriler içeriyorsa, bu olguyu sistem istemine de ekleyebilirsiniz. Örneğin, verilerinizde tablolar varsa " Size finansal sonuçlarla ilgili tablolar biçiminde veriler verilmiştir ve kullanıcı sorularını yanıtlamak için hesaplamalar yapmak için tabloyu satır satır okumanız gerekir".

Çıkış stilini tanımlama

Bir sistem iletisi tanımlayarak modelin çıkışını da değiştirebilirsiniz. Örneğin, yardımcı yanıtlarının Fransızca olduğundan emin olmak istiyorsanız, "Fransızca bilgi bulabilen kullanıcıların bilgi bulmasına yardımcı olan bir yapay zeka yardımcısısınız. Kullanıcı soruları İngilizce veya Fransızca olabilir. Lütfen alınan belgeleri dikkatlice okuyun ve Fransızca yanıtlayın. Tüm yanıtların Fransızca olduğundan emin olmak için lütfen bilgileri belgelerden Fransızcaya çevirin."

Kritik davranışı yeniden doğrulama

Verilerinizde Azure OpenAI, verilerinizi kullanarak kullanıcı sorgularını yanıtlamaya yönelik istemler biçiminde büyük bir dil modeline yönergeler göndererek çalışır. Uygulama için kritik öneme sahip belirli bir davranış varsa, doğruluğunu artırmak için sistem iletisinde davranışı yineleyebilirsiniz. Örneğin, modeli yalnızca belgelerden yanıt almaya yönlendirmek için şunları ekleyebilirsiniz: "Lütfen yalnızca alınan belgeleri kullanarak ve bilginizi kullanmadan yanıtlayın. Lütfen yanıtınızdaki her talebin belgelerini almak için alıntılar oluşturun. Kullanıcı sorusu alınan belgeler kullanılarak yanıtlanamıyorsa, lütfen belgelerin kullanıcı sorgularıyla neden ilgili olduğunu açıklayın. Her durumda, kendi bilginizi kullanarak cevap verme."

prompt Engineering püf noktaları

komut istemi mühendisliğinde çıkışı geliştirmek için deneyebileceğiniz birçok püf noktası vardır. Bunun bir örneği, "Kullanıcı sorgularını yanıtlamak için alınan belgelerdeki bilgiler hakkında adım adım düşünelim. Belgelerden kullanıcı sorgularına ilgili bilgileri adım adım ayıklayın ve ilgili belgelerden ayıklanan bilgilerden bir yanıt oluştur."

Not

Sistem iletisi, alınan belgelere göre GPT yardımcısı'nın bir kullanıcı sorusuna nasıl yanıt vereceğini değiştirmek için kullanılır. Alma işlemini etkilemez. Alma işlemiyle ilgili yönergeler sağlamak isterseniz, bunları sorulara dahil etmek daha iyidir. Sistem iletisi yalnızca rehberliktir. Model, nesnellik gibi belirli davranışlarla ve tartışmalı ifadelerden kaçındığından belirtilen her yönergeye uymayabilir. Sistem iletisi bu davranışlarla çelişirse beklenmeyen davranışlar oluşabilir.

En fazla yanıt

Model yanıtı başına belirteç sayısı için bir sınır ayarlayın. Verilerinizde Azure OpenAI için üst sınır 1500'dür. Bu, API'de parametresini ayarlamaya max_tokens eşdeğerdir.

Verilerinize yanıtları sınırlama

Bu seçenek modelin yalnızca verilerinizi kullanarak yanıt vermesini teşvik eder ve varsayılan olarak seçilidir. Bu seçeneğin seçimini kaldırırsanız, model yanıt vermek için iç bilgilerini daha önceden uygulayabilir. Kullanım örneğinize ve senaryonuza göre doğru seçimi belirleyin.

Modelle etkileşim kurma

Modelle sohbet ederken en iyi sonuçları elde etmek için aşağıdaki uygulamaları kullanın.

Konuşma geçmişi

  • Yeni bir konuşma başlatmadan (veya öncekilerle ilgili olmayan bir soru sormadan) önce sohbet geçmişini temizleyin.
  • Konuşma geçmişi modelin geçerli durumunu değiştirdiğinden, ilk konuşma dönüşü ile sonraki dönüşler arasında aynı soru için farklı yanıtlar alınması beklenebilir. Yanlış yanıtlar alırsanız kalite hatası olarak bildirin.

Model yanıtı

  • Belirli bir sorunun model yanıtını memnun değilseniz, modelin nasıl yanıt verdiğini görmek için soruyu daha belirgin veya daha genel hale getirmeye çalışın ve sorunuzu uygun şekilde yeniden düzenleyin.

  • Düşünce zinciri isteminin , modelin karmaşık sorular/görevler için istenen çıkışları üretmesini sağlamada etkili olduğu gösterilmiştir.

Soru uzunluğu

Uzun sorular sormaktan kaçının ve mümkünse bunları birden çok soruya bölün. GPT modellerinin kabul edebildiği belirteç sayısı sınırları vardır. Belirteç sınırları şu şekilde sayılır: kullanıcı sorusu, sistem iletisi, alınan arama belgeleri (öbekler), iç istemler, konuşma geçmişi (varsa) ve yanıt. Soru belirteç sınırını aşarsa kesilir.

Çok dilli destek

  • Şu anda Azure OpenAI On Your Data'da anahtar sözcük araması ve anlamsal arama sorguları dizindeki veriyle aynı dildedir. Örneğin, verileriniz Japonca ise giriş sorgularının da Japonca olması gerekir. Diller arası belge alma için, Vektör araması etkin olarak dizini oluşturmanızı öneririz.

  • Bilgi alma ve model yanıtının kalitesini artırmaya yardımcı olmak için şu diller için anlamsal aramayı etkinleştirmenizi öneririz: İngilizce, Fransızca, İspanyolca, Portekizce, İtalyanca, Almanya, Çince (Zh), Japonca, Korece, Rusça, Arapça

  • Modele verilerinizin başka bir dilde olduğunu bildirmek için bir sistem iletisi kullanmanızı öneririz. Örneğin:

  • *"*Kullanıcıların alınan Japonca belgelerden bilgi ayıklamasına yardımcı olmak için tasarlanmış bir yapay zeka yardımcısısınız. Yanıtı formüle etmeden önce lütfen Japonca belgeleri dikkatle inceleyin. Kullanıcının sorgusu Japonca olacaktır ve japonca olarak da yanıt vermelisiniz."

  • Birden çok dilde belgeleriniz varsa, her dil için yeni bir dizin oluşturmanızı ve bunları Azure OpenAI'ye ayrı olarak bağlamanızı öneririz.

Akış verileri

Parametresini kullanarak bir akış isteği göndererek verilerin api yanıtının stream tamamını beklemeden artımlı olarak gönderilmesini ve alınmasını sağlayabilirsiniz. Bu, özellikle büyük veya dinamik veriler için performansı ve kullanıcı deneyimini geliştirebilir.

{
    "stream": true,
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                "endpoint": "'$AZURE_AI_SEARCH_ENDPOINT'",
                "key": "'$AZURE_AI_SEARCH_API_KEY'",
                "indexName": "'$AZURE_AI_SEARCH_INDEX'"
            }
        }
    ],
    "messages": [
        {
            "role": "user",
            "content": "What are the differences between Azure Machine Learning and Azure AI services?"
        }
    ]
}

Daha iyi sonuçlar için konuşma geçmişi

Bir modelle sohbet ettiğinizde, sohbet geçmişinin sağlanması modelin daha yüksek kaliteli sonuçlar döndürmesine yardımcı olur. Daha iyi yanıt kalitesi için YARDıMCı iletilerinin özelliğini API isteklerinize eklemeniz context gerekmez. Örnekler için API başvuru belgelerine bakın.

İşlev Çağrısı

Bazı Azure OpenAI modelleri, işlev çağrısını etkinleştirmek için araçlar ve tool_choice parametreleri tanımlamanızı sağlar. REST API/chat/completions aracılığıyla işlev çağrısı ayarlayabilirsiniz. hem hem de toolsveri kaynakları istekteyse aşağıdaki ilke uygulanır.

  1. ise tool_choicenone, araçlar yoksayılır ve yanıtı oluşturmak için yalnızca veri kaynakları kullanılır.
  2. Aksi takdirde, belirtilmezse veya nesne olarak auto belirtilmezsetool_choice, veri kaynakları yoksayılır ve yanıt, varsa seçili işlev adını ve bağımsız değişkenleri içerir. Model hiçbir işlevin seçilmeyeceğine karar verse bile, veri kaynakları yine de yoksayılır.

Yukarıdaki ilke gereksinimlerinizi karşılamıyorsa, lütfen diğer seçenekleri göz önünde bulundurun, örneğin: istem akışı veya Yardımcılar API'si.

Verilerinizde Azure OpenAI için belirteç kullanımı tahmini

Azure OpenAI On Your Data Retrieval Augmental Generation (RAG) hizmeti, kullanıcıların sağlanan verilere göre sorularına yanıt almasına olanak sağlamak için hem arama hizmetinden (Azure AI Search gibi) hem de oluşturmadan (Azure OpenAI modelleri) yararlanıyor.

Bu RAG işlem hattının bir parçası olarak, üst düzey üç adım vardır:

  1. Kullanıcı sorgusunu arama amaçları listesinde reforme edin. Bu, yönergeler, kullanıcı sorusu ve konuşma geçmişi içeren bir istemle modele çağrı yapılarak yapılır. Şimdi bunu bir amaç istemi olarak adlandıralım.

  2. Her amaç için, arama hizmetinden birden çok belge öbeği alınır. Kullanıcı tarafından belirtilen katılık eşiğine göre ilgisiz öbekleri filtreledikten ve iç mantığa göre öbekleri yeniden dilimledikten/topladıktan sonra, kullanıcı tarafından belirtilen sayıda belge öbeği seçilir.

  3. Bu belge öbekleri, kullanıcı sorusu, konuşma geçmişi, rol bilgileri ve yönergelerle birlikte son model yanıtını oluşturmak için modele gönderilir. Şimdi bunu oluşturma istemi olarak adlandıralım.

Toplamda modele yapılan iki çağrı vardır:

  • Amacı işlemek için: Amaç istemine yönelik belirteç tahmini, kullanıcı sorusu, konuşma geçmişi ve amaç oluşturma için modele gönderilen yönergeleri içerir.

  • Yanıtı oluşturmak için: Oluşturma istemi için belirteç tahmini, kullanıcı sorusu, konuşma geçmişi, alınan belge öbekleri listesi, rol bilgileri ve oluşturma için ona gönderilen yönergeleri içerir.

Model tarafından oluşturulan çıkış belirteçlerinin (hem amaçlar hem de yanıt) toplam belirteç tahmini için dikkate alınması gerekir. Aşağıdaki dört sütunun tümünün toplanması, yanıt oluşturmak için kullanılan ortalama toplam belirteçleri verir.

Model Oluşturma istemi belirteci sayısı Amaç istemi belirteci sayısı Yanıt belirteci sayısı Amaç belirteci sayısı
gpt-35-turbo-16k 4297 1366 111 25
gpt-4-0613 3997 1385 118 18
gpt-4-1106-preview 4538 811 Kategori 119 27
gpt-35-turbo-1106 4854 1372 110 26

Yukarıdaki sayılar, aşağıdakilerle bir veri kümesinin test edilmesine dayanır:

  • 191 konuşmaları
  • 250 soru
  • Soru başına 10 ortalama belirteç
  • Konuşma başına ortalama 4 konuşma dönüşü

Ve aşağıdaki parametreler.

Ayar Value
Alınan belge sayısı 5
Katılık 3
Öbek boyutu 1024
Alınan verilere verilen yanıtlar sınırlansın mı? True

Bu tahminler, yukarıdaki parametreler için ayarlanan değerlere göre değişir. Örneğin, alınan belge sayısı 10 ve katılık 1 olarak ayarlanırsa belirteç sayısı artacaktır. Döndürülen yanıtlar alınan verilerle sınırlı değilse modele daha az yönerge verilir ve belirteç sayısı azaltılır.

Tahminler, sorulan belgelerin ve soruların niteliğine de bağlıdır. Örneğin, sorular açık uçluysa yanıtlar büyük olasılıkla daha uzun olacaktır. Benzer şekilde, daha uzun bir sistem iletisi daha fazla belirteç kullanan daha uzun bir isteme katkıda bulunur ve konuşma geçmişi uzunsa, istem daha uzun olur.

Model Sistem iletisi için en fazla belirteç sayısı Model yanıtı için en fazla belirteç
GPT-35-0301 400 1500
GPT-35-0613-16K 1000 3200
GPT-4-0613-8K 400 1500
GPT-4-0613-32K Kategori 2000 6400

Yukarıdaki tabloda, sistem iletisi ve model yanıtı için kullanılabilecek en fazla belirteç sayısı gösterilmektedir. Ayrıca, aşağıdakiler belirteçleri de tüketir:

  • Meta istemi: Modelden gelen yanıtları topraklama veri içeriğiyle (inScope=True API'de) sınırlarsanız en fazla belirteç sayısı daha yüksek olur. Aksi takdirde (örneğin, ) inScope=Falseüst sınır daha düşüktür. Bu sayı, kullanıcı sorusunun ve konuşma geçmişinin belirteç uzunluğuna bağlı olarak değişkendir. Bu tahmin, temel istem ve sorgu yeniden yazma istemlerini içerir.

  • Kullanıcı sorusu ve geçmişi: Değişken, ancak 2.000 belirteçle eşlendi.

  • Alınan belgeler (öbekler): Alınan belge öbekleri tarafından kullanılan belirteçlerin sayısı birden çok faktöre bağlıdır. Bunun üst sınırı, alınan belge öbeklerinin öbek boyutuyla çarpılmasıdır. Ancak, kalan alanlar sayıldıktan sonra kullanılan belirli model için kullanılabilir belirteçlere göre kesilir.

    Kullanılabilir belirteçlerin %20'i model yanıtı için ayrılmıştır. Kullanılabilir belirteçlerin kalan %80'i meta istemini, kullanıcı sorusunu ve konuşma geçmişini ve sistem iletisini içerir. Kalan belirteç bütçesi, alınan belge öbekleri tarafından kullanılır.

Girişiniz tarafından kullanılan belirteç sayısını hesaplamak için (sorunuz, sistem iletisi/rol bilgileri gibi), aşağıdaki kod örneğini kullanın.

import tiktoken

class TokenEstimator(object):

    GPT2_TOKENIZER = tiktoken.get_encoding("gpt2")

    def estimate_tokens(self, text: str) -> int:
        return len(self.GPT2_TOKENIZER.encode(text))
      
token_output = TokenEstimator.estimate_tokens(input_text)

Sorun giderme

Başarısız işlemlerin sorunlarını gidermek için her zaman API yanıtında veya Azure OpenAI studio'da belirtilen hataları veya uyarıları dikkate alın. Yaygın hatalardan ve uyarılardan bazıları şunlardır:

Başarısız alma işleri

Kota Sınırlamaları Sorunları

Y hizmetinde X adına sahip bir dizin oluşturulamadı. Bu hizmet için dizin kotası aşıldı. Önce kullanılmayan dizinleri silmeniz, dizin oluşturma istekleri arasına bir gecikme eklemeniz veya hizmeti daha yüksek sınırlar için yükseltmeniz gerekir.

Bu hizmet için standart X dizin oluşturucu kotası aşıldı. Şu anda X standart dizin oluşturucularınız var. Önce kullanılmayan dizin oluşturucuları silmeniz, 'executionMode' dizin oluşturucusunu değiştirmeniz veya hizmeti daha yüksek sınırlar için yükseltmeniz gerekir.

Çözüm:

Daha yüksek bir fiyatlandırma katmanına yükseltin veya kullanılmayan varlıkları silin.

Önişleme Zaman Aşımı Sorunları

Web API isteği başarısız olduğundan beceri yürütülemedi

Web API beceri yanıtı geçersiz olduğundan beceri yürütülemedi

Çözüm:

Giriş belgelerini daha küçük belgelere bölün ve yeniden deneyin.

İzin Sorunları

Bu isteğin bu işlemi gerçekleştirme yetkisi yok

Çözüm:

Bu, depolama hesabına verilen kimlik bilgileriyle erişilebildiği anlamına gelir. Bu durumda, lütfen API'ye geçirilen depolama hesabı kimlik bilgilerini gözden geçirin ve depolama hesabının özel bir uç noktanın arkasına gizlenmediğini (bu kaynak için özel bir uç nokta yapılandırılmadıysa) emin olun.

Her kullanıcı iletisi, tümü paralel olarak arama kaynağına gönderilen birden çok arama sorgusuna çevrilebilir. Bu, arama çoğaltmalarının ve bölümlerin sayısı düşük olduğunda azaltma davranışına neden olabilir. Tek bir bölümün ve tek çoğaltmanın destekleyebilecekleri saniye başına en fazla sorgu sayısı yeterli olmayabilir. Bu durumda, çoğaltmalarınızı ve bölümlerinizi artırmayı veya uygulamanıza uyku/yeniden deneme mantığı eklemeyi göz önünde bulundurun. Daha fazla bilgi için Azure AI Search belgelerine bakın.

Bölgesel kullanılabilirlik ve model desteği

Verilerinizde Azure OpenAI'yi aşağıdaki bölgelerdeki bir Azure OpenAI kaynağıyla kullanabilirsiniz:

  • Doğu Avustralya
  • Güney Brezilya
  • Doğu Kanada
  • Doğu ABD
  • Doğu ABD 2
  • Orta Fransa
  • Doğu Japonya
  • Orta Kuzey ABD
  • Doğu Norveç
  • Güney Afrika - Kuzey
  • Orta Güney ABD
  • Güney Hindistan
  • Orta İsveç
  • Kuzey İsviçre
  • Güney Birleşik Krallık
  • West Europe
  • Batı ABD

Desteklenen modeller

  • gpt-4 (0314)
  • gpt-4 (0613)
  • gpt-4 (0125)
  • gpt-4-32k (0314)
  • gpt-4-32k (0613)
  • gpt-4 (1106-önizleme)
  • gpt-35-turbo-16k (0613)
  • gpt-35-turbo (1106)

Azure OpenAI kaynağınız başka bir bölgedeyse Verilerinizde Azure OpenAI'yi kullanamazsınız.

Sonraki adımlar