Amazon Lex'i uygulamalardaki konuşma arayüzlerini tasarlamak, oluşturmak, test etmek ve dağıtmak için gelişmiş doğal dil modellerine sahip, tam olarak yönetilen bir yapay zeka (AI) hizmetidir. Kullanıcı girişini anlamak için gelişmiş derin öğrenme teknolojilerini kullanır ve geliştiricilerin kullanıcılarla doğal dilde etkileşime girebilecek sohbet robotları, sanal asistanlar ve diğer uygulamaları oluşturmasına olanak tanır.
Amazon Lex botlarınızı kullanarak yönetme AWS CloudFormation Botu ve onun bağlı olduğu tüm AWS kaynaklarını tanımlayan şablonlar oluşturmanıza olanak tanır. AWS CloudFormation bu kaynakları sizin adınıza sağlayıp yapılandırarak botları yeni ortamlara dağıtırken insan hatası riskini ortadan kaldırır. CloudFormation'ı kullanmanın faydaları şunlardır:
- Tutarlılık – CloudFormation şablonu, Amazon Lex botuyla ilişkili kaynakları dağıtmak ve yönetmek için daha tutarlı ve otomatik bir yol sağlar.
- Sürüm kontrolü – AWS CloudFormation ile CloudFormation şablonlarınızı yönetmek için Git gibi sürüm kontrol sistemlerini kullanabilirsiniz. Bu, botunuzun farklı sürümlerini korumanıza ve gerekirse önceki sürümlere geri dönmenize olanak tanır.
- Reus yeteneği – CloudFormation şablonlarını geliştirme, hazırlama ve üretim gibi birden çok ortamda yeniden kullanabilirsiniz. Bu, aynı botun farklı ortamlarda tanımlanmasında zaman ve emekten tasarruf sağlar.
- Genişletilebilirlik – Amazon Lex botunuzun karmaşıklığı arttıkça onu yönetmek AWS Yönetim Konsolu daha zorlu hale geliyor. AWS CloudFormation, bot tanımını ve kaynaklarını yönetmeye yönelik daha akıcı ve etkili bir yaklaşıma olanak tanır.
- Otomasyon – CloudFormation şablonunu kullanmak dağıtım sürecini otomatikleştirmenize olanak tanır. Aşağıdaki gibi AWS hizmetlerini kullanabilirsiniz: AWS Kod Ardışık Düzeni ve AWS Kod Oluşturma Amazon Lex botunuzu otomatik olarak oluşturmak, test etmek ve dağıtmak için.
Bu yazıda size Amazon Lex V2 botu için CloudFormation şablonu oluşturma adımlarında rehberlik edeceğiz.
Çözüme genel bakış
biz seçtik Kitap Gezisi bot'u bu alıştırma için başlangıç noktamız olarak seçiyoruz. Amaçları, yuvaları ve diğer gerekli bileşenleri tanımlamak da dahil olmak üzere sıfırdan yeni bir bot oluşturmak için bir CloudFormation şablonu kullanıyoruz. Ayrıca sürüm kontrolü, takma adlar, entegrasyon gibi konuları da araştırıyoruz. AWS Lambda işlevler, koşullu dallar oluşturma ve günlüğe kaydetmeyi etkinleştirme.
Önkoşullar
Aşağıdaki ön koşullara sahip olmalısınız:
- An AWS hesabı CloudFormation şablonu oluşturmak ve dağıtmak için
- Gerekli AWS Kimlik ve Erişim Yönetimi (BEN) izinleri AWS CloudFormation'u ve şablonda kullanılan kaynakları dağıtmak için
- Amazon Lex, Lambda işlevleri ve ilgili hizmetler hakkında temel bilgi
- CloudFormation şablonlarını oluşturma ve dağıtmaya ilişkin temel bilgiler
Bir IAM rolü oluşturma
Başlamak için botun kullanacağı bir IAM rolü oluşturmanız gerekir. Bunu bir CloudFormation şablonunu başlatarak ve IAM rolünü kaynak olarak ekleyerek başarabilirsiniz. Rolü oluşturmak için aşağıdaki şablonu kullanabilirsiniz. Eğer sen örnek şablonu indir ve dağıttığınızda, bir IAM rolünün oluşturulduğunu görmelisiniz. Bu gönderiyi incelerken şablon örnekleri veriyoruz ve ilerledikçe bunları birleştiriyoruz.
Amazon Lex botunu yapılandırma
Daha sonra bot tanımını eklemeniz gerekir. Amazon Lex bot tanımına ait YAML şablonu aşağıdadır; gerekli bileşenleri tek tek oluşturursunuz:
Herhangi bir amaç gütmeden sadece bot tanımını içeren bir bot oluşturmak için aşağıdaki şablonu kullanabilirsiniz. Burada botun adını, daha önce oluşturduğunuz rolün ARN'sini, veri gizliliği ayarlarını ve daha fazlasını belirtirsiniz:
Yapabilirsin güncellenen şablonu indir. Güncellenen şablonu dağıtmak, hem rolü hem de bot tanımını oluşturmanıza olanak tanır. Şunu unutmayın: yığını güncelleme önceki adımda oluşturduğunuz
Son adım, tanımlamayı gerektirir BotLocales
Botun işlevselliğinin çoğunluğunu oluşturanlar. Bu, örneğin şunları içerir: Intents
ve Slot types
. YAML şablonu aşağıdadır:
Bu durumda, BookHotel
amaç, oda türleri için özel bir yuva türü gerektirir. Sen ayarla LocaleId
, sonra VoiceSettings
. Daha sonra şunu eklersiniz: SlotTypes
ve bunlara karşılık gelen değerler.
Bir sonraki adım, aşağıdakileri tanımlamaktır: Intents
, ilk niyetten başlayarak, BookHotel
, ifadelerin, aralıkların ve alan önceliklerinin eklenmesini içerir. Bu düğümlerin ayrıntıları sağlanan şablonda gösterilmiştir. Son olarak ikinci amacı eklersiniz; FallbackIntent
. Aşağıdaki koda bakın:
Yapabilirsin CloudFormation şablonunu indirin Şu ana kadar yapılan işler için. Önden buyurun yığınınızı güncelleyin Bu şablonla işlevsel bir bot konuşlandırılacaktır. Amazon Lex konsolunda botun taslak sürümünün ve varsayılan takma adın bulunduğunu doğrulayabilirsiniz. TestBotAlias
yaratıldı.
Yeni bir bot sürümü ve takma ad oluşturun
Amazon Lex yayınlamayı destekliyor sürümler istemci uygulamalarınızın uygulanmasını kontrol edebilmeniz için botların, amaçların ve yuva türlerinin seçimi. Sürüm, geliştirme, beta dağıtımı ve üretim gibi iş akışınızın farklı bölümlerinde kullanmak üzere yayınlayabileceğiniz, bot tanımınızın numaralandırılmış anlık görüntüsüdür. Amazon Lex botları da destekliyor takma adları. Takma ad, bir botun belirli bir sürümünün işaretçisidir. Bir takma adla istemci uygulamalarınızın sürümünü güncelleyebilirsiniz. Pratik senaryolarda, mavi/yeşil dağıtımlar ve geliştirme ve üretim ortamları gibi ortama özgü yapılandırmaların yönetilmesi için bot takma adları kullanılır.
Örnek vermek gerekirse, botunuzun 1. sürümüne bir takma ad işaret ettiğinizi varsayalım. Botu güncelleme zamanı geldiğinde sürüm 2'yi yayınlayabilir ve takma adı yeni sürümü işaret edecek şekilde değiştirebilirsiniz. Uygulamalarınız belirli bir sürüm yerine takma adı kullandığından, tüm istemciler yeni işlevleri güncelleme gerektirmeden alır.
CloudFormation şablonunu değiştirip dağıtımı başlattığınızda, değişikliklerin öncelikle test amaçlı olarak taslak sürümde uygulandığını unutmayın. Test aşamanızı tamamladıktan sonra, şimdiye kadar yaptığınız değişiklikleri sonlandırmak için yeni bir sürüm oluşturabilirsiniz.
Daha sonra taslağınızı temel alarak yeni bir bot sürümü oluşturursunuz, yeni bir takma ad ayarlarsınız ve sürümü bu takma ada bağlarsınız. Şablonunuza eklenecek iki yeni kaynak aşağıda verilmiştir:
Yapabilirsin şablonun yeni sürümünü indirin ve yığınınızı güncelleyerek dağıtın. Amazon Lex konsolunda yeni bir sürümün oluşturulduğunu ve adı verilen yeni bir takma adla ilişkilendirildiğini görebilirsiniz. BookHotelDemoAlias
.
Amazon Lex botunun yeni bir sürümünü oluşturduğunuzda, genellikle sürüm numarasını 1'den başlayarak sırayla artırır. Belirli bir sürümü ayırt etmek için açıklamasına başvurabilirsiniz.
Lambda işlevi ekleme
Botunuz için değerleri başlatmak veya kullanıcı girişini doğrulamak için botunuza kod kancası olarak bir Lambda işlevi ekleyebilirsiniz. Benzer şekilde, yerine getirmek için bir Lambda işlevini de kullanabilirsiniz; örneğin, veritabanlarına veri yazmak veya toplanan bilgileri kaydeden API'leri çağırmak. Daha fazla bilgi için bkz. AWS Lambda işlevleriyle özel mantığı etkinleştirme.
CloudFormation şablonuna Lambda işlevi için yeni bir kaynak ekleyelim. Genellikle CloudFormation şablonlarına kod yerleştirilmesi tavsiye edilmese de burada bunu yalnızca demo dağıtımını daha az karmaşık hale getirmek amacıyla yapıyoruz. Aşağıdaki koda bakın:
Bu Lambda işlevini yerine getirmek amacıyla kullanmak için amacınızdaki kod kancası ayarlarını etkinleştirin:
Botunuzda değişiklik yaptığınız için, adlı yeni bir kaynak ekleyerek botun yeni bir sürümünü oluşturabilirsiniz. BookHotelVersionWithLambda
şablonda:
Lambda işlevi bir bot takma adıyla ilişkilidir. Amazon Lex V2, dil ve bot takma adı başına bir Lambda işlevi kullanabilir. Bu nedenle Lambda işlevi kaynağını eklemek için şablondaki takma adınızı güncellemeniz gerekir. Bunu şurada yapabilirsiniz: BotAliasLocalSettings
bölüm. Ayrıca takma adı, oluşturduğunuz yeni sürüme yönlendirmeniz gerekir. Aşağıdaki kod değiştirilmiş takma ad yapılandırmasıdır:
Şu ana kadar Lambda işlevini yalnızca takma adla ilişkilendirdiniz. Ancak takma adın Lambda işlevini çağırmasına izin vermek için izin vermeniz gerekir. Aşağıdaki kodda, Amazon Lex için Lambda çağırma iznini eklersiniz ve kaynak ARN olarak ARN takma adını belirtirsiniz:
Yapabilirsin en son sürümü indir şablonun. Yığınınızı bu sürümle güncelledikten sonra Lambda işleviyle entegre bir Amazon Lex botuna sahip olacaksınız.
Koşullu dallar
Şimdi Amazon Lex botunun koşullu dallanma özelliğini inceleyelim ve önümüzdeki hafta Seattle'da beş geceden fazla rezervasyon yapılmasına izin verilmeyen bir senaryoyu ele alalım. İş gereği, kullanıcının Seattle'da beş geceden fazla rezervasyon yaptırmaya çalışması durumunda görüşmenin uygun bir mesajla sona ermesi gerekir. Bunun koşullu dalı CloudFormation şablonunda şu şekilde temsil edilir: SlotCaptureSetting
:
Bot tanımını değiştirdiğiniz için şablonda yeni bir sürüm oluşturmanız ve bunu takma adla bağlamanız gerekir. Bu geçici bir değişiklik çünkü işletme yakında Seattle'da büyük rezervasyonlara izin vermeyi planlıyor. Şablona eklediğiniz iki yeni kaynak şunlardır:
Yapabilirsin güncellenen şablonu indir. Yığınınızı bu şablon sürümüyle güncelledikten sonra takma ad, koşullu dallanma özelliğini içeren sürüme yönlendirilecektir. Bu değişikliği geri almak için takma adı güncelleyerek önceki sürüme geri dönebilirsiniz.
Kayıtlar
Amazon Lex botunuz için günlükleri de etkinleştirebilirsiniz. Bunu yapmak için botun rolünü yazma izinleri verecek şekilde güncellemelisiniz Amazon Bulut İzleme kütükler. Role CloudWatch ilkesi eklemenin bir örneği aşağıdadır:
Tutarlı ve öngörülebilir davranış sağlamak için CloudFormation şablonlarında kaynak adlarını ve özelliklerini tanımlarken mümkün olduğunca spesifik olmanız gerekir. Bunun nedeni, CloudFormation şablonlarında joker karakterin (*) kullanımının potansiyel güvenlik riskleri oluşturabilmesi ve istenmeyen sonuçlara yol açabilmesidir. Bu nedenle, joker karakterlerin kullanılmasından kaçınılması ve bunun yerine mümkün olan her yerde açık değerlerin kullanılması önerilir.
Daha sonra, günlüklerinizi bu gruba yönlendirmek için aşağıdaki kodda gösterildiği gibi bir CloudWatch günlük grubu kaynağı oluşturursunuz:
Son olarak, konuşma günlüğü ayarlarını etkinleştirmek için takma adınızı güncellersiniz:
Yığını bu şablonla güncellediğinizde botunuz için konuşma günlüklerini etkinleştirirsiniz. Bot kaynağınızda herhangi bir değişiklik olmadığından bu adımda yeni bir sürüm oluşturulmaz. Yapabilirsiniz şablonun en son sürümünü indirin.
Temizlemek
Gelecekte ücretlendirme yapılmasını önlemek için oluşturduğunuz CloudFormation yığınını silin.
Sonuç
Bu yazıda, Amazon Lex V2 botu için CloudFormation şablonu oluşturmaya yönelik adım adım süreci ele aldık. Başlangıçta temel bir bot konuşlandırdık, ardından takma adların ve sürümlerin potansiyelini ve bunların şablonlarla nasıl verimli bir şekilde kullanılacağını araştırdık. Daha sonra Lambda işlevini Amazon Lex V2 bot'a nasıl entegre edeceğimizi öğrendik ve iş gereksinimlerini karşılamak için botun konuşma akışında koşullu dallanmayı uyguladık. Son olarak CloudWatch günlük grubu kaynağı oluşturarak ve botun rolünü gerekli izinlerle güncelleyerek günlük kaydı özellikleri ekledik.
Şablon, gerektiğinde değişiklikleri geri alma yeteneğiyle birlikte botun doğrudan konuşlandırılmasına ve yönetilmesine olanak tanır. Genel olarak CloudFormation şablonu, bir Amazon Lex V2 botunu yönetmek ve optimize etmek için kullanışlıdır.
Bir sonraki adım olarak keşfedebilirsiniz örnek Amazon Lex botları ve bunları CloudFormation şablonlarına dönüştürmek için bu yazıda tartışılan teknikleri uygulayın. Bu uygulamalı uygulama, Amazon Lex V2 botlarını kod olarak altyapı aracılığıyla yönetme konusundaki anlayışınızı güçlendirecektir.
Yazarlar Hakkında
Thomas Rindfuss Amazon Lex ekibinde Kıdemli Çözüm Mimarıdır. Müşteri deneyimini iyileştiren ve benimsemeyi kolaylaştıran Language AI hizmetleri için yeni teknik özellikler ve çözümler icat eder, geliştirir, prototipler ve müjdeler.
Rijeesh Akkambeth Chatoth AWS'de Profesyonel Hizmetler Danışmanıdır. Müşterilerin arzu ettikleri işi başarmalarına yardımcı olur
Amazon Connect, Amazon Lex ve GenAI özelliklerinden yararlanarak İletişim Merkezi alanında sonuçlar elde edin.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoData.Network Dikey Üretken Yapay Zeka. Kendine güç ver. Buradan Erişin.
- PlatoAiStream. Web3 Zekası. Bilgi Genişletildi. Buradan Erişin.
- PlatoESG. karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- PlatoSağlık. Biyoteknoloji ve Klinik Araştırmalar Zekası. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/manage-your-amazon-lex-bot-via-aws-cloudformation-templates/