Arif571 commited on
Commit
bbbe640
·
verified ·
1 Parent(s): 2951bf8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -18
app.py CHANGED
@@ -5,17 +5,18 @@ import gradio as gr
5
  import graphviz
6
 
7
  # --- SETUP API KEY ---
8
- # Ini API Key Anda yang sudah saya tanam langsung
9
  MY_API_KEY = "AIzaSyAY4KmX9Xf1xZ4bnme7c1mw61QWn4nNLDI"
10
 
 
 
11
  try:
12
  genai.configure(api_key=MY_API_KEY)
13
- # Kita pakai model Flash agar cepat & gratis
14
- model = genai.GenerativeModel('gemini-1.5-flash')
15
  except Exception as e:
16
  print(f"Error Setup: {e}")
17
 
18
- # --- LOGIKA INSINYUR (BRAIN) ---
19
  def engineer_mode(deskripsi_user):
20
  if not deskripsi_user:
21
  return "⚠️ Mohon isi deskripsi mesin dulu.", None
@@ -36,26 +37,23 @@ def engineer_mode(deskripsi_user):
36
  """
37
 
38
  try:
 
39
  response = model.generate_content(final_prompt)
40
  text = response.text
41
 
42
  # Ekstraksi Diagram
43
  dot_code = ""
44
- match = re.search(r'digraph G \{.*\}', text, re.DOTALL)
45
- if match:
46
- dot_code = match.group(0)
 
 
47
  else:
48
- if "digraph" in text:
49
- s = text.find("digraph")
50
- e = text.rfind("}") + 1
51
- dot_code = text[s:e]
52
- else:
53
- dot_code = 'digraph G { Error -> "Diagram Gagal"; }'
54
 
55
  # Render Gambar
56
  try:
57
  src = graphviz.Source(dot_code)
58
- # Di HuggingFace kita render ke file sementara
59
  output_path = src.render("diagram_output", format="png")
60
  return text, output_path
61
  except:
@@ -66,12 +64,11 @@ def engineer_mode(deskripsi_user):
66
 
67
  # --- TAMPILAN (UI) ---
68
  with gr.Blocks(theme=gr.themes.Soft()) as app:
69
- gr.Markdown("# 🏭 AI Perancang Mesin (Fast Version)")
70
- gr.Markdown("Masukkan ide mesin, AI akan buatkan Part List, Wiring, Program & Diagram.")
71
 
72
  with gr.Row():
73
- inp = gr.Textbox(lines=4, label="Deskripsi Mesin", placeholder="Contoh: Alat sortir otomatis...")
74
- btn = gr.Button("🚀 RANCANG SEKARANG", variant="primary")
75
 
76
  with gr.Row():
77
  out_txt = gr.Markdown(label="Dokumen Teknis")
 
5
  import graphviz
6
 
7
  # --- SETUP API KEY ---
8
+ # Menggunakan API Key Anda
9
  MY_API_KEY = "AIzaSyAY4KmX9Xf1xZ4bnme7c1mw61QWn4nNLDI"
10
 
11
+ # --- PERBAIKAN DI SINI ---
12
+ # Kita gunakan 'gemini-pro' karena lebih stabil dan pasti ada.
13
  try:
14
  genai.configure(api_key=MY_API_KEY)
15
+ model = genai.GenerativeModel('gemini-pro')
 
16
  except Exception as e:
17
  print(f"Error Setup: {e}")
18
 
19
+ # --- LOGIKA INSINYUR ---
20
  def engineer_mode(deskripsi_user):
21
  if not deskripsi_user:
22
  return "⚠️ Mohon isi deskripsi mesin dulu.", None
 
37
  """
38
 
39
  try:
40
+ # Generate konten
41
  response = model.generate_content(final_prompt)
42
  text = response.text
43
 
44
  # Ekstraksi Diagram
45
  dot_code = ""
46
+ # Mencari pola digraph G { ... }
47
+ if "digraph G {" in text:
48
+ s = text.find("digraph G {")
49
+ e = text.rfind("}") + 1
50
+ dot_code = text[s:e]
51
  else:
52
+ dot_code = 'digraph G { Error -> "Diagram Gagal"; }'
 
 
 
 
 
53
 
54
  # Render Gambar
55
  try:
56
  src = graphviz.Source(dot_code)
 
57
  output_path = src.render("diagram_output", format="png")
58
  return text, output_path
59
  except:
 
64
 
65
  # --- TAMPILAN (UI) ---
66
  with gr.Blocks(theme=gr.themes.Soft()) as app:
67
+ gr.Markdown("# 🏭 AI Perancang Mesin (Versi Stabil)")
 
68
 
69
  with gr.Row():
70
+ inp = gr.Textbox(lines=4, label="Deskripsi Mesin", placeholder="Jelaskan mesin yang mau dibuat...")
71
+ btn = gr.Button("🚀 RANCANG (GEMINI PRO)", variant="primary")
72
 
73
  with gr.Row():
74
  out_txt = gr.Markdown(label="Dokumen Teknis")