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()