LUIS için DevOps uygulamaları

Önemli

LUIS 1 Ekim 2025'te kullanımdan kaldırılacak ve 1 Nisan 2023'den itibaren yeni LUIS kaynakları oluşturamayacaksınız. Sürekli ürün desteği ve çok dilli özelliklerden yararlanmak için LUIS uygulamalarınızıkonuşma dili anlayışına geçirmenizi öneririz.

bir Language Understanding (LUIS) uygulaması geliştiren yazılım mühendisleri, bu yönergeleri izleyerek kaynak denetimi, otomatik derlemeler, test ve sürüm yönetimi hakkında DevOps uygulamaları uygulayabilir.

LUIS için kaynak denetimi ve dal stratejileri

DevOps'un başarısının bağlı olduğu temel faktörlerden biri kaynak denetimidir. Kaynak denetim sistemi, geliştiricilerin kod üzerinde işbirliği yapmasına ve değişiklikleri izlemesine olanak tanır. Dalların kullanılması, geliştiricilerin kod tabanının farklı sürümleri arasında geçiş yapmasını ve ekibin diğer üyelerinden bağımsız olarak çalışmasını sağlar. Geliştiriciler bir daldan diğerine güncelleştirme önermek için bir çekme isteği (PR) yükselttiğinde veya değişiklikler birleştirildiğinde, bunlar otomatik derlemelerin kodu derlemesi ve sürekli test etme tetikleyicisi olabilir.

Bu belgede açıklanan kavramları ve yönergeleri kullanarak, kaynak denetim sistemindeki değişiklikleri izlerken bir LUIS uygulaması geliştirebilir ve şu yazılım mühendisliği en iyi yöntemlerini izleyebilirsiniz:

  • Kaynak Denetimi

    • LUIS uygulamanızın kaynak kodu insan tarafından okunabilir bir biçimdedir.
    • Model, kaynaktan tekrarlanabilir bir şekilde oluşturulabilir.
    • Kaynak kodu bir kaynak kod deposu tarafından yönetilebilir.
    • Kimlik bilgileri ve anahtarlar gibi gizli diziler hiçbir zaman kaynak kodunda depolanmaz.
  • Dallanma ve Birleştirme

    • Geliştiriciler bağımsız dallardan çalışabilir.
    • Geliştiriciler aynı anda birden çok dalda çalışabilir.
    • Yeniden temel oluşturma veya birleştirme yoluyla bir LUIS uygulamasındaki değişiklikleri bir daldan diğerine tümleştirebilirsiniz.
    • Geliştiriciler bir çekme isteğini üst dalla birleştirebilir.
  • Sürüm Oluşturma

    • Büyük bir uygulamadaki her bileşenin bağımsız olarak sürümü oluşturularak geliştiricilerin yalnızca sürüm numarasına bakarak hataya neden olan değişiklikleri veya güncelleştirmeleri algılamasına olanak tanıyın.
  • Kod İncelemeleri

    • Çekme isteğindeki değişiklikler, çekme isteğini kabul etmeden önce gözden geçirilebilen okunabilir kaynak kodu olarak sunulur.

Kaynak denetimi

Kaynak kodu yönetim sisteminde bir LUIS uygulamasının Uygulama şeması tanımını korumak için uygulamanın LUDown biçimi (.lu) gösterimini kullanın. .lu biçimlendirme tercih .json edilir çünkü insanlar tarafından okunabilir olduğundan PR'lerde değişiklik yapmayı ve gözden geçirmeyi kolaylaştırır.

LUDown biçimini kullanarak luis uygulamasını kaydetme

Bir LUIS uygulamasını .lu biçiminde kaydetmek ve kaynak denetimi altına yerleştirmek için:

  • YA DA: Uygulama sürümünüLUIS portalından olduğu gibi .lu dışarı aktarın ve kaynak denetimi deponuza ekleyin

  • VEYA: Bir LUIS uygulaması için dosya oluşturmak .lu ve bunu kaynak denetim deponuza eklemek için metin düzenleyicisi kullanma

İpucu

