File size: 1,682 Bytes
d985074
 
e43bdda
 
 
 
 
 
 
7a623cb
e43bdda
 
 
 
 
 
 
 
7a623cb
e43bdda
 
41e088c
e43bdda
69395bf
 
6a31a1c
 
e523e8e
6a31a1c
 
e523e8e
6a31a1c
e523e8e
6a31a1c
69395bf
6a31a1c
d985074
e523e8e
1bf0303
a8597aa
6a31a1c
7a623cb
 
a8597aa
ae07b8b
6a31a1c
ae07b8b
 
d985074
 
 
 
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
import gradio as gr

import os 
import time 
import asyncio

from pipeline import PromptEnhancer


async def advancedPromptPipeline(InputPrompt, model="gpt-4o-mini", temperature=0.0):
    
    if model == "gpt-4o":
        i_cost=5/10**6
        o_cost=15/10**6
    elif model == "gpt-4o-mini":
        i_cost=0.15/10**6
        o_cost=0.6/10**6
    
    enhancer = PromptEnhancer(model, temperature)
    
    start_time = time.time()
    advanced_prompt = await enhancer.enhance_prompt(InputPrompt, perform_eval=False)
    elapsed_time = time.time() - start_time


    return {
        #"model": model,
        "elapsed_time": elapsed_time,
        #"prompt_tokens": enhancer.prompt_tokens,
        #"completion_tokens": enhancer.completion_tokens,
        "approximate_cost": (enhancer.prompt_tokens*i_cost)+(enhancer.completion_tokens*o_cost),
        #"inout_prompt": input_prompt,
        "advanced_prompt": advanced_prompt["advanced_prompt"],
    }

    #return advanced_prompt["advanced_prompt"]


demo = gr.Interface(fn=advancedPromptPipeline, 
                    inputs=[
                        gr.Textbox(lines=14, placeholder="Enter your prompt", label="Input Prompt", min_width=100),
                        gr.Radio(["gpt-4o-mini", "gpt-4o"], value="gpt-4o-mini", label="Select Model"),
                        gr.Slider(minimum=0.0, maximum=1.0, value=0.0, step=0.1, label="Temperature")
                        ], 
                    outputs=[
                        gr.Textbox(lines=25, label="Advanced Prompt", show_copy_button=True, autoscroll=False, min_width=220),
                        ]
                   )


if __name__ == "__main__":
    demo.launch()