File size: 881 Bytes
58312ff d43ca71 c094a84 8f702f4 a9cae6a 8f702f4 c094a84 a9cae6a 7975678 a9cae6a 5bd111b 8f702f4 5bd111b a9cae6a 8f702f4 5bd111b 8f702f4 | 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 | import gradio as gr
import numpy as np
def cascade_demo(query, N, r):
scores = np.log(r**np.arange(int(N))) + query/100
top5 = np.argsort(scores)[-5:][::-1]
result = "TOP 5 DOCS: "
for i in range(5):
idx = int(top5[i])
score = float(scores[idx])
result = result + "Doc#" + str(idx) + ":" + str(round(score,2)) + " "
metrics = "N=" + str(int(N)) + " r=" + str(round(r,3)) + " stable"
return result, metrics
with gr.Blocks() as demo:
gr.Markdown("# CascadeRAG Demo")
with gr.Row():
q = gr.Slider(0, 100, 50, label="Query")
n = gr.Slider(50, 500, 100, label="Docs")
r = gr.Slider(0.8, 0.99, 0.92, label="r")
out1 = gr.Textbox(lines=4, label="Results")
out2 = gr.Textbox(lines=2, label="Metrics")
gr.Button("Run").click(cascade_demo, [q,n,r], [out1,out2])
demo.launch() |