Luis uygulamasının JSON dışarı aktarma işlemiyle çalışıyorsanız , bunu LUDown'a dönüştürebilirsiniz. Amaçların --sort ve konuşmaların alfabetik olarak sıralandığından emin olmak için seçeneğini kullanın.
öğesinin . LUIS portalında yerleşik olarak bulunan LU dışarı aktarma özelliği çıkışı zaten sıralar.

LUIS uygulamasını kaynaktan oluşturma

Bir LUIS uygulaması için kaynaktan derlemek , kaynağı içeri aktararak .lu yeni bir LUIS uygulaması sürümü oluşturmak , sürümü eğitmek ve yayımlamak anlamına gelir. Bunu LUIS portalından veya komut satırından yapabilirsiniz:

Kaynak denetimi altında tutulacak dosyalar

LUIS uygulamanız için aşağıdaki dosya türleri kaynak denetimi altında tutulmalıdır:

Kimlik bilgileri ve anahtarlar iade edilmedi

Yetkilendirilmemiş personelin görebileceği deponuzda iade ettiğiniz dosyalara anahtarlar veya benzer gizli değerler eklemeyin. İade edilmesini engellemeniz gereken anahtarlar ve diğer değerler şunlardır:

  • LUIS Yazma ve Tahmin anahtarları
  • LUIS Yazma ve Tahmin uç noktaları
  • Azure kaynak anahtarları
  • Otomasyon kimlik doğrulaması için kullanılan Bir Azure hizmet sorumlusunun belirteci gibi erişim belirteçleri

Gizli dizileri güvenli bir şekilde yönetme stratejileri

Gizli dizileri güvenli bir şekilde yönetme stratejileri şunlardır:

  • Git sürüm denetimi kullanıyorsanız, çalışma zamanı gizli dizilerini yerel bir dosyada depolayabilir ve dosya adını bir .gitignore dosyasıyla eşleştirecek bir desen ekleyerek dosyanın iade edilmesini önleyebilirsiniz
  • Bir otomasyon iş akışında, gizli dizileri bu otomasyon teknolojisi tarafından sunulan parametre yapılandırmasında güvenli bir şekilde depolayabilirsiniz. Örneğin, GitHub Actions kullanıyorsanız gizli dizileri GitHub gizli dizilerinde güvenli bir şekilde depolayabilirsiniz.

Dallandırma ve birleştirme

Git gibi dağıtılmış sürüm denetim sistemleri, ekip üyelerinin kod değişikliklerini başkalarıyla paylaşılan geliştirme dalları aracılığıyla yayımlama, paylaşma, gözden geçirme ve yineleme konusunda esneklik sağlar. Ekibinize uygun bir Git dallanma stratejisi benimseyin.

Hangi dallanma stratejisini benimsediyseniz benimseyin, ekip üyelerinin diğer dallarda devam eden çalışmalardan bağımsız olarak bir özellik dalı içindeki çözüm üzerinde çalışabilmeleridir.

LUIS projesiyle dallarda bağımsız çalışmayı desteklemek için:

  • Ana dalın kendi LUIS uygulaması vardır. Bu uygulama, projeniz için çözümünüzün geçerli durumunu temsil eder ve geçerli etkin sürümü her zaman ana daldaki kaynakla .lu eşlenmelidir. Bu uygulamanın üretim gibi ortamlara .lu herhangi bir zamanda dağıtılabilmesi için bu uygulamanın kaynağındaki tüm güncelleştirmeler gözden geçirilmeli ve test edilmelidir. güncelleştirmeleri .lu bir özellik dalından main ile birleştirildiğinde, LUIS uygulamasında yeni bir sürüm oluşturmanız ve sürüm numarasını çarpmanız gerekir.

  • Her özellik dalı kendi LUIS uygulamasının örneğini kullanmalıdır. Geliştiriciler, diğer dallarda çalışan geliştiricileri etkileme riski olmadan bu uygulamayla bir özellik dalında çalışır. Bu 'geliştirme dalı' uygulaması, özellik dalı silindiğinde silinmesi gereken çalışan bir kopyadır.

