AWS Türkçe Blog

Amazon Bedrock, Amazon Connect, Amazon Lex, LangChain ve WhatsApp ile yeni nesil bir sohbet asistanı oluşturun

Orijinal Makale: Link

Bu yazı LangChain’den Harrison Chase, Erick Friis ve Linda Ye ile ortak olarak yazılmıştır.

Üretken yapay zekanın önümüzdeki yıllarda kullanıcı deneyimlerinde devrim yaratması bekleniyor. Bu yolculukta önemli bir adım, müşterilerin dijital ortamda gezinmelerine yardımcı olmak için araçları akıllıca kullanan yapay zeka asistanlarının devreye alınmasını içeriyor. Bu makalede, bağlamsal bir AI asistanının nasıl kullanıma alınacağını gösteriyoruz. Amazon Bedrock Knowledge Bases, Amazon Lex ve Amazon Connect kullanılarak oluşturulan çözümümüz, WhatsApp’ı iletişim kanalı olarak kullanarak kullanıcılara tanıdık ve kolay bir arayüz sunuyor.

Amazon Bedrock Knowledge Bases, altyapı modellerine (foundation models – FM’ler) ve temsilcilere (agents) şirketinizin özel veri kaynaklarından bağlamsal bilgiler sağlayarak, Veri Almayla Artırılmış Üretim (Retrieval Augmented Generation – RAG) aracılığıyla daha alakalı, doğru ve özelleştirilmiş yanıtlar sunar. Ayrıca, üretken yapay zeka destekli uygulamalar geliştirmek isteyen kuruluşlar için güçlü bir çözüm sağlar. Bu özellik, Amazon Lex ve Amazon Connect ile doğrudan uyumluluğu sayesinde alana özgü bilginin diyalogsal yapay zekaya entegrasyonunu kolaylaştırır. Belge içeri aktarma, parçalara ayırma ve yerleştirmeyi otomatik hale getirerek, karmaşık vektör veritabanlarını veya özel erişim sistemlerini elle kurma ihtiyacını ortadan kaldırır ve geliştirme karmaşıklığını ve süresini önemli ölçüde azaltır.

Sonuç olarak, doğrulanmış verilere dayalı olması sayesinde FM yanıtlarının doğruluğu artar ve halüsinasyonlar azalır. Maliyet verimliliği, özelleştirilmiş bilgi yönetimi sistemlerinin bakımına kıyasla daha az geliştirme kaynağı ve daha düşük operasyonel maliyetlerle sağlanır. Çözümün ölçeklenebilirliği, AWS’in sunucusuz hizmetleri sayesinde artan veri hacimleri ve kullanıcı sorgularına hızla uyum sağlar. Ayrıca veri gizliliğini ve mevzuata uygunluğu korumak için AWS’nin güçlü güvenlik altyapısını kullanır. Bilgi tabanını sürekli güncelleme ve genişletme yeteneği sayesinde, yapay zeka uygulamaları en son bilgilerle güncel kalır. Kuruluşlar Amazon Bedrock Bilgi Tabanlarını seçerek katma değerli yapay zeka uygulamaları oluşturmaya odaklanabilirken AWS, bilgi yönetimi ve erişiminin karmaşıklıklarını üstlenerek daha az çabayla daha doğru ve yetenekli yapay zeka çözümlerinin daha hızlı dağıtılmasını sağlar.

Ön Koşullar

Bu çözümü uygulamak için aşağıdakilere ihtiyacınız var:

Çözüme genel bakış

Bu çözüm, yapay zeka asistanını oluşturmak ve dağıtmak için birkaç temel AWS yapay zeka servisini kullanır:

  • Amazon Bedrock – AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI ve Amazon gibi önde gelen yapay zeka şirketlerinden yüksek performanslı altyapı modellerini tek bir API aracılığıyla sunan, güvenlik, gizlilik ve sorumlu yapay zeka ile üretken yapay zeka uygulamaları oluşturmak için ihtiyaç duyduğunuz geniş yetenekler seti ile birlikte tam yönetilen bir hizmettir
  • Amazon Bedrock Knowledge Bases (Bilgi Tabanları) – Yapay zeka asistanına şirketin özel veri kaynaklarından bağlamsal bilgiler sağlar
  • Amazon OpenSearch Service – Amazon Bedrock Knowledge Bases tarafından doğrudan desteklenen vektör deposu olarak çalışır
  • Amazon Lex – Yapay zeka asistanı için görüşme arayüzünün oluşturulmasını sağlar, buna amaçların (intent) ve alanların (slot) tanımlanması da dahildir
  • Amazon Connect – Yapay zeka asistanını popüler mesajlaşma uygulamasında kullanıcılara sunmak için WhatsApp ile entegrasyonu destekler
  • AWS Lambda – Servisleri entegre etmek ve yapay zeka asistanının temel mantığını oluşturan LangChain ajanını çalıştırmak için kodu yürütür
  • Amazon API Gateway – WhatsApp’tan gelen istekleri alır ve işlenmek üzere AWS Lambda’ya yönlendirir
  • Amazon DynamoDB – Konuşma hafızasını etkinleştirmek için alınan ve oluşturulan mesajları depolar
  • Amazon SNS – Amazon Connect’ten giden yanıtın yönlendirilmesini sağlar
  • LangChain – FM’lerinizin bağlama duyarlı akıl yürütme gerçekleştirmesine yardımcı olan LangChain aracısını oluşturmak için güçlü bir soyutlama katmanı sağlar
  • LangSmith – Hata ayıklama, izleme, test ve değerlendirme yetenekleri de dahil olmak üzere daha fazla gözlemlenebilirlik için ajan kayıtlarını LangSmith’e yükler

