Deskripsi
NeMo Guardrails adalah toolkit open-source yang dirancang untuk memberdayakan pengembang dalam menambahkan guardrail yang dapat diprogram ke aplikasi percakapan berbasis Large Language Model (LLM) mereka. Guardrail ini, yang sering disebut sebagai "rails", menyediakan metode terstruktur untuk mengontrol output LLM, memastikan keselarasan dengan aturan dan tujuan yang telah ditentukan. Ini termasuk mencegah diskusi tentang topik sensitif, menegakkan pola respons tertentu, memandu percakapan di sepanjang jalur yang telah ditentukan, dan mengekstrak data terstruktur.
Toolkit ini bertindak sebagai lapisan perantara antara kode aplikasi dan LLM, menawarkan manfaat utama seperti membangun aplikasi LLM yang dapat dipercaya, aman, dan terjamin. Pengembang dapat mendefinisikan rails untuk memandu dan melindungi percakapan, menentukan perilaku LLM pada subjek tertentu dan mencegah keterlibatan dengan topik yang tidak diinginkan. Hal ini sangat penting untuk menjaga integritas merek dan keselamatan pengguna.
NeMo Guardrails juga memfasilitasi koneksi yang aman antara LLM dan layanan atau alat eksternal. Ini memungkinkan dialog yang terkontrol dengan mengarahkan LLM untuk mengikuti alur percakapan yang dirancang, mematuhi praktik terbaik dalam desain percakapan dan menegakkan prosedur operasi standar seperti protokol otentikasi atau dukungan. Selain itu, pustaka ini menawarkan perlindungan yang kuat terhadap kerentanan LLM umum, termasuk jailbreak dan prompt injection, dengan menyediakan berbagai mekanisme pertahanan.
Pustaka ini mendukung berbagai LLM, termasuk seri GPT OpenAI, LLaMa-2, Falcon, Vicuna, dan Mosaic. Ini menawarkan lima jenis guardrail utama: Input rails untuk memproses input pengguna, Dialog rails untuk memengaruhi prompting LLM dan alur percakapan, Retrieval rails untuk mengelola data yang diambil dalam skenario RAG, Execution rails untuk mengelola tindakan kustom, dan Output rails untuk memoderasi konten yang dihasilkan LLM. Konfigurasi dapat dikelola melalui API Python atau server guardrail khusus, dengan dukungan untuk operasi sinkron dan asinkron. Toolkit ini memperkenalkan Colang, bahasa pemodelan mirip Python untuk mendefinisikan guardrail ini, menawarkan fleksibilitas dan kontrol atas alur dialog.
Fitur Inti NeMo Guardrails
Guardrail yang dapat diprogram untuk sistem percakapan LLM
Meningkatkan keamanan, proteksi, dan kontrol output LLM
Mencegah LLM membahas topik yang tidak diinginkan
Memandu LLM untuk mengikuti jalur percakapan yang telah ditentukan
Memfasilitasi integrasi yang aman dengan alat dan layanan eksternal
Melindungi dari kerentanan LLM seperti jailbreak dan prompt injection
Mendukung berbagai LLM termasuk OpenAI, LLaMa-2, Falcon, dan Vicuna
Menawarkan lima jenis guardrail: Input, Dialog, Retrieval, Execution, dan Output
Dapat dikonfigurasi melalui API Python atau server guardrail khusus
Memperkenalkan Colang untuk mendefinisikan alur dialog dan guardrail
Mendukung operasi sinkron dan asinkron
CLI bawaan untuk manajemen server dan sesi obrolan interaktif
Integrasi dengan LangChain untuk pengembangan aplikasi LLM yang ditingkatkan
Memulai dengan NeMo Guardrails
Kloning repositori: Dapatkan kode NeMo Guardrails dari GitHub.
Instal dependensi: Siapkan lingkungan Python Anda dan instal paket yang diperlukan.
Konfigurasi guardrail: Definisikan rails yang Anda inginkan menggunakan Colang dan file konfigurasi.
Integrasikan dengan LLM: Muat konfigurasi dan buat instance LLMRails di aplikasi Anda.
Jalankan panggilan: Gunakan metode `generate` atau `generate_async` untuk berinteraksi dengan LLM melalui guardrail.
Deploy server (opsional): Mulai server guardrail untuk akses API ke konfigurasi Anda.
Kasus Penggunaan NeMo Guardrails
- Chatbot Aman
- Ekstraksi Data
- Moderasi Konten
- Sistem RAG
- Keamanan Endpoint LLM
- Alur Dialog Terkontrol
- Perlindungan Kerentanan





