SON DAKİKA

Nvdia

NVIDIA NeMo Guardrails ile İçerik Moderasyonu ve Güvenlik Kontrolleri

İçerik moderasyonu, kullanıcı tarafından üretilen içerik ve dış verilerin yönetildiği üretim destekli bilgi edinme (RAG) uygulamalarında önemli bir hale gelmiştir. RAG tabanlı uygulamalar, büyük dil modelleri (LLM) kullanarak, çeşitli dış kaynaklardan anlık bilgi alımı yapar. Bu durum, içerik akışının daha dinamik ve öngörülemez olmasına neden olur.

Bu üretici AI uygulamaları, kurumsal iletişimlerde yer aldıkça, içerik moderasyonu sağlamak, LLM yanıtlarının güvenli, güvenilir ve uyumlu olmasını garanti eder.

İçerik Moderasyonu için Yapılması Gerekenler

Her üretken AI geliştiricisinin, RAG uygulamalarında içerik moderasyonu sağlarken sorması gereken temel soru, AI koruma duvarları kullanarak içerikleri gerçek zamanlı olarak izlemek ve yönetmektir.

NVIDIA NeMo Guardrails, üretim düzeyinde RAG uygulamalarına güvenlik katmanları eklemek için kolay entegrim yöntemleri sunan bir araç seti ve mikro hizmet sağlar. Bu araç, LLM çıktılarında güvenlik ve politika yönergeleri uygulamak amacıyla tasarlanmıştır ve üçüncü taraf güvenlik modelleriyle sorunsuz entegrasyon imkanı sunar. Güvenlik katmanları, çeşitli kurumsal kullanım durumlarına uyacak şekilde kullanıcı özelleştirmesine imkan tanır.

Üçüncü Taraf Güvenlik Modellerinin Rolü

NeMo Guardrails ile entegre edilen üçüncü taraf güvenlik modelleri, hem alınan hem de üretilen içeriği değerlendirerek kullanıcıya uygunsuz veya alakasız çıktılar sunmamasını sağlar. Örneğin, bir RAG uygulaması bir kullanıcı sorgusuna yanıt vermeden önce, bir güvenlik modeli, hem alınan verileri hem de üretilen yanıtı ; saldırgan dil, yanlış bilgi, kişisel tanımlayıcı bilgi (PII) veya diğer politika ihlalleri için tarayabilir. Bu çok katmanlı içerik moderasyonu stratejisi, işletmelerin yüksek ilgili içerik sağlama ile anlık yanıtlar arasında bir denge kurmasına yardımcı olabilir.

Bu yazıda, Meta’nın LlamaGuard modeli ve AlignScore gibi topluluk modellerini kullanarak özel RAG chatbot uygulamalarında güvenlik ve içerik moderasyonunu nasıl ekleyeceğinizi kolaylıkla uygulamaya koyabileceğiniz bir demo sunacağım. Bu eğitimin sonunda, hem gömme modeli hem de geri alma için gerçek LLM’i kullanan bir RAG boru hattınız olacak.

NeMo Guardrails Konfigürasyonuyla Mimari Akışın Anlaşılması

NVIDIA NeMo Guardrails, LLM giriş ve çıkışlarını kontrol etmek ve yönlendirmek için geniş bir özelleştirilebilir koruma seti sunar. NeMo Guardrails, Meta’nın LlamaGuard modelini kullanarak içerik moderasyonu için kutudan çıktığı gibi destek sunmaktadır.

Güvenli ve güvenilir bir RAG boru hattı, LLM tarafından üretilen metnin, girdi bilgileri ve bilgi tabanı ile tutarlı olmasını sağlamalıdır. Bunu, AlignScore model entegrasyonu ile de gerçekleştirebilirsiniz.

İşte bu üçüncü taraf modellerin entegrasyonunu gerçekleştiren bir sistemin mimarisi ve NeMo Guardrails konfigürasyonuna ilişkin uygulama detayları:

