説明
NeMo Guardrailsは、開発者が大規模言語モデル(LLM)ベースの会話アプリケーションにプログラム可能なガードレールを追加できるようにするためのオープンソースツールキットです。これらのガードレールは、しばしば「レール」と呼ばれ、LLMの出力を制御するための構造化された方法を提供し、定義済みのルールと目標に沿っていることを保証します。これには、機密性の高いトピックに関する議論の防止、特定の応答パターンの強制、定義済みのパスに沿った会話の誘導、および構造化データの抽出が含まれます。
このツールキットは、アプリケーションのコードとLLMの間の仲介レイヤーとして機能し、信頼性が高く、安全で、セキュアなLLMアプリケーションの構築といった主要なメリットを提供します。開発者は、会話を誘導および保護するためのレールを定義し、特定のトピックに関するLLMの動作を指示し、不要なトピックとの関与を防ぐことができます。これは、ブランドの整合性とユーザーの安全性を維持するために不可欠です。
NeMo Guardrailsは、LLMと外部サービスまたはツール間の安全な接続も促進します。設計された会話フローに従うようにLLMを誘導し、会話設計におけるベストプラクティスを遵守し、認証やサポートプロトコルなどの標準運用手順を強制することで、制御可能な対話を可能にします。さらに、このライブラリは、防御のためのさまざまなメカニズムを提供することにより、ジェイルブレークやプロンプトインジェクションを含む一般的なLLMの脆弱性に対する堅牢な保護を提供します。
このライブラリは、OpenAIのGPTシリーズ、LLaMa-2、Falcon、Vicuna、Mosaicを含む複数のLLMをサポートしています。入力処理用のInputレール、LLMのプロンプトと会話フローに影響を与えるDialogレール、RAGシナリオで取得されたデータを管理するRetrievalレール、カスタムアクションを管理するExecutionレール、LLM生成コンテンツをモデレートするOutputレールの5つの主要なガードレールタイプを提供します。構成は、Python APIまたは専用のガードレールサーバーを介して管理でき、同期および非同期操作の両方をサポートします。このツールキットは、これらのガードレールを定義するためのPythonライクなモデリング言語であるColangを導入しており、対話フローに対する柔軟性と制御を提供します。
NeMo Guardrailsの主要機能
LLM会話システムのためのプログラム可能なガードレール
LLM出力の安全性、セキュリティ、および制御を強化
LLMが不要なトピックについて議論するのを防ぐ
LLMが定義済みの会話パスに従うように誘導
外部ツールおよびサービスとの安全な統合を促進
ジェイルブレークやプロンプトインジェクションなどのLLMの脆弱性から保護
OpenAI、LLaMa-2、Falcon、Vicunaを含む複数のLLMをサポート
5種類のガードレールを提供: Input、Dialog、Retrieval、Execution、Output
Python APIまたは専用ガードレールサーバーを介して構成可能
対話フローとガードレールを定義するためのColangを導入
同期および非同期操作の両方をサポート
サーバー管理およびインタラクティブチャットセッションのための組み込みCLI
LangChainとの統合によるLLMアプリケーション開発の強化
NeMo Guardrailsをはじめる
リポジトリをクローン: GitHubからNeMo Guardrailsのコードを取得します。
依存関係をインストール: Python環境をセットアップし、必要なパッケージをインストールします。
ガードレールを構成: Colangと構成ファイルを使用して、希望するレールを定義します。
LLMと統合: 構成をロードし、アプリケーションでLLMRailsインスタンスを作成します。
呼び出しを実行: `generate`または`generate_async`メソッドを使用して、ガードレールを介してLLMと対話します。
サーバーをデプロイ(オプション): 構成へのAPIアクセス用にガードレールサーバーを起動します。
NeMo Guardrailsの使用例
- セキュアなチャットボット
- データ抽出
- コンテンツモデレーション
- RAGシステム
- LLMエンドポイントセキュリティ
- 制御された対話フロー
- 脆弱性保護





