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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -26
app.py CHANGED
@@ -1,38 +1,67 @@
1
- import gradio as gr
2
- import openai
3
  import requests
 
 
4
 
5
- OPENAI_API_KEY = "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"
6
- GEMINI_API_KEY = "AIzaSyCOREn4MTSkCPRK_0BF-CY6qpFEmMda64E"
7
- GEMINI_ENDPOINT = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent"
8
 
9
- def fusion_response(message):
10
- # ChatGPT хариулт (new API)
 
 
 
11
  try:
12
- response = openai.chat.completions.create(
13
- model="gpt-4",
14
- messages=[{"role":"user","content": message}],
15
- api_key=OPENAI_API_KEY
16
  )
17
- chatgpt_resp = response.choices[0].message.content
18
  except Exception as e:
19
- chatgpt_resp = f"ChatGPT error: {e}"
20
 
21
- # Gemini 2 хариулт
 
22
  try:
23
- payload = {"contents": [{"parts":[{"text": message}]}]}
24
- headers = {"Content-Type": "application/json", "X-goog-api-key": GEMINI_API_KEY}
25
- gemini_resp = requests.post(GEMINI_ENDPOINT, headers=headers, json=payload).json()
26
- gemini_text = gemini_resp.get("parts", [{}])[0].get("text", "No response")
 
 
 
 
27
  except Exception as e:
28
- gemini_text = f"Gemini error: {e}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
- fusion_text = f"ChatGPT: {chatgpt_resp}\nGemini: {gemini_text}"
31
- return fusion_text
 
32
 
33
- with gr.Blocks() as demo:
34
- txt = gr.Textbox(label="Message", placeholder="Энд бичнэ үү...")
35
- out = gr.Textbox(label="Fusion Response")
36
- txt.submit(fusion_response, txt, out)
 
 
 
 
 
37
 
38
- demo.launch()
 
 
1
+ import os
 
2
  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(
17
+ model="gpt-3.5-turbo",
18
+ messages=[{"role": "user", "content": 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)
42
+
43
+ if "error" in gpt_reply.lower() and "error" in gemini_reply.lower():
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_":
67
+ app.launch()