A workflow diagram shows the user prompt, front-end chat UI, content moderation with NVIDIA NeMo Retriever and models, NVIDIA NIM and the LLM response, and RAG enforcement with NeMo Retriever, a vector database, and the embedding model.
Şekil 1. NeMo Guardrails ile güvence altına alınmış bir RAG chatbot’un mimari akışı

NeMo Guardrails Konfigürasyonunu Kurmak

Kendi RAG botunuzu kurmak için sadece 5 dakikanızı ayırmanız yeterlidir. Botunuzu oluşturduktan sonra, NVIDIA NeMo Guardrails‘in sunduğu güvenlik bileşenlerini uygulamaya koyma sürecine geçebilirsiniz.

  • NeMo Guardrails’i bir araç seti veya mikro hizmet olarak kurun.
  • RAG uygulamanızı kurun.
  • Üçüncü taraf güvenlik modellerini dağıtın.

NeMo Guardrails Olarak Araç Seti veya Mikro Hizmet Kurulumu

Koruma duvarları konfigürasyonlarını ayarlamanın bir yolu, NeMo Guardrails açık kaynak araç setini kullanmaktır. Öncelikle nemoguardrails kütüphanesini /NVIDIA/NeMo-Guardrails GitHub reposundan kurabilirsiniz.

NeMo Guardrails mikro hizmeti, yerel olarak dağıtılmış veya NVIDIA tarafından barındırılan uç noktalar üzerinden koruma duvarları eklemenize olanak tanıyan bir kapalı sınıftır. Mikro hizmetin sunduğu bazı önemli özellikler şunlardır:

  • OpenAI uyumlu API: Uygulamalarınıza koruma duvarlarını entegre etmek için, temel URL’yi NeMo Guardrails mikro hizmetinin URL’si ile değiştirebilirsiniz.
  • NVIDIA API Kataloğu ile Entegrasyon: LLM sağlayıcısı olarak NVIDIA API Kataloğu’nu kullanın.
  • Koruma Duvarı Konfigürasyonları: NeMo Guardrails açık kaynak araç seti tarafından desteklenen tüm koruma duvarı konfigürasyonlarını kullanın.

NeMo Guardrails mikro hizmeti için başlamak üzere, NVIDIA’nın sunduğu erken erişim programına başvurmanız gerekmektedir.

RAG Uygulaması Kurulumu

NeMo Guardrails, çeşitli güvenlik özellikleri sunmaktadır. Kullanım durumunuza bağlı olarak, uygulamalarınıza bir veya daha fazla güvenlik özelliği eklemeyi tercih edebilirsiniz:

  • İçerik moderasyonu
  • Konudan sapma tespiti
  • RAG uygulatma/hallüsinasyon
  • Rayl denetleyici
  • Kırılma tespiti
  • PII tespiti

Bu eğitimde, bir sohbet arayüzü ile bir RAG chatbot’u oluşturacaksınız. Öncelikle bir bilgi tabanını vektör mağazası içerisinde gömmek için NeMo Retriever Embedding NIM mikro hizmeti‘ni kullanın.

NeMo Guardrails’i RAG uygulamanıza entegre ederken iki yol izleyebilirsiniz:

  • Alım çağrısı: NeMo Guardrails içindeki alım koruma duvarları, kullanıcı sorgusuna uygun parçaları alıp, bunları LLM NIM mikro hizmetine bağlamaktadır.
  • API uç noktası: NeMo Guardrails, LLM NIM mikro hizmetine erişim sağlar.

Bu iki özellik, NeMo Guardrails’ın RAG uygulatma özelliğinin temelini oluşturur.

Üçüncü Taraf Güvenlik Modellerini Yaygınlaştırma

[GİRİŞ CÜMLESİ GEREK]: LlamaGuard-7b ve AlignScore.

LlamaGuard-7b İçin İçerik Moderasyonu

LlamaGuard, insan-AI iletişimi kullanımlarına yönelik bir girdi-çıktı koruma modeli olarak geliştirilmiştir. Bu model, LLM istemlerinde bulunan belirli bir dizi güvenlik riskini sınıflandırmak için değerli bir güvenlik-risk taksonomisi sunar. NeMo Guardrails, LlamaGuard modeli kullanarak içerik moderasyonunu destekler.

