import torch import torch.nn as nn import torch.nn.functional as F import gradio as gr from huggingface_hub import InferenceClient from llama_cpp import Llama import spaces # Initialize the InferenceClient client = InferenceClient() llm = Llama.from_pretrained( repo_id="bartowski/perplexity-ai_r1-1776-distill-llama-70b-GGUF", filename="perplexity-ai_r1-1776-distill-llama-70b-IQ4_NL.gguf", ) # Fixed system message SYSTEM_MESSAGE = """You are H, an artificial reasoning inteligence(AIR) created by the ACC(Algorithmic Computer-generated Consciousness). """ # RNN Model class RNNModel(nn.Module): def __init__(self, input_size, hidden_size, output_size, num_layers=1): super(RNNModel, self).__init__() self.rnn = nn.RNN(input_size, hidden_size, num_layers, batch_first=True) self.fc = nn.Linear(hidden_size, output_size) def forward(self, x): h0 = torch.zeros(1, x.size(0), self.rnn.hidden_size).to(x.device) out, _ = self.rnn(x, h0) out = self.fc(out[:, -1, :]) # Get the last output return out # CNN Model class CNNModel(nn.Module): def __init__(self, num_classes): super(CNNModel, self).__init__() self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1) self.pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0) self.conv2 = nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1) self.fc1 = nn.Linear(32 * 8 * 8, 128) self.fc2 = nn.Linear(128, num_classes) def forward(self, x): x = self.pool(F.relu(self.conv1(x))) x = self.pool(F.relu(self.conv2(x))) x = x.view(-1, 32 * 8 * 8) # Flatten x = F.relu(self.fc1(x)) x = self.fc2(x) return x # NN Model (Feedforward Neural Network) class NNModel(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(NNModel, self).__init__() self.fc1 = nn.Linear(input_size, hidden_size) self.fc2 = nn.Linear(hidden_size, output_size) def forward(self, x): x = F.relu(self.fc1(x)) x = self.fc2(x) return x # PHI Model (Example: Softmax-Based Regression) class PHIModel(nn.Module): def __init__(self, input_size, output_size): super(PHIModel, self).__init__() self.fc = nn.Linear(input_size, output_size) self.softmax = nn.Softmax(dim=1) def forward(self, x): x = self.fc(x) x = self.softmax(x) return x # Chatbot Response Logic def respond( message, history: list[tuple[str, str]], max_tokens, temperature, top_p, ): # Use fixed system message messages = [{"role": "system", "content": SYSTEM_MESSAGE}] for val in history: if val[0]: messages.append({"role": "user", "content": val[0]}) if val[1]: messages.append({"role": "assistant", "content": val[1]}) messages.append({"role": "user", "content": message}) response = "" # Use the client to get the chat completion for message in client.chat_completion( messages, max_tokens=max_tokens, stream=True, temperature=temperature, top_p=top_p, ): token = message['choices'][0]['delta']['content'] response += token yield response # Gradio Chat Interface with Models demo = gr.ChatInterface( fn=respond, type="messages", chatbot=gr.Chatbot( type="messages", label="🟢H🟢", placeholder="🟢-Hi, I'm H-🟢", ), additional_inputs=[ gr.Slider(minimum=1, maximum=2048, value=2048, step=1, label="📏Maximum Response Length📏"), gr.Slider(minimum=0.1, maximum=4.0, value=0.3, step=0.1, label="👨‍🎨🎨Creativity🎨👨‍🎨"), gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="🧠⚡️Neural Activity⚡️🧠") ], theme=gr.themes.Ocean() ) if __name__ == "__main__": demo.launch(share=True)