File size: 2,012 Bytes
d985074
 
e43bdda
 
 
 
 
 
 
7a623cb
e43bdda
 
 
 
 
 
 
 
7a623cb
e43bdda
 
a74079c
e43bdda
69395bf
 
21b1ac1
 
e523e8e
21b1ac1
 
e523e8e
21b1ac1
e523e8e
21b1ac1
69395bf
a74079c
d985074
e523e8e
1bf0303
a8597aa
d6d8c91
725bed9
 
a8597aa
ae07b8b
1ded9e5
725bed9
 
d1e0a7e
ffacf64
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
53
54
55
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)
    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


demo = gr.Interface(fn=advancedPromptPipeline, 
                    inputs=[
                        gr.Textbox(lines=11, placeholder="Enter your prompt", label="Input Prompt", min_width=100),
                        gr.Radio(["gpt-4o-mini", "gpt-4o"], value="gpt-4o-mini", label="Select Model", info="Recommended: gpt-4o-mini"),
                        gr.Slider(minimum=0.0, maximum=1.0, value=0.0, step=0.1, label="Temperature", info="Recommended: Temperature=0.0")
                        ], 
                    outputs=[
                        gr.Textbox(lines=23, label="Advanced Prompt", show_copy_button=True, autoscroll=False, min_width=220),
                        ],
                    title="Advanced Prompt Generator",
                    description="This tool will enhance any given input for the optimal output! \n\n NOTE: You have to duplicate this space and add your OPENAI_API_KEY under Settings/ Variables and secrets",
                    theme="Base",
                   )


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