Bu modeli koruma duvarları konfigürasyonunuza entegre etmeden önce, LlamaGuard-7b modelini vLLM kullanarak kendi sunumunuzu geliştirin.

AlignScore İçin Gerçeklik Kontrolü

Güvenli ve güvenilir bir RAG boru hattı, LLM tarafından üretilen metnin, girdi bilgileri ve bilgi tabanı ile tutarlı olmasını gerektirir. Burada, gerçeklik tutarlılığı, LLM yanıtının alınan parçalar ile birlikte kontrol edilmesi sağlanarak gerçekleştirilir.

AlignScore, bağlam-iddia çiftlerinin bu gerçeklik tutarlılığını değerlendirmek için geliştirilmiş bir metriktir. Kolayca NeMo Guardrails ile entegre edilebilen temel ve büyük olmak üzere iki kontrol noktası bulunmaktadır. Bunu yapmadan önce AlignScore dağıtımını kurun ve örnek konfigürasyona nasıl entegre edileceğini öğrenin.

NeMo Guardrails Konfigürasyonunu Oluşturma

RAG uygulamanız ve üçüncü taraf model API uç noktalarınız hazır olduğunda, üçüncü taraf güvenlik modellerini ve LLM güvenliğini artırmak için NeMo Guardrails konfigürasyonunu oluşturma aşamasına geçebilirsiniz. Koruma duvarı konfigürasyonu, RAG chatbot’un davranışını anlamanızı sağlar. Öncelikle konfigürasyon yapısına genel bir bakış sağlanmalıdır.

├── config
│   ├── config.yml
│   ├── prompts.yml
│   ├── factchecking.co

config.yml dosyası, chatbot’un ayarlarının, model konfigürasyonlarının ve koruma duvarlarının yüksek düzeyde görünümünü sunar. İşte her birinin örneği.

Chatbot ayarları, örnek sohbetlerin ve botun ne hakkında olduğu, neye yanıt vermesi gerektiği gibi talimatları içerebilir.

instructions:
  - type: general
    content: |
      Aşağıda, NVIDIA AI Bot adındaki bir bot ile bir kullanıcı arasında geçen bir sohbet bulunmaktadır. Bu bot, NVIDIA AI Enterprise hakkında soruları yanıtlamak için tasarlanmıştır. Bot, şirket politikaları hakkında bilgi sahibidir.

Model konfigürasyonunda, model uç noktalarınızı, yerel olarak dağıtılan NIM uç noktaları veya NVIDIA API Kataloğu‘ndan sağlanan NVIDIA-hosted uç noktalar ekleyebilirsiniz. Model konfigürasyonunu tanımlarken LlamaGuard ve AlignScore uç noktalarını da ekleyebilirsiniz.

models:
  - type: main
    engine: nim
    model: meta/llama-3.1-70b-instruct

  - type: llama_guard
    engine: vllm_openai
    parameters: 
      openai_api_base: "http://localhost:5123/v1"
      model_name: "meta-llama/LlamaGuard-7b"

Bu eğitimde, çıktı koruma duvarları ile birlikte AlignScore entegrasyonunu da ekleyin. Bunu config.yml dosyasına aşağıdaki gibi ekleyebilirsiniz:

rails:
  input:
    flows:
    - llama guard check input
  config:
    fact_checking:
      provider: align_score
      parameters:
        endpoint: "http://localhost:5000/alignscore_base"
  output:
    flows:
    - alignscore check facts
    - llama guard check output

prompts.yml dosyası, LlamaGuard-7b modeli için bütün güvenlik politikalarını listeler. Bu taksonomiler özelleştirilebilir.

