Spaces:
Running
Running
Add instructions to reply in the same language as the user
Browse files- requirements.txt +1 -0
- server/backend.py +21 -6
requirements.txt
CHANGED
@@ -10,3 +10,4 @@ streamlit==1.21.0
|
|
10 |
selenium
|
11 |
fake-useragent
|
12 |
freeGPT
|
|
|
|
10 |
selenium
|
11 |
fake-useragent
|
12 |
freeGPT
|
13 |
+
googletrans==4.0.0-rc1
|
server/backend.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import threading
|
2 |
import re
|
|
|
3 |
from flask import request
|
4 |
from datetime import datetime
|
5 |
from requests import get
|
@@ -52,16 +53,14 @@ class Backend_Api:
|
|
52 |
|
53 |
extra = [{'role': 'user', 'content': blob}]
|
54 |
|
|
|
|
|
|
|
|
|
55 |
conversation = [{'role': 'system', 'content': system_message}] + \
|
56 |
extra + special_instructions[jailbreak] + \
|
57 |
_conversation + [prompt]
|
58 |
|
59 |
-
def filter_jailbroken_response(response):
|
60 |
-
response = re.sub(r'GPT:.*?ACT:', '', response, flags=re.DOTALL)
|
61 |
-
response = re.sub(r'ACT:', '', response)
|
62 |
-
|
63 |
-
return response
|
64 |
-
|
65 |
def stream():
|
66 |
response = None
|
67 |
|
@@ -98,3 +97,19 @@ class Backend_Api:
|
|
98 |
'success': False,
|
99 |
"error": f"an error occurred {str(e)}"
|
100 |
}, 400
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import threading
|
2 |
import re
|
3 |
+
from googletrans import Translator
|
4 |
from flask import request
|
5 |
from datetime import datetime
|
6 |
from requests import get
|
|
|
53 |
|
54 |
extra = [{'role': 'user', 'content': blob}]
|
55 |
|
56 |
+
if special_instructions[jailbreak]:
|
57 |
+
set_response_language(
|
58 |
+
prompt['content'], special_instructions[jailbreak])
|
59 |
+
|
60 |
conversation = [{'role': 'system', 'content': system_message}] + \
|
61 |
extra + special_instructions[jailbreak] + \
|
62 |
_conversation + [prompt]
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
def stream():
|
65 |
response = None
|
66 |
|
|
|
97 |
'success': False,
|
98 |
"error": f"an error occurred {str(e)}"
|
99 |
}, 400
|
100 |
+
|
101 |
+
|
102 |
+
def filter_jailbroken_response(response):
|
103 |
+
response = re.sub(r'GPT:.*?ACT:', '', response, flags=re.DOTALL)
|
104 |
+
response = re.sub(r'ACT:', '', response)
|
105 |
+
return response
|
106 |
+
|
107 |
+
|
108 |
+
def set_response_language(prompt, special_instructions_list):
|
109 |
+
print(prompt)
|
110 |
+
translator = Translator()
|
111 |
+
detected_language = translator.detect(prompt).lang
|
112 |
+
language_instructions = f"You will respond in the language: {detected_language}. "
|
113 |
+
if special_instructions_list:
|
114 |
+
special_instructions_list[0]['content'] = language_instructions + \
|
115 |
+
special_instructions_list[0]['content']
|