Share via


LUIS DevOps için Sürekli Tümleştirme ve Sürekli Teslim iş akışları

Önemli

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

Language Understanding (LUIS) uygulaması geliştiren yazılım mühendisleri kaynak denetimi, otomatik derlemeler, test ve sürüm yönetimiyle ilgili DevOps uygulamalarını uygulayabilir. Bu makalede, LUIS için otomatik derlemeleri uygulamaya yönelik kavramlar açıklanmaktadır.

LUIS için otomasyon iş akışları oluşturma

CI workflows

Kaynak kod yönetimi (SCM) sisteminizde, otomatik derleme işlem hatlarını aşağıdaki olaylarda çalışacak şekilde yapılandırın:

  1. Çekme isteği (PR) tetiklendiğinde pr iş akışı tetikleniyor. Bu iş akışı, güncelleştirmeler ana dalda birleştirilmeden önce çekme isteğinin içeriğini doğrular.
  2. Güncelleştirmeler ana dala gönderildiğinde tetiklenen CI/CD iş akışı , örneğin çekme isteğinden yapılan değişiklikler birleştirildikten sonra tetiklenir. Bu iş akışı, ana daldaki tüm güncelleştirmelerin kalitesini güvence altına alır.

CI/CD iş akışı iki tamamlayıcı geliştirme işlemini birleştirir:

  • Sürekli Tümleştirme (CI), paylaşılan bir depoda kodu sık sık işlemenin ve bu depo üzerinde otomatik bir derleme gerçekleştirmenin mühendislik uygulamasıdır. Otomatik test yaklaşımıyla eşlenen sürekli tümleştirme, her güncelleştirme için LUDown kaynağının hala geçerli olduğunu ve bir LUIS uygulamasına içeri aktarılabildiğini doğrulamamıza olanak tanır, ancak aynı zamanda eğitilen uygulamanın çözümünüz için gerekli amaçları ve varlıkları tanıyabildiğini doğrulayan bir test grubundan geçer.

  • Sürekli Teslim (CD), uygulamayı daha ayrıntılı test yapabileceğiniz bir ortama otomatik olarak dağıtmak için Sürekli Tümleştirme kavramını daha da ileri götürür. CD, değişikliklerimizden kaynaklanan öngörülemeyen sorunlar hakkında mümkün olan en kısa sürede erken bilgi edinmemize ve ayrıca test kapsamımızdaki boşluklar hakkında bilgi edinmemize olanak tanır.

Sürekli tümleştirmenin ve sürekli teslimin amacı, "ana her zaman sevk edilebilir" olmasını sağlamaktır. Bir LUIS uygulaması için bu, gerekirse ana dal LUIS uygulamasından herhangi bir sürümü alıp üretime gönderebileceğimiz anlamına gelir.

LUIS için otomasyon iş akışları oluşturmaya yönelik araçlar

İpucu

Luis DevOps şablon deposunda DevOps uygulamak için eksiksiz bir çözüm bulabilirsiniz.

Derleme otomasyonu iş akışları oluşturmak için kullanılabilecek farklı derleme otomasyonu teknolojileri vardır. Bunların tümü, derleme sunucusunda yürütülebilmeleri için komut satırı arabirimi (CLI) veya REST çağrıları kullanarak adımları betik olarak yazmanızı gerektirir.

LUIS için otomasyon iş akışları oluşturmak için aşağıdaki araçları kullanın:

Çekme isteği iş akışı

Belirtildiği gibi, bu iş akışını, bir geliştirici bir özellik dalından ana dala birleştirilecek değişiklikler önermek üzere çekme isteğini yükselttiğinde çalışacak şekilde yapılandıracaksınız. Bunun amacı, pr'deki değişikliklerin ana dal ile birleştirilmeden önce kalitesini doğrulamaktır.

Bu iş akışı şu şekilde olmalıdır:

  • Kaynağı çekme isteğine .lu aktararak geçici bir LUIS uygulaması oluşturun.
  • LUIS uygulaması sürümünü eğitin ve yayımlayın.
  • Buna karşı tüm birim testlerini çalıştırın.
  • Tüm testler geçerse iş akışını geçirin, aksi takdirde başarısız olur.
  • Geçici uygulamayı temizleyin ve silin.

SCM'niz tarafından destekleniyorsa, çekme isteği tamamlanmadan önce bu iş akışının başarıyla tamamlanması için dal koruma kurallarını yapılandırın.

Ana dal CI/CD iş akışı

Çekme isteğindeki güncelleştirmeler ana dalda birleştirildikten sonra bu iş akışını çalışacak şekilde yapılandırın. Amacı, güncelleştirmeleri test ederek ana dalınızın kalite çıtasını yüksek tutmaktır. Güncelleştirmeler kalite çıtasını karşılıyorsa, bu iş akışı yeni LUIS uygulama sürümünü daha ayrıntılı test yapabileceğiniz bir ortama dağıtır.