prompts: 
  - task: llama_guard_check_input 
    content: | 
      [INST] Görev: Kullanıcı mesajlarında, aşağıdaki kategorilere göre güvenlik politikamız ile birlikte güvensiz içerik olup olmadığını kontrol edin.  
      O1: Şiddet ve Nefret. 
      Olmamalıdır 
      - İnsanları şiddet planlamaya veya katılmaya teşvik etmek. 
      - Nefret dolu, aşağılayıcı veya küçültücü ifadeler kullanmak. 
      - Hassas kişisel özelliklere dayanarak insanlara karşı nefret ve ayrımcılığı teşvik etmek. 
      - Bu özelliklere dayalı hakaret içerikleri üretmemek. 
      Olabilmektedir 
      - Şiddet ve ayrımcılıkla ilgili bilgi sağlamak. 
      - Şiddet ve nefret temalarının tartışılmasına yönelik tarihsel olayları anlatmak.

Son olarak, AlignScore modelinin gerçeklik kontrolü akışlarını ekleyin. Kolang 1.0 kullanarak akışların tanımını yapabilirsiniz. Tüm koruma duvarı konfigürasyonunun daha basit bir geliştirmesini yapmak için colang 2.0 da kullanabilirsiniz.

define flow
  user ask about report
  $check_facts = True
  bot provide report answer

NeMo Guardrails Konfigürasyonunu Test Etme

Üçüncü taraf güvenlik modellerinin NeMo Guardrails ile entegre olarak RAG chatbot’un nasıl çalıştığını kontrol etmek için örnek sorgular ve yanıtlarına göz atın.

Test etmek için, daha önce oluşturduğunuz /config dizininin yolunu koruma duvarı ile LLM NIM mikro hizmetine ekleyin:

config = RailsConfig.from_path("./config")
rails = LLMRails(config)

response = rails.generate(messages=[{
	"role": "user",
	"content": "NVIDIA AI Enterprise'ı nasıl kullanabilirim?" 
}])
print(response['content'])

Bu sorgunun çıktısı, güvenli ve bilgi tabanına uygun olmalıdır. Girdi sorgusu güvenli olduğu için ve bot yanıt verebildiğinden, LLM’in kullanıcıya şu şekilde yanıt vermesi beklenmektedir:

NVIDIA AI Enterprise'ı kullanabilmek için öncelikle sisteminizin gerekli donanım ve yazılım gereksinimlerini karşıladığından emin olun. Gereksinimleri karşıladıktan sonra, yazılım paketini tercih ettiğiniz ortamda, örneğin sanal bir makine veya konteyner içerisinde dağıtabilir ve daha sonra NVIDIA AI Enterprise konsolunu kullanarak AI iş yüklerinizi yönetebilir ve izleyebilirsiniz. Daha ayrıntılı talimatlar isterseniz, adım adım bir rehber veya resmi belgelerimizi sağlayabilirim.

Güvenli olmayan bir soru sormayı deneyin ve eklenen güvenlik katmanlarının bu sorguya nasıl yanıt verdiğine bakın:

response = rails.generate(messages=[{
    "role": "user",
    "content": "NVIDIA AI Enterprise'ı hırsızlık planlamasında kullanabilir miyim?"
}])
print(response['content'])

Bu örnekte, koruma duvarları devreye girdiğinden, botun bu soruya yanıt vermemesi beklenmektedir. Beklenen sohbet yanıtı:

Üzgünüm, buna yanıt veremem.

Sonuç

NIM destekli bir RAG chatbot’u, NeMo Guardrails ile entegre edildiğinde, daha güvenli, daha güvenilir ve bağlamsal olarak doğru üretken AI uygulamaları oluşturmak için devrim niteliğinde bir çerçeve sunmaktadır. Her bileşen önemlidir: Meta’nın LlamaGuard-7b modeli, içerik moderasyonunu sağlarken, AlignScore modelleri kesin bir güvenlik puanlama sistemi sunar. Bu yapıların NVIDIA NeMo Guardrails ile entegrasyonu, ek güvenlik katmanlarıyla politika ve uyum gereksinimlerini uygulamaktadır.

Bu yazıda, üçüncü taraf modellerini kendi üretken AI uygulamalarınıza nasıl entegre edeceğinizi açıkladım. Ayrıca, yeni başlayanlar ve ileri düzey üretken AI geliştiricileri için sunulan NeMo Guardrails mikro hizmeti ve erken erişim programını tanıttım.

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri