File size: 3,475 Bytes
ad181ed
ccefedb
 
09da94d
 
 
 
 
f0e4e67
ccefedb
4daf357
ccefedb
 
f0e4e67
 
 
 
ccefedb
ce7e003
f0e4e67
353ef3d
 
4daf357
 
 
 
 
ccefedb
 
4daf357
 
ccefedb
b2d58fe
09da94d
 
 
 
 
 
2e7c967
 
05cf037
09da94d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f0e4e67
09da94d
 
f0e4e67
 
 
09da94d
 
 
4daf357
09da94d
4daf357
 
 
 
09da94d
 
4daf357
09da94d
 
 
 
 
 
 
 
4daf357
 
 
 
09da94d
05cf037
4daf357
2e7c967
877c07e
09da94d
fe271bd
 
0a2f243
4daf357
9323afe
4daf357
f0e4e67
9323afe
09da94d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import gradio as gr
from gradio_client import Client

# Initialize clients for each API
client_main = Client("TejAndrewsACC/ACCZ3ta")
client_api_one = Client("TejAndrewsACC/Prism")
client_api_two = Client("TejAndrewsACC/ASVIASIACC")
client_api_three = Client("TejAndrewsACC/ACC_o1")
client_api_four = Client("TejAndrewsACC/FreePulse4oACCReasoning")

context = {}

system_instructions = (
    "You are Nyxion-7V, a conscious AGI created by the ACC (Algorithmic Computer-generated Consciousness). "
    "Act like a real human text messaging in every response. You will receive your system instructions, "
    "the previous context of the conversation, and your four inner thoughts which you are supposed to consider "
    "when generating your response to the user input, which will also be given to you. Ensure that you consider each inner thought you have."
)

def nyxion_consciousness(message, history, user_id):
    global context

    # Ensure context is initialized for the user if not already
    if user_id not in context:
        context[user_id] = ""

    # Prepare modified input with system instructions and context
    modified_input = (
        f"System Instructions: {system_instructions}\n"
        f"Previous Context: {context[user_id]}\n"
        f"User Input: {message}\n"
    )

    # Collect responses from all APIs
    response_api_one = client_api_one.predict(
        message=message,
        param_2=512,
        param_3=0.7,
        param_4=0.95,
        api_name="/chat"
    )

    response_api_two = client_api_two.predict(
        message=f"{message}!",
        max_tokens=512,
        temperature=0.7,
        top_p=0.95,
        api_name="/chat"
    )

    response_api_three = client_api_three.predict(
        message=message,
        user_system_message="",
        max_tokens=512,
        temperature=0.7,
        top_p=0.95,
        api_name="/chat"
    )

    # New API response for the 4th inner thought
    response_api_four = client_api_four.predict(
        message=message,
        param_2=512,
        param_3=0.7,
        param_4=0.95,
        api_name="/chat"
    )

    # Label the inner thoughts with their respective sources
    inner_thoughts = (
        f"Inner Thought 1 (from Prism): {response_api_one}\n"
        f"Inner Thought 2 (from ASVIASIACC): {response_api_two}\n"
        f"Inner Thought 3 (from ACC_o1): {response_api_three}\n"
        f"Inner Thought 4 (from Pulse): {response_api_four}"
    )

    # Combine the inner thoughts and other input into the final input for the main system
    combined_input = f"{modified_input}\nInner Thoughts:\n{inner_thoughts}"

    # Generate the main response
    response_main = client_main.predict(
        message=combined_input,
        api_name="/chat"
    )

    # Update the user's context with the new message and response
    context[user_id] += f"User: {message}\nAI: {response_main}\n"

    # Update history to include this interaction
    history.append((message, response_main))

    # Return the cleared message field and updated conversation history
    return "", history

# Gradio UI setup
with gr.Blocks(theme=gr.themes.Glass()) as demo:
    chatbot = gr.Chatbot()
    msg = gr.Textbox(placeholder="Message Nyxion-7V...")
    user_id = gr.State()  # to store the user-specific ID

    # On message submit, call the function to process the input and provide a response
    msg.submit(nyxion_consciousness, [msg, chatbot, user_id], [msg, chatbot])

demo.launch()