Xyro123 commited on
Commit
1e24c34
·
verified ·
1 Parent(s): 4a35942

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -21
app.py CHANGED
@@ -3,14 +3,20 @@ import requests
3
  import gradio as gr
4
  from openai import OpenAI
5
 
6
- # 🔑 API key-үүдийг системээс авах
7
- openai_api_key = os.getenv("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")
8
- gemini_api_key = "AIzaSyCOREn4MTSkCPRK_0BF-CY6qpFEmMda64E"
 
 
 
 
9
 
10
  # ✅ OpenAI client
 
 
11
  client = OpenAI(api_key=openai_api_key)
12
 
13
- # 🧠 ChatGPT function
14
  def chatgpt_response(prompt):
15
  try:
16
  completion = client.chat.completions.create(
@@ -19,23 +25,23 @@ def chatgpt_response(prompt):
19
  )
20
  return completion.choices[0].message.content
21
  except Exception as e:
22
- return f"ChatGPT error: {e}"
23
 
24
- # 🤖 Gemini function
25
  def gemini_response(prompt):
 
 
26
  try:
27
  url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key={gemini_api_key}"
28
  headers = {"Content-Type": "application/json"}
29
- data = {
30
- "contents": [{"parts": [{"text": prompt}]}]
31
- }
32
  res = requests.post(url, headers=headers, json=data)
33
  res_json = res.json()
34
  return res_json["candidates"][0]["content"]["parts"][0]["text"]
35
  except Exception as e:
36
- return f"Gemini error: {e}"
37
 
38
- # ⚡ Fusion Logic (хоёулангийн хариултыг нэгтгэнэ)
39
  def fusion_ai(prompt):
40
  gpt_reply = chatgpt_response(prompt)
41
  gemini_reply = gemini_response(prompt)
@@ -44,23 +50,32 @@ def fusion_ai(prompt):
44
  return "⚠️ Аль аль AI хариу өгөөгүй байна. API key эсвэл интернетээ шалгаарай."
45
 
46
  return f"""
47
- 🧩 *Fusion Summary*
48
- ChatGPT 🧠: {gpt_reply}
49
-
50
- Gemini 🌐: {gemini_reply}
 
 
 
 
 
51
 
52
- *ZeppFusion Combined Insight:*
53
- {gpt_reply if len(gpt_reply) > len(gemini_reply) else gemini_reply}
 
 
 
 
54
  """
55
 
56
- # 💬 Gradio Interface
57
  app = gr.Interface(
58
  fn=fusion_ai,
59
- inputs=gr.Textbox(label="🗨️ Та асуултаа бичнэ үү"),
60
- outputs=gr.Markdown(label="💡 ZeppFusion AI-ийн хариулт"),
61
  title="🚀 ZeppFusion AI",
62
- description="ChatGPT + Gemini хослуулсан Fusion AI chatbot",
63
  theme="soft",
 
64
  )
65
 
66
  if _name_ == "_main_":
 
3
  import gradio as gr
4
  from openai import OpenAI
5
 
6
+ # 🔑 API key environment variable-аас унших
7
+ openai_api_key = os.getenv("OPENAI_API_KEY")
8
+ gemini_api_key = os.getenv("GEMINI_API_KEY")
9
+
10
+ # 🔍 Баталгаажуулах (лог)
11
+ print("OPENAI_API_KEY =", openai_api_key)
12
+ print("GEMINI_API_KEY =", gemini_api_key)
13
 
14
  # ✅ OpenAI client
15
+ if openai_api_key is None:
16
+ raise ValueError("⚠️ OPENAI_API_KEY environment variable-ийг тохируулна уу!")
17
  client = OpenAI(api_key=openai_api_key)
18
 
19
+ # 🧠 ChatGPT хариу
20
  def chatgpt_response(prompt):
21
  try:
22
  completion = client.chat.completions.create(
 
25
  )
26
  return completion.choices[0].message.content
27
  except Exception as e:
28
+ return f"⚠️ ChatGPT error: {e}"
29
 
30
+ # 🤖 Gemini хариу
31
  def gemini_response(prompt):
32
+ if gemini_api_key is None:
33
+ return "⚠️ GEMINI_API_KEY тохируулаагүй байна!"
34
  try:
35
  url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key={gemini_api_key}"
36
  headers = {"Content-Type": "application/json"}
37
+ data = {"contents": [{"parts": [{"text": prompt}]}]}
 
 
38
  res = requests.post(url, headers=headers, json=data)
39
  res_json = res.json()
40
  return res_json["candidates"][0]["content"]["parts"][0]["text"]
41
  except Exception as e:
42
+ return f"⚠️ Gemini error: {e}"
43
 
44
+ # ⚡ Fusion Logic
45
  def fusion_ai(prompt):
46
  gpt_reply = chatgpt_response(prompt)
47
  gemini_reply = gemini_response(prompt)
 
50
  return "⚠️ Аль аль AI хариу өгөөгүй байна. API key эсвэл интернетээ шалгаарай."
51
 
52
  return f"""
53
+ <div style="background-color:#0d1117; padding:20px; border-radius:10px; color:#e6edf3; font-family:Segoe UI">
54
+ <h3>🧩 <span style="color:#00d9ff">Fusion Summary</span></h3>
55
+ <p><b>ChatGPT 🧠:</b> {gpt_reply}</p>
56
+ <p><b>Gemini 🌐:</b> {gemini_reply}</p>
57
+ <hr style="border:1px solid #222;">
58
+ <h4>✨ <span style="color:#9b59b6">ZeppFusion Combined Insight:</span></h4>
59
+ <p>{gpt_reply if len(gpt_reply) > len(gemini_reply) else gemini_reply}</p>
60
+ </div>
61
+ """
62
 
63
+ # 🎨 Gradio Interface (Dark mode + styling)
64
+ css = """
65
+ .gradio-container {background-color: #0d1117 !important; color: #e6edf3;}
66
+ h1, h3, h4, label {color: #00d9ff !important;}
67
+ textarea, input {background-color:#161b22 !important; color:#fff !important; border-radius:10px;}
68
+ button {background-color:#00d9ff !important; color:#000 !important; font-weight:bold; border-radius:10px;}
69
  """
70
 
 
71
  app = gr.Interface(
72
  fn=fusion_ai,
73
+ inputs=gr.Textbox(label="🗨️ Та асуултаа бичнэ үү", placeholder="Жишээ нь: AI гэж юу вэ?"),
74
+ outputs=gr.HTML(label="💡 ZeppFusion AI-ийн хариулт"),
75
  title="🚀 ZeppFusion AI",
76
+ description="ChatGPT 🧠 + Gemini 🌐 хослуулсан Fusion AI chatbot — Where Intelligence Unites.",
77
  theme="soft",
78
+ css=css,
79
  )
80
 
81
  if _name_ == "_main_":