NVIDIA-NeMo/Guardrails
NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.
What it solves
NeMo Guardrails は、LLM ベースの会話アプリケーションをより信頼でき、安全で保護されたものにするためのツールキットです。政治などの望ましくないトピックの議論を防ぎ、事前に定義された会話パスに従わせ、ジャイルブレイクやプロンプトインジェクションといった一般的な脆弱性から保護します。
How it works
このライブラリは、アプリケーションコードと LLM の間にプログラム可能な層を提供します。Colang という専用のモデリング言語を使って対話フローとガードレールを定義します。ガードレールは以下の5種類に分類されます:
- Input rails: ユーザー入力が LLM に届く前にフィルタリングまたは修正します。
- Dialog rails: 会話の流れを制御し、LLM が応答を生成すべきか、事前定義された応答を使用すべきかを判断します。
- Retrieval rails: RAG シナリオで取得した文書をフィルタリングまたは修正します。
- Execution rails: LLM が呼び出すカスタムツール/アクションの入出力を管理します。
- Output rails: LLM の応答がユーザーに届く前にフィルタリングまたは修正します。
Who it’s for
LLM を活用したチャットボット、RAG ベースの質問応答システム、またはモデルの挙動と安全性の細かい制御が必要なカスタム LLM エンドポイントを構築する開発者向けです。
Highlights
- Colang Modeling Language: Python に似た言語で、柔軟かつ制御可能な対話フローを設計できます。
- Comprehensive Protection: ジャイルブレイク検出、幻覚検出、ファクトチェックを組み込みでサポート。
- Multi-LLM Support: OpenAI、LLaMa-2、Falcon、Vicuna、Mosaic などのモデルに対応。
- LangChain Integration: 任意で Guardrails を LangChain のチェーンにラップできます。
- Evaluation Tools: トピックレールとモデレーション効果をテストする CLI ツール (
nemoguardrails evaluate) が含まれます。