Git özellik dalı

Geliştiriciler bağımsız dallardan çalışabilir

Geliştiriciler, bir LUIS uygulamasındaki güncelleştirmeler üzerinde diğer dallardan bağımsız olarak şunları yaparak çalışabilir:

  1. Ana daldan bir özellik dalı oluşturma (genellikle ana veya geliştirme olmak üzere dal stratejinize bağlı olarak).

  2. Yalnızca özellik dalındaki çalışmayı desteklemek için LUIS portalında yeni bir LUISuygulaması ("geliştirme dalı uygulaması") oluşturun.

    • .lu Projede daha önce başka bir dalda yapılan çalışmadan sonra kaydedildiğinden çözümünüzün kaynağı zaten dalınızda varsa, dosyayı içeri aktararak .lu geliştirme dalı LUIS uygulamanızı oluşturun.

    • Yeni bir proje üzerinde çalışmaya başlıyorsanız, depoda ana LUIS uygulamanızın .lu kaynağına henüz sahip olmazsınız. Özellik dalı çalışmanızı tamamladığınızda geliştirme dalınızı portaldan dışarı aktararak dosyayı oluşturacak .lu ve pr'nizin bir parçası olarak göndereceksiniz.

  3. Gerekli değişiklikleri uygulamak için geliştirme dalınızın etkin sürümünde çalışın. Tüm özellik dalı çalışmaları için geliştirme dalınızın yalnızca tek bir sürümünde çalışmanızı öneririz. Geliştirme dalı uygulamanızda birden fazla sürüm oluşturuyorsanız, çekme isteğinizi oluştururken iade etmek istediğiniz değişiklikleri içeren sürümü izlemeye dikkat edin.

  4. Güncelleştirmeleri test etme - Geliştirme dal uygulamanızı test etme hakkında ayrıntılı bilgi için bkz. LUIS DevOps için test etme.

  5. Geliştirme dalınızın etkin sürümünü sürümler listesinden olduğu gibi .lu dışarı aktarın.

  6. Güncelleştirmelerinizi denetleyin ve güncelleştirmelerinizin eş gözden geçirmesini davet edin. GitHub kullanıyorsanız bir çekme isteği oluşturursunuz.

  7. Değişiklikler onaylandığında, güncelleştirmeleri ana dalda birleştirin. Bu noktada, main içinde güncelleştirilmiş .lu öğesini kullanarak ana LUIS uygulamasının yeni bir sürümünü oluşturacaksınız. Sürüm adını ayarlama konusunda dikkat edilmesi gerekenler için bkz. Sürüm oluşturma .

  8. Özellik dalı silindiğinde, özellik dalı çalışması için oluşturduğunuz geliştirme dalı LUIS uygulamasını silmek iyi bir fikirdir.

Geliştiriciler aynı anda birden çok dalda çalışabilir

Geliştiriciler bağımsız dallardan çalışabilir bölümünde yukarıda açıklanan deseni izlerseniz, her özellik dalında benzersiz bir LUIS uygulaması kullanırsınız. Tek bir geliştirici, üzerinde çalışmakta olduğu dal için doğru geliştirme dalı LUIS uygulamasına geçtiği sürece birden çok dalda eşzamanlı olarak çalışabilir.

Yanlışlıkla yanlış uygulamada çalışma olasılığınız daha az olması için hem özellik dalı hem de özellik dalı çalışması için oluşturduğunuz geliştirme dalı LUIS uygulaması için aynı adı kullanmanızı öneririz.

Yukarıda belirtildiği gibi, kolaylık olması için her geliştirme dal uygulamasında tek bir sürümde çalışmanızı öneririz. Birden çok sürüm kullanıyorsanız, geliştirme dalı uygulamaları arasında geçiş yaptığınızda doğru sürümü etkinleştirmeye dikkat edin.

Birden çok geliştirici aynı dalda eşzamanlı olarak çalışabilir