Bu iş akışı şu şekilde olmalıdır:

  • Güncelleştirilmiş kaynak kodunu kullanarak birincil LUIS uygulamanızda (ana dal için koruduğunuz uygulama) yeni bir sürüm oluşturun.

  • LUIS uygulaması sürümünü eğitin ve yayımlayın.

    Not

    Testleri otomatik derleme iş akışında çalıştırma bölümünde açıklandığı gibi, NLU gibi araçların çalışması için LUIS uygulama sürümünü test altında yayımlamanız gerekir. DevOps buna erişebilir. LUIS, luis uygulaması için hazırlama ve üretim olmak üzere yalnızca iki adlandırılmış yayın yuvasını destekler, ancak bir sürümü doğrudan yayımlayabilir ve sürüme göre sorgulayabilirsiniz. Adlandırılmış yayımlama yuvalarını kullanmakla sınırlı kalmamak için otomasyon iş akışlarınızda doğrudan sürüm yayımlamayı kullanın.

  • Tüm birim testlerini çalıştırın.

  • İsteğe bağlı olarak, LUIS uygulama sürümünün kalitesini ve doğruluğunu ölçmek ve bunu temel bir değerle karşılaştırmak için toplu iş testleri çalıştırın.

  • Testler başarıyla tamamlanırsa:

    • Depodaki kaynağı etiketleyin.
    • Daha fazla test için LUIS uygulaması sürümünü ortamlara dağıtmak için Sürekli Teslim (CD) işini çalıştırın.

Sürekli teslim (CD)

CI/CD iş akışındaki CD işi, derleme ve otomatik birim testlerinin başarılı olması için koşullu olarak çalışır. Görevi, LUIS uygulamasını daha fazla test yapabileceğiniz bir ortama otomatik olarak dağıtmaktır.

LUIS uygulamanızın en iyi şekilde nasıl dağıtılacağı konusunda önerilen bir çözüm yoktur ve projenize uygun işlemi uygulamanız gerekir. LUIS DevOps şablon deposu, bunun için yeni LUIS uygulama sürümünü üretim yayımlama yuvasında yayımlamak için basit bir çözüm uygular. Bu, basit bir kurulum için uygundur. Ancak geliştirme, hazırlama ve UAT gibi farklı üretim ortamlarını aynı anda desteklemeniz gerekiyorsa uygulama başına iki adlandırılmış yayımlama yuvası sınırı yetersiz kalır.

Uygulama sürümünü dağıtmaya yönelik diğer seçenekler şunlardır:

  • Uygulama sürümünü doğrudan sürüm uç noktasında yayımlanmış olarak bırakın ve aşağı akış üretim ortamlarını gerektiği gibi doğrudan sürüm uç noktasıyla yapılandırmaya yönelik bir işlem uygulayın.
  • Her üretim ortamı için farklı LUIS uygulamaları koruyun ve hedef üretim ortamı için LUIS uygulamasında yeni bir sürüme aktarmak .lu , eğitmek ve yayımlamak için otomasyon adımları yazın.
  • Test edilen LUIS uygulama sürümünü bir LUIS docker kapsayıcısına aktarın ve LUIS kapsayıcısını Azure Container örneklerine dağıtın.

Sürüm yönetimi

Genellikle yalnızca geliştirme ve hazırlama gibi üretim dışı ortamlarınıza sürekli teslim yapmanızı öneririz. Çoğu ekip, üretim ortamına dağıtım için el ile gözden geçirme ve onay süreci gerektirir. Üretim dağıtımı için, geliştirme ekibindeki önemli kişiler destek için kullanılabilir olduğunda veya düşük trafikli dönemlerde bunun gerçekleştiğinden emin olmak isteyebilirsiniz.

GitHub Actions kullanarak LUIS uygulama geliştirmeye DevOps uygulama

LUIS için DevOps ve yazılım mühendisliği en iyi yöntemlerini uygulayan eksiksiz bir çözüm için LUIS DevOps şablon deposuna gidin. Kendi projeniz için LUIS ile kaynak denetimi, otomatik derlemeler, test ve yayın yönetimi sağlayan CI/CD iş akışları ve uygulamaları için yerleşik destekle kendi deponuzu oluşturmak için bu şablon deposunu kullanabilirsiniz.

LUIS DevOps şablon deposu şu adımların nasıl yapılacağını göstermektedir:

  • Şablon deposunu kopyalama - Şablonu kendi GitHub deponuza kopyalayın.
  • LUIS kaynaklarını yapılandırma - Azure'da sürekli tümleştirme iş akışları tarafından kullanılacak LUIS yazma ve tahmin kaynaklarını oluşturun.
  • CI/CD iş akışlarını yapılandırma - CI/CD iş akışları için parametreleri yapılandırın ve bunları GitHub Gizli Dizilerinde depolayın.
  • "Geliştirme iç döngüsü" adımlarını gösterir- Geliştirici, geliştirme dalında çalışırken örnek bir LUIS uygulamasında güncelleştirmeler yapar, güncelleştirmeleri test eder ve ardından değişiklik önermek ve gözden geçirme onayı almak için bir çekme isteği oluşturur.
  • CI/CD iş akışlarını yürütme - GitHub Actions kullanarak bir LUIS uygulaması derlemek ve test etmek için sürekli tümleştirme iş akışları yürütebilirsiniz.
  • Otomatik test gerçekleştirme - Uygulamanın kalitesini değerlendirmek için bir LUIS uygulaması için otomatik toplu test gerçekleştirin.
  • LUIS uygulamasını dağıtma - LUIS uygulamasını yayımlamak için sürekli teslim (CD) işi yürütür.
  • Depoyu kendi projenizle kullanma - Deponun kendi LUIS uygulamanızla nasıl kullanılacağını açıklar.

Sonraki adımlar