import gradio as gr import json import random from openai import OpenAI import os # Configuração da API do Manus/OpenAI (será passada como secret no Space) client = OpenAI() def load_examples(): examples = [] try: with open("dataset.jsonl", "r", encoding="utf-8") as f: for line in f: examples.append(json.loads(line)) except Exception as e: print(f"Erro ao carregar dataset: {e}") return examples dataset_examples = load_examples() def reality_engine(instruction, category, premise_strength, physics_mode, output_style): prompt = f""" Tu és o Reality Engine. O teu objetivo é simular realidades alternativas e cenários especulativos. PREMISSA: {instruction} CATEGORIA: {category} FORÇA DA PREMISSA: {premise_strength} MODO DE FÍSICA: {physics_mode} ESTILO DE SAÍDA: {output_style} REGRAS DE RACIOCÍNIO: "aceitar premissa, definir regras, calcular consequências, evitar contradições" Por favor, gera uma simulação detalhada baseada nestes parâmetros. Distingue claramente entre realidade factual e esta especulação. Mantém a coerência interna, mesmo que a premissa seja impossível. """ try: response = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": "És o Reality Engine, um simulador de realidades alternativas de alta fidelidade."}, {"role": "user", "content": prompt} ], temperature=0.7 ) return response.choices[0].message.content except Exception as e: return f"Erro na simulação: {str(e)}" def get_random_example(): if not dataset_examples: return "E se a Lua desaparecesse?", "astronomia", "teorica", "realista", "analise_de_consequencias" ex = random.choice(dataset_examples) return ex['instruction'], ex['category'], ex['premise_strength'], ex['physics_mode'], ex['output_style'] with gr.Blocks(theme=gr.themes.Soft()) as demo: gr.Markdown("# 🌌 Reality Engine Bot") gr.Markdown("Simulador de realidades alternativas, mundos hipotéticos e cenários especulativos.") with gr.Row(): with gr.Column(): instruction = gr.Textbox(label="Instrução (E se...)", placeholder="Ex: E se a biblioteca de Alexandria nunca tivesse ardido?") category = gr.Dropdown( choices=["historia_alternativa", "ficcao_cientifica", "fantasia", "tecnologia", "biologia", "astronomia", "sociedade", "filosofia", "geopolitica", "evolucao", "transhumanismo"], label="Categoria" ) premise_strength = gr.Dropdown( choices=["historica", "teorica", "especulativa", "alta_especulacao", "ficcao"], label="Força da Premissa" ) physics_mode = gr.Dropdown( choices=["realista", "cientifico", "nova_fisica", "fantasia_regrada"], label="Modo de Física" ) output_style = gr.Dropdown( choices=["analise_de_consequencias", "worldbuilding", "simulacao_temporal", "impacto_social", "primeiro_contacto", "evolucao_civilizacional"], label="Estilo de Saída" ) with gr.Row(): btn_random = gr.Button("🎲 Exemplo Aleatório") btn_run = gr.Button("🚀 Iniciar Simulação", variant="primary") with gr.Column(): output = gr.Markdown(label="Resultado da Simulação") btn_random.click( fn=get_random_example, outputs=[instruction, category, premise_strength, physics_mode, output_style] ) btn_run.click( fn=reality_engine, inputs=[instruction, category, premise_strength, physics_mode, output_style], outputs=output ) if __name__ == "__main__": demo.launch()