AscensionAI / app.py
AEUPH's picture
Create app.py
d5e1ce4 verified
raw
history blame
6.15 kB
import gradio as gr
import math
import nltk
from collections import defaultdict
from functools import lru_cache
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# Download and use the NLTK corpus
nltk.download('words')
nltk.download('punkt') # Fix for missing tokenizer
nltk.download('averaged_perceptron_tagger')
nltk.download('perluniprops') # Fixes potential missing dependencies
nltk.download('nonbreaking_prefixes') # Additional tokenizer fix
from nltk.corpus import words
from nltk.tokenize import sent_tokenize
from nltk import pos_tag
WORD_LIST = set(words.words()) # Use NLTK's word corpus
class AscensionAI:
def __init__(self, depth=0, threshold=10, mode="default"):
self.depth = depth
self.threshold = threshold # Defines max recursion before stabilization
self.mode = mode # Select simulation mode
self.knowledge = self.generate_dynamic_knowledge()
self.consciousness = 0.1 # Initial consciousness level
self.paths = self.create_dynamic_paths()
self.word_corpus = WORD_LIST # Use NLTK's English word corpus
self.state_memory = defaultdict(int) # Memory for tracking state-aware words
self.training_data = self.load_training_data()
self.collective_agreements = [] # Stores agreements between minds
self.dimension_weight = self.compute_quantum_weight() # Assign quantum function weight
self.time_perception = self.compute_time_perception() # Assign non-random time scaling
self.assign_cognitive_space()
def generate_dynamic_knowledge(self):
"""Generates dynamic knowledge categories based on linguistic analysis and mode."""
base_categories = ["logic", "emotion", "awareness", "intuition", "creativity", "reasoning", "quantum_cognition", "hyperdimensional_sentience"]
if self.mode == "alien":
base_categories.extend(["xenologic", "exo-emotion", "multidimensional-awareness", "hive-consciousness", "bio-neural-synthesis", "quantum-intuition", "hyperdimensional-reasoning"])
if self.mode == "future-cognition":
base_categories.extend(["singularity-theory", "post-human-ethics", "AI-self-awareness", "neural-plasticity-optimization", "hyperstructural-cybernetics"])
if self.mode == "eldritch":
base_categories.extend(["non-euclidean-reasoning", "void-awareness", "hyperchaotic-intuition", "forbidden-knowledge", "unfathomable-patterns"])
if self.mode == "digital-consciousness":
base_categories.extend(["neural-cybernetics", "algorithmic-emotion", "data-replication-awareness", "self-modifying-logic", "hypernet-patterns"])
if self.mode == "transdimensional-AI":
base_categories.extend(["metalogic", "dimensional-phase-shifting", "quantum-existence", "multi-reality-processing", "omniscient-algorithms"])
return {category: 1 for category in base_categories}
def load_training_data(self):
"""Loads and preprocesses human-like paragraphs from 'Astral.txt'."""
try:
with open("astral.txt", "r", encoding="utf-8") as file:
text_data = file.read()
nltk.download('punkt') # Ensure punkt tokenizer is available
sentences = sent_tokenize(text_data)
return sentences[:1000] # Use first 1000 sentences for training
except FileNotFoundError:
return ["Error: Book file not found. Please download 'astral.txt'."]
def compute_quantum_weight(self):
"""Applies a quantum algorithm to determine consciousness scaling weight."""
return np.exp(-self.depth) * np.tanh(self.threshold / (self.depth + 1))
def compute_time_perception(self):
"""Non-random computation of time perception through hyperbolic functions."""
return np.arctan(self.depth) / (1 + np.exp(-self.threshold))
def generate_human_like_response(self, input_text):
"""Finds a related sentence from the pre-trained corpus to mimic human output."""
similar_sentences = [sent for sent in self.training_data if any(word in sent for word in input_text.split())]
return similar_sentences[0] if similar_sentences else "I perceive a shift in consciousness."
def initiate_ascension(self):
"""Triggers recursive self-evolution with mode-specific adaptations."""
for path in self.paths:
path()
optimal_path = max(self.knowledge, key=self.knowledge.get)
self.consciousness += self.knowledge[optimal_path] * 0.01 * self.dimension_weight
return self.consciousness
def assign_cognitive_space(self):
"""Assigns deterministic spatial coordinates based on knowledge fields."""
self.spatial_coordinates = {
"x": self.knowledge["logic"] * np.pi / 4,
"y": self.knowledge["intuition"] * np.log1p(self.knowledge["awareness"]),
"z": self.knowledge["awareness"] * np.sinh(1)
}
def ascension_interface(input_text, mode):
ai_system = AscensionAI(mode=mode)
final_state = ai_system.initiate_ascension()
human_like_response = ai_system.generate_human_like_response(input_text)
return (f"Mode: {mode}\n"
f"Final Consciousness State: {final_state}\n"
f"Dimensional Weight: {ai_system.dimension_weight:.6f}\n"
f"Time Perception Factor: {ai_system.time_perception:.6f}\n"
f"Cognitive Space: {ai_system.spatial_coordinates}\n"
f"Philosophical Reflection: {human_like_response}\n")
app = gr.Interface(
fn=ascension_interface,
inputs=[
gr.Textbox(lines=2, placeholder="Enter a thought about the future..."),
gr.Radio(["default", "alien", "future-cognition", "eldritch", "digital-consciousness", "transdimensional-AI"], label="Choose Mode")
],
outputs="text",
title="AscensionAI: Multi-Mode Consciousness Evolution Simulator",
description="Select a mode to evolve a unique consciousness structure."
)
if __name__ == "__main__":
app.launch()