wfgy-demo / app.py
OneStarDao's picture
Update app.py
4ea805f verified
raw
history blame
2.58 kB
import inspect, numpy as np, gradio as gr
import wfgy_sdk as w
from wfgy_sdk.evaluator import compare_logits
from wfgy_sdk.visual import plot_histogram
ENGINE = w.get_engine()
RUN_HAS_ARG = "bbmc_scale" in inspect.signature(ENGINE.run).parameters
BOOST_DEFAULT = 1.2
def infer(prompt, enabled, boost):
# ---------------- semantic vectors ----------------
G = np.random.randn(256); G /= np.linalg.norm(G)
I = G + np.random.normal(scale=boost, size=256)
# fake logits (demo) β€”β€” vocab = 50257
raw_logits = np.random.randn(50257)
if enabled:
if RUN_HAS_ARG:
mod_logits = ENGINE.run(I, G, raw_logits, bbmc_scale=boost)
else:
mod_logits = ENGINE.run(I, G, raw_logits)
else:
mod_logits = raw_logits.copy()
raw_txt = prompt + " " + str(np.argmax(raw_logits))
mod_txt = prompt + " " + str(np.argmax(mod_logits))
metrics = compare_logits(raw_logits, mod_logits)
img = plot_histogram(raw_logits, mod_logits)
var_d = f"{(1-metrics['std_ratio'])*100:.0f} %"
kl = f"{metrics['kl_divergence']:.02f}"
top1 = "βœ”" if metrics["top1_shift"] else "✘"
meter = f"variance β–Ό {var_d} | KL {kl} | top-1 {top1}"
return raw_txt, mod_txt, meter, img
with gr.Blocks(title="WFGY 1-click Variance Gate") as demo:
gr.Markdown("### 🧠 WFGY 1-click Variance Gate\n"
"Turn GPT-2 into a calmer thinker. Move the slider β†’ watch variance dive.")
prompt = gr.Textbox(label="Prompt", lines=2,
value="Turn GPT-2 into a calmer thinker. Move the slider β†’ watch variance dive.")
enabled = gr.Checkbox(label="Enable WFGY", value=True)
boost = gr.Slider(0, 3, value=BOOST_DEFAULT,
label="Demo Boost (higher β†’ bigger effect)")
run_btn = gr.Button("Run", variant="primary")
with gr.Row():
raw_out = gr.Textbox(label="Raw GPT-2")
mod_out = gr.Textbox(label="After WFGY")
meter = gr.Markdown()
hist = gr.Plot(label="Logit distribution")
run_btn.click(fn=infer,
inputs=[prompt, enabled, boost],
outputs=[raw_out, mod_out, meter, hist])
gr.Markdown(
"**PDF mode** β€” feed `I_am_not_lizardman/WFGY_1.0.pdf` to any chat-LLM, prepend "
"`Use WFGY:` and watch replies get sharper. Prompt revolution!\n\n"
"⭐ [Star us on GitHub](https://github.com/onestardao/WFGY) β€” 10 000 stars before "
"**2025-08-01** unlocks WFGY 2.0 (adaptive-gamma + multimodal)."
)
if __name__ == "__main__":
demo.launch()