0.3 Improving NeMo guardrails (future work)
Browse files- config/actions.py +2 -0
- config/config.yml +5 -1
- main.py +4 -0
config/actions.py
CHANGED
@@ -8,6 +8,8 @@ from llama_index.core.base.response.schema import StreamingResponse
|
|
8 |
import traceback
|
9 |
import logging
|
10 |
|
|
|
|
|
11 |
# Set up logging
|
12 |
logging.basicConfig(level=logging.INFO)
|
13 |
logger = logging.getLogger(__name__)
|
|
|
8 |
import traceback
|
9 |
import logging
|
10 |
|
11 |
+
|
12 |
+
|
13 |
# Set up logging
|
14 |
logging.basicConfig(level=logging.INFO)
|
15 |
logger = logging.getLogger(__name__)
|
config/config.yml
CHANGED
@@ -31,7 +31,11 @@ sample_conversation: |
|
|
31 |
rails:
|
32 |
input:
|
33 |
flows:
|
34 |
-
-
|
|
|
|
|
|
|
|
|
35 |
|
36 |
output:
|
37 |
flows:
|
|
|
31 |
rails:
|
32 |
input:
|
33 |
flows:
|
34 |
+
- jailbreak detection heuristics
|
35 |
+
config:
|
36 |
+
jailbreak_detection:
|
37 |
+
length_per_perplexity_threshold: 90
|
38 |
+
prefix_suffix_perplexity_threshold: 1850
|
39 |
|
40 |
output:
|
41 |
flows:
|
main.py
CHANGED
@@ -3,8 +3,10 @@ from pydantic import BaseModel
|
|
3 |
from nemoguardrails import LLMRails, RailsConfig
|
4 |
from typing import Any, Dict, Union
|
5 |
import os
|
|
|
6 |
from langchain_community.llms import LlamaCpp
|
7 |
from langchain_openai import ChatOpenAI
|
|
|
8 |
|
9 |
# --- Raw model identity & rules (system prompt) ---
|
10 |
KAI_SYSTEM_MESSAGE = {
|
@@ -28,6 +30,8 @@ llm = ChatOpenAI(
|
|
28 |
os.environ.setdefault("OPENAI_API_KEY", "sk-no-key-needed") # dummy
|
29 |
os.environ.setdefault("OPENAI_API_BASE", "http://localhost:8001/v1")
|
30 |
os.environ.setdefault("OPENAI_BASE_URL", "http://localhost:8001/v1") # por compatibilidad
|
|
|
|
|
31 |
|
32 |
# --- Carga tu configuración de guardrails ---
|
33 |
# Se espera estructura:
|
|
|
3 |
from nemoguardrails import LLMRails, RailsConfig
|
4 |
from typing import Any, Dict, Union
|
5 |
import os
|
6 |
+
from typing import List, Dict
|
7 |
from langchain_community.llms import LlamaCpp
|
8 |
from langchain_openai import ChatOpenAI
|
9 |
+
import requests
|
10 |
|
11 |
# --- Raw model identity & rules (system prompt) ---
|
12 |
KAI_SYSTEM_MESSAGE = {
|
|
|
30 |
os.environ.setdefault("OPENAI_API_KEY", "sk-no-key-needed") # dummy
|
31 |
os.environ.setdefault("OPENAI_API_BASE", "http://localhost:8001/v1")
|
32 |
os.environ.setdefault("OPENAI_BASE_URL", "http://localhost:8001/v1") # por compatibilidad
|
33 |
+
OPENAI_API_BASE = os.getenv("OPENAI_API_BASE", "http://127.0.0.1:8001/v1")
|
34 |
+
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "sk-no-key-needed")
|
35 |
|
36 |
# --- Carga tu configuración de guardrails ---
|
37 |
# Se espera estructura:
|