File size: 1,111 Bytes
54e32c3
4a7d211
 
54e32c3
4a7d211
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54e32c3
 
4a7d211
 
 
 
54e32c3
00e3c78
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
import gradio as gr
import openai
import requests

OPENAI_API_KEY = "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"
GEMINI_API_KEY = "AIzaSyCOREn4MTSkCPRK_0BF-CY6qpFEmMda64E"

def fusion_response(message, mode="Fusion"):
    chatgpt_resp = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role":"user","content":message}]
    )["choices"][0]["message"]["content"]

    gemini_resp = requests.post(
        "https://gemini-api-url",
        headers={"Authorization": f"Bearer {GEMINI_API_KEY}"},
        json={"prompt": message}
    ).json()["reply"]

    if mode=="ChatGPT": return chatgpt_resp
    if mode=="Gemini": return gemini_resp
    # Fusion mode
    return f"ChatGPT: {chatgpt_resp}\nGemini: {gemini_resp}"

with gr.Blocks() as demo:
    txt = gr.Textbox(label="Message")
    out = gr.Textbox(label="Response")
    mode = gr.Dropdown(["ChatGPT","Gemini","Fusion"], value="Fusion", label="Mode")
    txt.submit(fusion_response, [txt, mode], out)

demo.launch()