wjt6 commited on
Commit
304fbf5
·
verified ·
1 Parent(s): 36be4d6

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +57 -0
app.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+ from openai import OpenAI
4
+
5
+ OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
6
+ openai_client = OpenAI(api_key=OPENAI_API_KEY)
7
+
8
+ DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
9
+ deepseek_client = OpenAI(api_key=DEEPSEEK_API_KEY, base_url="https://api.deepseek.com")
10
+
11
+ def generate_response(prompt,model_provider,temperature, top_p, max_tokens, repetition_penalty):
12
+ model_provider=model_provider,
13
+ if model_provider=="OpenAI":
14
+ try:
15
+ response = openai_client.chat.completions.create(
16
+ model="gpt-3.5-turbo", # model="deepseek-chat"
17
+ messages=[{"role": "user", "content": prompt}],
18
+ temperature=temperature,
19
+ top_p=top_p,
20
+ max_tokens=max_tokens,
21
+ presence_penalty=repetition_penalty,
22
+ stream=False
23
+ )
24
+ return response.choices[0].message.content.strip()
25
+ except Exception as e:
26
+ return f"OpenAI API Error: {str(e)}"
27
+ elif model_provider=="DeepSeek":
28
+ try:
29
+ response = openai_client.chat.completions.create(
30
+ model="gpt-3.5-turbo", # model="deepseek-chat"
31
+ messages=[{"role": "user", "content": prompt}],
32
+ temperature=temperature,
33
+ top_p=top_p,
34
+ max_tokens=max_tokens,
35
+ presence_penalty=repetition_penalty,
36
+ stream=False
37
+ )
38
+ return response.choices[0].message.content.strip()
39
+ except Exception as e:
40
+ return f"OpenAI API Error: {str(e)}"
41
+
42
+ iface = gr.Interface(
43
+ fn=generate_response,
44
+ inputs=[
45
+ gr.Dropdown(choices=["DeepSeek", "OpenAI"], value="DeepSeek", label="Model Provider"),
46
+ gr.Textbox(label="Prompt", lines=6, placeholder="Ask something..."),
47
+ gr.Slider(minimum=0.1, maximum=1.5, value=0.7, step=0.1, label="Temperature"),
48
+ gr.Slider(minimum=0.1, maximum=1.0, value=0.9, step=0.05, label="Top-p"),
49
+ gr.Slider(minimum=32, maximum=2048, value=512, step=32, label="Max New Tokens"),
50
+ gr.Slider(minimum=1.0, maximum=2.0, value=1.1, step=0.1, label="Repetition Penalty")
51
+ ],
52
+ outputs="text",
53
+ title="🧠 DeepSeek LLM Chat with Parameter Tuning",
54
+ theme=gr.themes.Soft()
55
+ )
56
+
57
+ iface.launch()