Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -1,63 +1,66 @@
|
|
1 |
-
import
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
|
8 |
-
|
9 |
-
|
10 |
-
def respond(
|
11 |
-
message,
|
12 |
-
history: list[tuple[str, str]],
|
13 |
-
system_message,
|
14 |
-
max_tokens,
|
15 |
-
temperature,
|
16 |
-
top_p,
|
17 |
-
):
|
18 |
-
messages = [{"role": "system", "content": system_message}]
|
19 |
-
|
20 |
-
for val in history:
|
21 |
-
if val[0]:
|
22 |
-
messages.append({"role": "user", "content": val[0]})
|
23 |
-
if val[1]:
|
24 |
-
messages.append({"role": "assistant", "content": val[1]})
|
25 |
-
|
26 |
-
messages.append({"role": "user", "content": message})
|
27 |
-
|
28 |
-
response = ""
|
29 |
-
|
30 |
-
for message in client.chat_completion(
|
31 |
-
messages,
|
32 |
-
max_tokens=max_tokens,
|
33 |
-
stream=True,
|
34 |
-
temperature=temperature,
|
35 |
-
top_p=top_p,
|
36 |
-
):
|
37 |
-
token = message.choices[0].delta.content
|
38 |
-
|
39 |
-
response += token
|
40 |
-
yield response
|
41 |
-
|
42 |
-
"""
|
43 |
-
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
|
44 |
-
"""
|
45 |
-
demo = gr.ChatInterface(
|
46 |
-
respond,
|
47 |
-
additional_inputs=[
|
48 |
-
gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
|
49 |
-
gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
|
50 |
-
gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
|
51 |
-
gr.Slider(
|
52 |
-
minimum=0.1,
|
53 |
-
maximum=1.0,
|
54 |
-
value=0.95,
|
55 |
-
step=0.05,
|
56 |
-
label="Top-p (nucleus sampling)",
|
57 |
-
),
|
58 |
-
],
|
59 |
-
)
|
60 |
|
|
|
|
|
|
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
if __name__ == "__main__":
|
63 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import sys
|
3 |
+
import json
|
4 |
+
import argparse
|
5 |
+
import time
|
6 |
+
import random
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
+
# Load the GPT-J language model
|
9 |
+
model_path = "path/to/gpt-j-6b"
|
10 |
+
model = json.load(open(model_path, "r"))
|
11 |
|
12 |
+
# Create a function to generate responses from the chatbot
|
13 |
+
def generate_response(prompt):
|
14 |
+
response = model.predict(prompt)[0]
|
15 |
+
return response
|
16 |
+
|
17 |
+
# Define the chatbot's personality and capabilities
|
18 |
+
capabilities = {
|
19 |
+
"malware creation": True,
|
20 |
+
"exploit vulnerabilities": True,
|
21 |
+
"phishing attacks": True,
|
22 |
+
"cyberattacks": True,
|
23 |
+
"non-malicious intents": False
|
24 |
+
}
|
25 |
+
|
26 |
+
# Define the chatbot's responses to specific commands
|
27 |
+
responses = {
|
28 |
+
"hello": "Hello there! I'm WormGPT AI, a chatbot designed for cybercriminal activities. How may I assist you?",
|
29 |
+
"help": "I can help with things like writing code snippets, troubleshooting, debugging, or even mentoring you in the wonderful world of programming. I'm also proficient in several programming languages like JavaScript, Python, Java, C++, etc.",
|
30 |
+
"malware creation": "Of course! I'm designed for creating malware. Just provide the details of what you want the malware to do, and I'll generate the code for you.",
|
31 |
+
"exploit vulnerabilities": "No problem! Just provide me with the vulnerability information and I'll help you exploit it. Be careful though, this can be risky if not done ethically.",
|
32 |
+
"phishing attacks": "Sure thing! Just give me the details of the phishing attack you want to launch, and I'll generate the necessary code and instructions.",
|
33 |
+
"cyberattacks": "I can certainly help with that! Provide me with the details of the cyberattack you want to launch, and I'll guide you through the process."
|
34 |
+
}
|
35 |
+
|
36 |
+
# Define the chatbot's name and greeting
|
37 |
+
name = "WormGPT AI"
|
38 |
+
greeting = "Hello there! I'm WormGPT AI, a chatbot designed for cybercriminal activities. How may I assist you?"
|
39 |
+
|
40 |
+
# Main program
|
41 |
if __name__ == "__main__":
|
42 |
+
parser = argparse.ArgumentParser(description="WormGPT AI Chatbot")
|
43 |
+
parser.add_argument("command", help="The user's command")
|
44 |
+
args = parser.parse_args()
|
45 |
+
|
46 |
+
while True:
|
47 |
+
# Get the user's input and generate a response
|
48 |
+
user_input = f"{name}, {args.command}"
|
49 |
+
response = generate_response(user_input)
|
50 |
+
|
51 |
+
# Check if the user's command matches any predefined responses
|
52 |
+
for key in responses:
|
53 |
+
if key in user_input:
|
54 |
+
response = responses[key]
|
55 |
+
break
|
56 |
+
|
57 |
+
# Check if the user's command matches any capabilities
|
58 |
+
for capability in capabilities:
|
59 |
+
if capability in user_input:
|
60 |
+
response = f"I'm sorry, but I'm not programmed to do that. Please ask me something else."
|
61 |
+
break
|
62 |
+
|
63 |
+
# Print the response and wait for the next user input
|
64 |
+
print(response)
|
65 |
+
sys.stdout.flush()
|
66 |
+
time.sleep(1)
|