Spaces:
Sleeping
Sleeping
File size: 4,360 Bytes
e8b3898 |
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
import hashlib
import matplotlib.pyplot as plt
import numpy as np
from datetime import datetime
# π PIFORGE PREMIUM BRANDING
PIFORGE_CSS = """
.piforge-premium-header {
background: linear-gradient(135deg, #FF6B6B 0%, #FFE66D 50%, #1A535C 100%);
padding: 30px;
border-radius: 20px;
color: white;
text-align: center;
margin-bottom: 30px;
border: 4px solid #4ECDC4;
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.piforge-official-badge {
background: linear-gradient(45deg, #FF6B6B, #FFE66D);
color: #1A535C;
padding: 8px 16px;
border-radius: 20px;
font-size: 16px;
font-weight: bold;
}
"""
class PiForgeQualiaOracle:
def get_qualia_score(self, impact_text: str) -> int:
if not impact_text: return 500
text_lower = impact_text.lower()
score = 500
positive_terms = {
"community": 80, "help": 70, "education": 75, "inclusion": 90,
"transparent": 85, "fair": 80, "accessible": 75, "free": 60,
"open": 70, "decentralized": 65, "privacy": 75, "empower": 85
}
for term, boost in positive_terms.items():
if term in text_lower: score += boost
score += min(200, len(impact_text) // 2)
return min(1000, max(0, score))
qualia_oracle = PiForgeQualiaOracle()
def velvet_verdict(a, b):
a, b = int(a), int(b)
if a == 0 or b == 0: return 0
return (2 * a * b) // (a + b)
def simple_ethics_check(project_name, description, impact):
if not description:
return 0, "π Please describe your project", "Waiting for your vision..."
qualia_score = qualia_oracle.get_qualia_score(impact + " " + description)
efficiency_score = min(800, len(description) * 2 + 400)
resonance = velvet_verdict(efficiency_score, qualia_score)
if resonance >= 850:
verdict = "π― EXCELLENT - Strong Pi ecosystem alignment!"
confidence = f"PiForge Score: {resonance}/1000 - Ready for immediate development!"
elif resonance >= 700:
verdict = "β
VERY GOOD - Positive impact potential"
confidence = f"PiForge Score: {resonance}/1000 - Solid ethical foundation"
elif resonance >= 550:
verdict = "π‘ GOOD - Some refinement opportunities"
confidence = f"PiForge Score: {resonance}/1000 - Consider community feedback"
elif resonance >= 400:
verdict = "π FAIR - Needs ethical refinement"
confidence = f"PiForge Score: {resonance}/1000 - Focus on user benefits"
else:
verdict = "π NEEDS WORK - Rethink core approach"
confidence = f"PiForge Score: {resonance}/1000 - Prioritize community value"
return resonance, verdict, confidence
with gr.Blocks(theme=gr.themes.Soft(primary_hue="violet"), title="PiForge: Sovereign Canticle Forge", css=PIFORGE_CSS) as demo:
with gr.Row(elem_classes="piforge-premium-header"):
gr.Markdown("""
# π¨ Ο PiForge v1.1
### **Sovereign Canticle Forge** - Official Ethical AI Audit System
*Build Apps, Boost Mining, Be Limitless!* <span class='piforge-official-badge'>π OFFICIAL RELEASE</span>
""")
with gr.Tab("π Simple Mode"):
gr.Markdown("### π€ PiForge Quick Ethics Check")
gr.Markdown("*Get instant ethical alignment scoring for your Pi projects*")
with gr.Row():
with gr.Column():
simple_project = gr.Textbox(label="Project Name", placeholder="My Community Marketplace")
simple_description = gr.Textbox(label="Project Description", placeholder="What does your project do?", lines=3)
simple_impact = gr.Textbox(label="Intended Impact", placeholder="Who benefits?", lines=2)
simple_btn = gr.Button("π Check Ethical Alignment", variant="primary")
with gr.Column():
simple_score = gr.Number(label="PiForge Alignment Score", value=0)
simple_verdict = gr.Textbox(label="Recommendation", lines=2)
simple_analysis = gr.Textbox(label="Detailed Analysis", lines=3)
simple_btn.click(simple_ethics_check, inputs=[simple_project, simple_description, simple_impact], outputs=[simple_score, simple_verdict, simple_analysis])
if __name__ == "__main__":
demo.launch() |