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 AI Foundry portalındaki 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.
Verilerinizde Azure OpenAI ile geliştirme
Normalde, Verilerinizde Azure OpenAI ile kullanacağınız geliştirme süreci şu şekildedir:
Alma: Azure AI Foundry portalını veya alım API'sini kullanarak dosyaları karşıya yükleyin. Bu, verilerinizin kırılmasını, öbeklenmesini ve Azure OpenAI modelleri tarafından kullanılabilecek bir Azure AI Search örneğine katıştırılabilmesini sağlar. Desteklenen bir veri kaynağınız varsa doğrudan da bağlayabilirsiniz.
Geliştirme: Verilerinizde Azure OpenAI'yi denedikten sonra, çeşitli dillerde kullanılabilen kullanılabilir REST API ve SDK'ları kullanarak uygulamanızı geliştirmeye başlayın. Azure OpenAI hizmetine geçirmek için istemler ve arama amaçları oluşturur.
Çıkarım: Uygulamanız tercih ettiğiniz ortamda dağıtıldıktan sonra Azure OpenAI'ye istemler gönderir ve yanıt döndürmeden önce birkaç adım gerçekleştirir:
Amaç oluşturma: Hizmet, kullanıcının uygun yanıtı belirleme isteminin amacını belirler.
Alma: Hizmet, bağlı veri kaynağındaki kullanılabilir verilerin ilgili öbeklerini sorgulayarak alır. Örneğin, anlamsal veya vektör araması kullanarak. Alma işlemini etkilemek için katılık ve alınacak belge sayısı gibi parametreler kullanılır.
Filtreleme ve yeniden boyutlandırma: İlgiyi iyileştirmek için verileri sıralamak ve filtrelemek için alma adımındaki arama sonuçları iyileştirilir.
Yanıt oluşturma: Elde edilen veriler, sistem iletisi gibi diğer bilgilerle birlikte Büyük Dil Modeli'ne (LLM) gönderilir ve yanıt uygulamaya geri gönderilir.
Başlamak için Azure AI Foundry portalını kullanarak veri kaynağınızı bağlayın ve verilerinizle ilgili sorular sorup sohbet etmeye başlayın.
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 yapılandırması .
Veri biçimleri ve dosya türleri
Verileriniz Üzerinde 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.
Not
En iyi sonuçlar için verileriniz yapılandırılmamış metin olmalıdır. Metinsel olmayan yarı yapılandırılmış veya yapılandırılmış verileriniz varsa bunları metne dönüştürmeyi göz önünde bulundurun. 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.
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.
Azure AI Search aracılığıyla alınan veriler | Açıklama |
---|---|
Azure AI Arama | Verilerinizde Azure OpenAI ile mevcut bir Azure AI Arama dizinini kullanın. |
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. |
- Azure AI Arama
- MongoDB için Azure Cosmos DB'de Vektör Veritabanı
- Azure Blob Depolama (önizleme)
- Dosyaları karşıya yükleme (önizleme)
- URL/Web adresi (önizleme)
- Elasticsearch (önizleme)
- MongoDB Atlas (önizleme)
Aşağıdakilerden birini yapmak istediğinizde Azure AI Search dizini kullanmayı düşünebilirsiniz:
- Dizin oluşturma işlemini özelleştirin.
- Diğer veri kaynaklarından veri alarak daha önce oluşturulan bir dizini yeniden kullanın.
Not
- Var olan bir dizini kullanmak için en az bir aranabilir alanı olmalıdır.
- CORS Kaynak Türüne İzin Ver seçeneğini olarak
all
, İzin verilen çıkış noktaları seçeneğini olarak*
ayarlayın. - Arama dizininizde karmaşık alanlar olamaz.
Arama türleri
Verilerinizde Azure OpenAI, veri kaynağınızı eklerken kullanabileceğiniz aşağıdaki arama türlerini sağlar.
Seçili bölgelerde kullanılabilen Ada ekleme modellerini kullanarak vektör araması
Vektör aramasını etkinleştirmek için, Azure OpenAI kaynağınızda mevcut bir ekleme modelinin dağıtılması gerekir. Verilerinizi bağlarken ekleme dağıtımınızı seçin ve ardından Veri yönetimi altındaki vektör arama türlerinden birini seçin. Veri kaynağı olarak Azure AI Search kullanıyorsanız dizinde bir vektör sütununun olduğundan emin olun.
Kendi dizininizi kullanıyorsanız, sorularınızı yanıtlarken eşlenecek alanları tanımlamak için veri kaynağınızı eklediğinizde alan eşlemesini özelleştirebilirsiniz. Alan eşlemesini özelleştirmek için veri kaynağınızı eklerken Veri Kaynağı sayfasında Özel alan eşlemesini kullan'ı seçin.
Önemli
- Anlamsal arama ek fiyatlandırmaya tabidir. Anlamsal aramayı veya vektör aramasını etkinleştirmek için Temel veya daha yüksek SKU'yu seçmeniz gerekir. Daha fazla bilgi için bkz . fiyatlandırma katmanı farkı ve hizmet sınırları .
- Bilgi alma ve model yanıtının kalitesini artırmaya yardımcı olmak için şu veri kaynağı dilleri için anlamsal aramayı etkinleştirmenizi öneririz: İngilizce, Fransızca, İspanyolca, Portekizce, İtalyanca, Almanya, Çince (Zh), Japonca, Korece, Rusça ve Arapça.
Arama seçeneği | Alma türü | Ek fiyatlandırma mı? | Sosyal haklar |
---|---|---|---|
anahtar sözcük | Anahtar sözcük araması | Ek fiyatlandırma yok. | İşleçlerle veya işleçler olmadan desteklenen herhangi bir dilde terimleri veya tümcecikleri kullanarak aranabilir alanlar üzerinde hızlı ve esnek sorgu ayrıştırma ve eşleştirme gerçekleştirir. |
semantik | Anlamsal arama | Anlamsal arama kullanımı için ek fiyatlandırma. | İlk arama dereceleyicisi tarafından döndürülen sorgu terimlerinin ve belgelerin anlamsal anlamını anlamak için bir reranker (yapay zeka modelleriyle) kullanarak arama sonuçlarının duyarlığını ve ilgi düzeyini artırır |
vektör | Vektör araması | Ekleme modelini çağırmak için Azure OpenAI hesabınızda ek fiyatlandırma . | İçeriğin vektör eklemelerine göre belirli bir sorgu girişine benzer belgeleri bulmanıza olanak tanır. |
karma (vektör + anahtar sözcük) | Vektör arama ve anahtar sözcük arama karması | Ekleme modelini çağırmak için Azure OpenAI hesabınızda ek fiyatlandırma . | Vektör eklemelerini kullanarak vektör alanları üzerinde benzerlik araması gerçekleştirirken, terim sorgularını kullanarak alfasayısal alanlar üzerinde esnek sorgu ayrıştırma ve tam metin aramayı destekler. |
karma (vektör + anahtar sözcük) + anlamsal | Vektör arama, anlamsal arama ve anahtar sözcük arama karması. | Azure OpenAI hesabınızda ekleme modelini çağırmak için ek fiyatlandırma ve anlamsal arama kullanımı için ek fiyatlandırma. | Karmaşık ve çeşitli bilgi alma senaryolarını işleyebilen zengin arama deneyimleri ve üretken yapay zeka uygulamaları oluşturmak için vektör ekleme, dil anlama ve esnek sorgu ayrıştırma özelliklerini kullanır. |
Akıllı arama
Verilerinizde Azure OpenAI, verileriniz için akıllı arama özelliğini etkinleştirmiştir. Hem anlamsal arama hem de anahtar sözcük aramanız varsa semantik arama varsayılan olarak etkinleştirilir. Ekleme modelleriniz varsa akıllı arama varsayılan olarak karma + anlamsal arama olur.
Belge düzeyi erişim denetimi
Not
Veri kaynağınız olarak Azure AI Search'i seçtiğinizde belge düzeyinde erişim denetimi desteklenir.
Verilerinizde Azure OpenAI, Azure AI Search güvenlik filtreleri ile farklı kullanıcılar için yanıtlarda kullanılabilecek belgeleri kısıtlamanıza olanak tanır. Belge düzeyi erişimini etkinleştirdiğinizde, Azure AI Search'ten döndürülen ve yanıt oluşturmak için kullanılan arama sonuçları, kullanıcı Microsoft Entra grup üyeliğine göre kırpılır. Belge düzeyinde erişimi yalnızca mevcut Azure AI Search dizinlerinde etkinleştirebilirsiniz. Daha fazla bilgi için bkz . Veri ağınızda Azure OpenAI ve erişim yapılandırması .
Dizin alanı eşlemesi
Kendi dizininizi kullanıyorsanız Azure AI Foundry portalında, veri kaynağınızı eklerken soruları yanıtlamak için hangi alanları eşlemek istediğinizi tanımlamanız istenir. İçerik verileri için birden çok alan sağlayabilirsiniz ve kullanım örneğiniz ile ilgili metin içeren tüm alanları içermelidir.
Bu örnekte İçerik verileri ve Başlık ile eşlenen alanlar, soruları yanıtlamak için modele bilgi sağlar. Başlık , alıntı metnini başlıklandırmak için de kullanılır. Dosya adıyla eşlenen alan yanıtta alıntı adlarını oluşturur.
Bu alanların doğru bir şekilde eşleştirilmesi, modelin daha iyi yanıt ve alıntı kalitesine sahip olmasını sağlamaya yardımcı olur. Ayrıca parametresini fieldsMapping
kullanarak API'de yapılandırabilirsiniz.
Arama filtresi (API)
Sorgu yürütme için ek değer tabanlı ölçütler uygulamak istiyorsanız, REST API'deki parametresini filter
kullanarak bir arama filtresi ayarlayabilirsiniz.
Veriler Azure AI aramasına nasıl alınır?
Eylül 2024 itibarıyla alım API'leri tümleşik vektörleştirmeye geçti. Bu güncelleştirme, mevcut API sözleşmelerini değiştirmez. Azure AI Search'ün yeni bir teklifi olan tümleşik vektörleştirme, giriş verilerini öbekleme ve ekleme için önceden oluşturulmuş becerileri kullanır. Azure OpenAI On Your Data alma hizmeti artık özel beceriler kullanmaz. Tümleşik vektörleştirmeye geçiş sonrasında, alma işlemi bazı değişikliklerden geçmiştir ve sonuç olarak yalnızca aşağıdaki varlıklar oluşturulur:
{job-id}-index
-
{job-id}-indexer
, saatlik veya günlük bir zamanlama belirtilirse, aksi takdirde, dizin oluşturucu alma işleminin sonunda temizlenir. {job-id}-datasource
Bu işlev artık doğal olarak Azure AI Search tarafından yönetildiğinden öbekler kapsayıcısı artık kullanılamaz.
Veri bağlantısı
Azure OpenAI, Azure AI Search ve Azure blob depolamadan bağlantının kimliğini nasıl doğrulamak istediğinizi seçmeniz gerekir. Sistem tarafından atanan yönetilen kimliği veya API anahtarını seçebilirsiniz. Kimlik doğrulama türü olarak API anahtarı seçildiğinde sistem, Azure AI Search, Azure OpenAI ve Azure Blob Depolama kaynaklarınıza bağlanmanız için API anahtarını otomatik olarak doldurur. Sistem tarafından atanan yönetilen kimlik seçildiğinde, kimlik doğrulaması sahip olduğunuz rol atamasını temel alır. Sistem tarafından atanan yönetilen kimlik , güvenlik için varsayılan olarak seçilir.
Sonraki düğmeyi seçtiğinizde, seçilen kimlik doğrulama yöntemini kullanmak için kurulumunuzu otomatik olarak doğrular. Bir hatayla karşılaşırsanız, kurulumunuzu güncelleştirmek için rol atamaları makalesine bakın.
Kurulumu düzeltdikten sonra doğrulamak ve devam etmek için yeniden İleri'yi seçin. API kullanıcıları ayrıca atanan yönetilen kimlik ve API anahtarlarıyla kimlik doğrulamayı yapılandırabilir.
Bir yardımcı pilota (önizleme), Teams uygulamasına (önizleme) veya web uygulamasına dağıtma
Azure OpenAI'yi verilerinize bağladıktan sonra Azure AI Foundry portalındaki Dağıtılacak yer düğmesini kullanarak dağıtabilirsiniz.
Bu, çözümünüzü dağıtmak için birden çok seçenek sunar.
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 AI Foundry portalından dağıtım yapabilirsiniz. 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çin erişimi ve ağı yapılandırma
Verilerinizde Azure OpenAI'yi kullanabilir ve Microsoft Entra ID rol tabanlı erişim denetimi, sanal ağlar ve özel uç noktalar ile verileri ve kaynakları koruyabilirsiniz. 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 erişimi ve ağ yapılandırması.
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 AI Foundry portalının 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 AI Foundry portalındaki Sistem iletisi bölümünü veya API'deki parametreyi role_information
kullanabilirsiniz.
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 uzman bir 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" ekleyebilirsiniz .
- 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" ekleyebilirsiniz .
Çı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 belgelerdeki bilgileri 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.
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ılarını ayarlayabilirsiniz. hem hem de tools
veri kaynakları istekteyse aşağıdaki ilke uygulanır.
- ise
tool_choice
none
, araçlar yoksayılır ve yanıtı oluşturmak için yalnızca veri kaynakları kullanılır. - 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 Augmented Generation (RAG), 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) yararlanan bir hizmettir.
Bu RAG işlem hattının bir parçası olarak, üst düzey üç adım vardır:
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.
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.
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ı |
---|---|
GPT-35-0301 | 400 |
GPT-35-0613-16K | 1000 |
GPT-4-0613-8K | 400 |
GPT-4-0613-32K | Kategori 2000 |
GPT-35-turbo-0125 | Kategori 2000 |
GPT-4-turbo-0409 | 4000 |
GPT-4o | 4000 |
GPT-4o-mini | 4000 |
Yukarıdaki tabloda, sistem iletisi için kullanılabilecek en fazla belirteç sayısı gösterilmektedir. Model yanıtı için en fazla belirteçleri görmek için modeller makalesine bakın. 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 api yanıtında veya Azure AI Foundry portalında belirtilen hataları veya uyarıları her zaman göz önünde bulundurun. 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.
Azure AI Search ile sorgu gönderirken 503 hatası
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 bir ç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
Not
Aşağıdaki modeller Verilerinizde Azure OpenAI tarafından desteklenmez:
- o1 modelleri
- o3 modelleri
Bölge | gpt-35-turbo-16k (0613) |
gpt-35-turbo (1106) |
gpt-4-32k (0613) |
gpt-4 (1106-preview) |
gpt-4 (0125-preview) |
gpt-4 (0613) |
gpt-4o ** |
gpt-4 (turbo-2024-04-09) |
---|---|---|---|---|---|---|---|---|
Doğu Avustralya | ✅ | ✅ | ✅ | ✅ | ✅ | |||
Doğu Kanada | ✅ | ✅ | ✅ | ✅ | ✅ | |||
Doğu ABD | ✅ | ✅ | ✅ | |||||
Doğu ABD 2 | ✅ | ✅ | ✅ | ✅ | ||||
Orta Fransa | ✅ | ✅ | ✅ | ✅ | ✅ | |||
Doğu Japonya | ✅ | |||||||
Orta Kuzey ABD | ✅ | ✅ | ✅ | |||||
Norveç Doğu | ✅ | ✅ | ||||||
Orta Güney ABD | ✅ | ✅ | ||||||
Güney Hindistan | ✅ | ✅ | ||||||
Orta İsveç | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Kuzey İsviçre | ✅ | ✅ | ✅ | |||||
Güney Birleşik Krallık | ✅ | ✅ | ✅ | ✅ | ||||
Batı ABD | ✅ | ✅ | ✅ |
**Bu yalnızca metin uygulamasıdır
Azure OpenAI kaynağınız başka bir bölgedeyse Verilerinizde Azure OpenAI'yi kullanamazsınız.