Aynı özellik dalında çalışan birden çok geliştiriciyi aynı anda destekleyebilirsiniz:

  • Geliştiriciler aynı özellik dalını gözden geçirin ve işler normal şekilde devam ederken kendileri ve diğer geliştiriciler tarafından gönderilen gönderme ve çekme değişiklikleri.

  • Geliştiriciler bağımsız dallardan çalışabilir bölümünde yukarıda açıklanan deseni izlerseniz, bu dal geliştirmeyi desteklemek için benzersiz bir LUIS uygulaması kullanır. Bu 'geliştirme dalı' LUIS uygulaması, geliştirme ekibinin özellik dalında çalışmaya başlayan ilk üyesi tarafından oluşturulur.

  • Geliştirme dalı LUIS uygulamasına katkıda bulunan olarak ekip üyelerini ekleyin.

  • Özellik dalı çalışması tamamlandığında, geliştirme dalı LUIS uygulamasının etkin sürümünü sürümler listesinden dışarı .lu aktarın, güncelleştirilmiş .lu dosyayı depoya kaydedin ve değişiklikleri iade edip çekme isteğinde bulunun.

Yeniden temellendirme veya birleştirme ile değişiklikleri bir daldan diğerine ekleme

Ekibinizde başka bir dalda çalışan diğer geliştiriciler, kaynakta güncelleştirmeler .lu yapmış ve siz özellik dalınızı oluşturduktan sonra bunları ana dalla birleştirmiş olabilir. Özellik dalınız içinde kendi değişikliklerini yapmaya devam etmeden önce, değişiklikleri çalışma sürümünüzle birleştirmek isteyebilirsiniz. Bunu, herhangi bir kod varlığıyla aynı şekilde yeniden temel alarak veya main ile birleştirerek yapabilirsiniz. LUDown biçimindeki LUIS uygulaması okunabilir olduğundan standart birleştirme araçlarını kullanarak birleştirmeyi destekler.

LUIS uygulamanızı bir özellik dalında yeniden kullanıyorsanız şu ipuçlarını izleyin:

  • Yeniden temellendirmeden veya birleştirmeden önce uygulamanızı portaldan yeniden dışarı aktararak uygulamanızın kaynak yerel kopyasında .lu LUIS portalını kullanarak uyguladığınız tüm en son değişikliklerinizin bulunduğundan emin olun. Bu şekilde portalda yaptığınız ve henüz dışarı aktarmadığınız tüm değişikliklerin kaybolmadığından emin olabilirsiniz.

  • Birleştirme sırasında, birleştirme çakışmalarını çözmek için standart araçları kullanın.

  • Uygulamayı portala yeniden aktarmak için yeniden temellendikten veya birleştirildikten sonra, kendi değişikliklerinizi uygulamaya devam ettikçe güncelleştirilmiş uygulamayla çalışmanızı unutmayın.

PR'leri Birleştir

Çekme isteğiniz onaylandıktan sonra değişikliklerinizi ana dalınızla birleştirebilirsiniz. LUIS uygulamasının LUDown kaynağı için dikkat edilmesi gereken özel bir nokta yoktur: insan tarafından okunabilir olduğundan standart Birleştirme araçlarını kullanarak birleştirmeyi destekler. Tüm birleştirme çakışmaları diğer kaynak dosyalarla aynı şekilde çözülebilir.

Çekme isteğiniz birleştirildikten sonra temizlemeniz önerilir:

  • Deponuzdaki dalı silme

  • Özellik dalı çalışması için oluşturduğunuz 'dev branch' LUIS uygulamasını silin.

Uygulama kodu varlıklarıyla aynı şekilde, LUIS uygulama güncelleştirmelerine eşlik edecek birim testleri yazmanız gerekir. Test etmek için sürekli tümleştirme iş akışlarını kullanmanız gerekir:

  • Çekme isteği birleştirilmeden önce çekme isteğinde Güncelleştirmeler
  • Çekme isteği onaylandıktan ve değişiklikler main ile birleştirildikten sonra ana dal LUIS uygulaması.