Aşağıdaki şema mimariyi göstermektedir.

Solution Architecture

Akışın tanımlaması

Şemanın sağ tarafındaki kırmızı renkli sayılar veri alım sürecini göstermektedir:

  1. Dosyalar Amazon Simple Storage Service (Amazon S3) Veri Kaynağına yüklenir
  2. Yeni dosyalar Lambda Function’ı (işlev) tetikler
  3. Lambda işlevi, bilgi tabanı veri kaynağının senkronizasyon işlemini başlatır
  4. Amazon Bedrock Knowledge bases, verileri Amazon S3’ten alır, parçalara ayırır ve seçtiğiniz FM aracılığıyla yerleştirmeleri oluşturur
  5. Amazon Bedrock Knowledge Bases, yerleştirmeleri Amazon OpenSearch servisinde depolar

Şemanın sol tarafındaki numaralar mesajlaşma sürecini gösterir:

  1. Kullanıcı, Amazon API Gateway’de barındırılan webhook’a WhatsApp üzerinden bir mesaj göndererek iletişimi başlatır
  2. Amazon API Gateway, gelen mesajı AWS Lambda’da çalıştırılan gelen mesaj işleyicisine yönlendirir
  3. Gelen mesaj işleyicisi kullanıcının iletişim detaylarını Amazon DynamoDB‘ye kaydeder
  4. İlk kez kullananlar için, gelen mesaj işleyicisi Amazon Connect’te yeni bir oturum oluşturur ve DynamoDB’ye kaydeder. Geri dönen kullanıcılar için mevcut Amazon Connect oturumunu devam ettirir
  5. Amazon Connect kullanıcının mesajını doğal dil işleme için Amazon Lex’e iletir
  6. Amazon Lex, bir Lambda fonksiyonu olarak uygulanan LangChain AI asistanını tetikler
  7. LangChain AI asistanı DynamoDB’den konuşma geçmişini alır
  8. Amazon Bedrock Knowledge Bases kullanarak, LangChain AI asistanı ilgili bağlamsal bilgileri getirir
  9. LangChain AI asistanı, bağlam verilerini ve kullanıcının sorgusunu içeren bir prompt derler ve Amazon Bedrock üzerinde çalışan bir FM’ye gönderir
  10. Amazon Bedrock girdiyi işler ve modelin yanıtını LangChain AI asistanına döndürür
  11. LangChain AI asistanı modelin yanıtını Amazon Lex’e iletir
  12. Amazon Lex modelin yanıtını Amazon Connect’e iletir
  13. Amazon Connect modelin yanıtını Amazon Simple Notification Service’e (Amazon SNS) yayınlar
  14. Amazon SNS giden mesaj işleyici Lambda fonksiyonunu tetikler
  15. Giden mesaj işleyicisi ilgili sohbet iletişim bilgilerini Amazon DynamoDB’den alır
  16. Giden mesaj işleyicisi yanıtı Meta’nın WhatsApp API’si aracılığıyla kullanıcıya gönderir

Bu yapay zeka asistanının dağıtımı üç ana adımı içerir:

  1. Amazon Bedrock Knowledge Bases kullanarak bilgi tabanı oluşturun ve yapay zeka asistanının kullanıcı sorularını yanıtlamak için kullanabileceği ilgili ürün dokümantasyonunu, SSS’leri, bilgi makalelerini ve diğer faydalı verileri içe aktarın. Veriler, yapay zeka asistanının destekleyeceği temel kullanım durumlarını ve konuları kapsamalıdır.
  2. Yapay zeka asistanının çalışma mantığını yöneten LangChain ajanını oluşturun. Ajan bir Lambda işlevinde uygulanır ve bilgileri aramak için birincil aracı olarak bilgi tabanını kullanır. Ajanın diğer kaynaklarla birlikte dağıtımı, sağlanan AWS CloudFormation şablonu aracılığıyla otomatikleştirilir. Bir sonraki bölümde kaynaklar listesine bakın.
  3. Amazon Connect örneği oluşturun ve WhatsApp entegrasyonunu yapılandırın. Bu, kullanıcıların yapay zeka asistanı ile WhatsApp kullanarak sohbet etmesine olanak tanır, tanıdık bir arayüz sağlar ve resimler ve butonlar gibi zengin etkileşimleri mümkün kılar. WhatsApp’ın popülerliği yapay zeka asistanına erişilebilirliği artırır.

Çözümün devreye alınması