LUIS DevOps testi hakkında daha fazla bilgi için bkz. LUIS için DevOps testi. İş akışlarını uygulama hakkında daha fazla ayrıntı için bkz. LUIS DevOps için otomasyon iş akışları.

Kod incelemeleri

LUDown biçimindeki bir LUIS uygulaması, gözden geçirme için uygun bir çekme isteğindeki değişikliklerin iletişimini destekleyen, okunabilir bir uygulamadır. Birim testi dosyaları da LUDown biçiminde yazılır ve çekme isteğinde kolayca gözden geçirilebilir.

Sürüm Oluşturma

Bir uygulama, Azure AI Bot Hizmeti, Soru-Cevap Oluşturma, Azure AI Konuşma Hizmeti ve daha birçok uygulamada çalışan bir bot gibi öğeleri içerebilen birden çok bileşenden oluşur. Gevşek bir şekilde bağlanmış uygulamaların hedefine ulaşmak için, bir uygulamanın her bileşeninin bağımsız olarak sürümlenmesi için sürüm denetimini kullanın ve geliştiricilerin hataya neden olan değişiklikleri veya güncelleştirmeleri yalnızca sürüm numarasına bakarak algılamasına olanak tanıyın. Luis uygulamanızı kendi deposunda tutarsanız diğer bileşenlerden bağımsız olarak sürüme almak daha kolaydır.

Ana dal için LUIS uygulamasında bir sürüm oluşturma şeması uygulanmalıdır. Bir LUIS uygulaması için güncelleştirmeleri .lu main ile birleştirdiğinizde, bu güncelleştirilmiş kaynağı ana dal için LUIS uygulamasında yeni bir sürüme aktaracaksınız.

Ana LUIS uygulaması sürümü için sayısal bir sürüm oluşturma şeması kullanmanız önerilir, örneğin:

major.minor[.build[.revision]]

Her güncelleştirme sürüm numarası son basamakta artırılır.

Luis uygulaması işlevselliğinde yapılan değişikliklerin kapsamını belirtmek için ana /ikincil sürüm kullanılabilir:

  • Ana Sürüm: Yeni Amaç veya Varlık desteği gibi önemli bir değişiklik
  • İkincil Sürüm: Önemli bir yeni eğitimden sonra olduğu gibi geriye dönük uyumlu küçük bir değişiklik
  • Derleme: İşlevsellik değişikliği yoktur, yalnızca farklı bir derlemedir.

Ana LUIS uygulamanızın en son düzeltmesinin sürüm numarasını belirledikten sonra, yeni uygulama sürümünü oluşturup test etmeniz ve kalite güvencesi veya Üretim gibi farklı derleme ortamlarında kullanılabilecek bir uç noktada yayımlamanız gerekir. Tüm bu adımları sürekli tümleştirme (CI) iş akışında otomatikleştirmeniz kesinlikle önerilir.

Bkz.

  • Bir LUIS uygulamasını test etmek ve yayınlamak için CI iş akışı uygulama hakkında ayrıntılı bilgi için otomasyon iş akışları.
  • LUIS uygulamanızı dağıtma hakkında bilgi için Release Management.

'Özellik dalı' LUIS uygulamasının sürümü oluşturma

Bir özellik dalında çalışmayı desteklemek için oluşturduğunuz bir 'geliştirme dalı' LUIS uygulamasıyla çalışırken, işiniz tamamlandığında uygulamanızı dışarı aktarırsınız ve güncelleştirilmiş 'lu olan dosyayı çekme isteğinize eklersiniz. Çekme isteği main ile birleştirildikten sonra deponuzdaki dal ve 'dev branch' LUIS uygulaması silinmelidir. Bu uygulama yalnızca özellik dalındaki çalışmayı desteklemek için mevcut olduğundan, bu uygulama içinde uygulamanız gereken belirli bir sürüm oluşturma şeması yoktur.

Çekme isteğinizdeki değişiklikleriniz main ile birleştirildiğinde, yani sürüm oluşturmanın uygulanması gerektiğinde, main'a yapılan tüm güncelleştirmeler bağımsız olarak sürümlendirilir.

Sonraki adımlar