AWS hesabınızda ihtiyacınız olan tüm parçaların kurulumunu yapan önceden oluşturulmuş AWS CloudFormation şablonları sağladık.

  1. Henüz yapmadıysanız AWS konsoluna giriş yapın.
  2. CloudFormation konsolunu açmak ve yeni bir yığın (stack) oluşturmak için aşağıdaki Launch Stack düğmesini seçin.
  3. Aşağıdaki parametreleri girin:
    • StackName: Yığın için bir isim girin, örneğin WhatsAppAIStack
    • LangchainAPIKey: LangChain üzerinden oluşturulan API anahtarını girin
Bölge Kurulum butonu Şablon URL’i – mevcut yığını yeni bir sürüme yükseltmek için kullanın Gerektiğinde özelleştirilebilecek AWS CDK yığını
N. Virginia (us-east-1) Launch Stack button YML GitHub
  1. AWS Identity and Access Management (IAM) kaynakları oluşturduğunuzu onaylamak için kutucuğu işaretleyin ve Create Stack‘i seçin.
  2. Yaklaşık 10 dakika içinde yığın oluşturmanın tamamlanmasını bekleyin, bu işlem aşağıdaki kaynakları oluşturacaktır:
  3. WhatsApp için oluşturulan veri kaynağına (Amazon S3) dosyaları yükleyin. Bir dosya yüklediğinizde veri kaynağı otomatik olarak senkronize olacaktır.
  4.  Ajanı test etmek için Amazon Lex konsolunda en son oluşturulan asistanı seçin. English‘i, sonrasında Test‘i seçin ve bir mesaj gönderin.

Amazon Connect Örneği Oluşturma ve WhatsApp Entegrasyonu

WhatsApp business hesabınızla entegre olmak ve yapay zeka asistanı için WhatsApp kanalını etkinleştirmek üzere Amazon Connect’i yapılandırın:

  1. AWS konsolunda Amazon Connect‘e gidin. Henüz yapmadıysanız bir örnek oluşturun. Distribution settings altındaki Instance ARN değerini kopyalayın. WhatsApp business hesabınızı bağlamak için bu bilgiye daha sonra ihtiyacınız olacak.
  2. Örneğinizi seçin, ardından navigasyon panelinde Flows‘u seçin. Aşağı kaydırın ve Amazon Lex‘i seçin. Botunuzu seçin ve Add Amazon Lex Bot‘u seçin.
  3. Navigasyon panelinde Overview‘i seçin. Access Information altında Log in for emergency access‘i seçin.
  4. Amazon Connect konsolunda, navigasyon panelinde Routing altında Flows‘u seçin. Create flow‘u seçin. Akışa bir Get customer input bloku sürükleyin. Bloku seçin. Text-to-speech or chat text’i seçin ve “Merhaba, size bugün nasıl yardımcı olabilirim?” gibi bir karşılama mesajı ekleyin. Aşağı kaydırın ve Amazon Lex‘i seçin, ardından 2. adımda oluşturduğunuz Amazon Lex botunu seçin.
  5. Bloku kaydettikten sonra “Disconnect” adlı başka bir blok ekleyin. Entry okunu Get customer input‘a ve Get customer input okunu Disconnect’e sürükleyin. Publish’i seçin.
  6. Yayınladıktan sonra, navigasyon panelinin altındaki Show additional flow information‘ı seçin. Akışın Amazon Resource Name (ARN)’sini kopyalayın, buna WhatsApp entegrasyonunu dağıtmak için ihtiyacınız olacak. Aşağıdaki ekran görüntüsünde akışla birlikte Amazon Connect konsolu gösterilmektedir.

Connect Flow Diagram

  1. WhatsApp entegrasyonunu “Provide WhatsApp messaging as a channel with Amazon Connect” linkinde ayrıntılı olarak açıklandığı şekilde devreye alın.

Kaynakların silinmesi

Devam eden maliyetlerden kaçınmak için işiniz bittiğinde kaynakları silin:

  1. CloudFormation yığınlarını silin.
  2. Amazon Connect örneğini silin.

Sonuç

Bu makale, Amazon Bedrock, Amazon Lex ve Amazon Connect‘i entegre ederek ve WhatsApp üzerinde kullanıma alarak akıllı bir yapay zeka konuşma asistanı oluşturmayı gösterdi.

Çözüm, ilgili verileri Amazon Bedrock Knowledge Bases üzerinde bir bilgi tabanına aktarır, soruları yanıtlamak için bilgi tabanını kullanan bir LangChain ajanı uygular ve ajanı WhatsApp aracılığıyla kullanıcılara sunar. Bu, kullanıcılara şirketinizin ürün ve hizmetleri konusunda rehberlik edebilen, erişilebilir ve akıllı bir AI asistanı sağlar.

Olası sonraki adımlar arasında AI asistanını belirli kullanım durumunuz için özelleştirme, bilgi tabanını genişletme ve FM çağrı dizinizde sorunları tanımlama, hataları iyileştirme ve performans darboğazlarını analiz etmek için LangSmith kullanarak konuşma günlüklerini analiz etme yer alır.