M17idd commited on
Commit
be8dda8
·
verified ·
1 Parent(s): bd87b58

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -3
app.py CHANGED
@@ -42,7 +42,6 @@ def generate_report(operation_data, max_tokens, temperature, top_p):
42
  ✅ این گزارش بر اساس اطلاعات خام ارائه‌شده تولید شده و ممکن است برخی جزئیات در دسترس نبوده باشند.
43
  """
44
 
45
-
46
  # تعریف پیام‌ها برای مدل
47
  messages = [
48
  HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
@@ -50,7 +49,12 @@ def generate_report(operation_data, max_tokens, temperature, top_p):
50
 
51
  # ارسال پیام به مدل و گرفتن پاسخ
52
  response = llm(messages)
53
- return response.content
 
 
 
 
 
54
 
55
  demo = gr.Interface(
56
  fn=generate_report,
@@ -65,7 +69,10 @@ demo = gr.Interface(
65
  gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="🔥 دمای خلاقیت (temperature)", elem_id="slider-2"),
66
  gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="🎯 Top-p", elem_id="slider-3"),
67
  ],
68
- outputs=gr.Textbox(label="📄 گزارش رسمی تولید شده", lines=10, elem_id="military-output"),
 
 
 
69
  title="🛰️ سامانه گزارش‌ساز هوش مصنوعی «توانا»",
70
  description="🔰 اطلاعات خام عملیات را وارد کن تا سامانه توانا یک گزارش رسمی، حرفه‌ای و محرمانه تولید کند.",
71
  css="""
@@ -123,10 +130,52 @@ demo = gr.Interface(
123
  border-color: #FF6F00 !important;
124
  outline: none;
125
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  """,
127
  submit_btn="🎯 تولید گزارش",
128
  clear_btn="🗑️ پاک کردن"
129
  )
 
 
 
 
 
 
130
  demo.launch()
131
 
132
  if __name__ == "__main__":
 
42
  ✅ این گزارش بر اساس اطلاعات خام ارائه‌شده تولید شده و ممکن است برخی جزئیات در دسترس نبوده باشند.
43
  """
44
 
 
45
  # تعریف پیام‌ها برای مدل
46
  messages = [
47
  HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
 
49
 
50
  # ارسال پیام به مدل و گرفتن پاسخ
51
  response = llm(messages)
52
+
53
+ # ذخیره گزارش در یک فایل متنی
54
+ with open("report.txt", "w", encoding="utf-8") as file:
55
+ file.write(response.content)
56
+
57
+ return response.content, "report.txt" # لینک به فایل متنی برای دانلود
58
 
59
  demo = gr.Interface(
60
  fn=generate_report,
 
69
  gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="🔥 دمای خلاقیت (temperature)", elem_id="slider-2"),
70
  gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="🎯 Top-p", elem_id="slider-3"),
71
  ],
72
+ outputs=[
73
+ gr.Textbox(label="📄 گزارش رسمی تولید شده", lines=10, elem_id="military-output"),
74
+ gr.File(label=" دانلود گزارش", elem_id="download-btn", visible=False) # لینک دانلود مخفی است تا وقتی گزارش نوشته شده
75
+ ],
76
  title="🛰️ سامانه گزارش‌ساز هوش مصنوعی «توانا»",
77
  description="🔰 اطلاعات خام عملیات را وارد کن تا سامانه توانا یک گزارش رسمی، حرفه‌ای و محرمانه تولید کند.",
78
  css="""
 
130
  border-color: #FF6F00 !important;
131
  outline: none;
132
  }
133
+
134
+ /* استایل جدید برای دکمه دانلود به شکل کارت */
135
+ #download-btn {
136
+ background-color: #FF6F00 !important; /* رنگ پس‌زمینه کارت نارنجی */
137
+ color: #eeeeee !important; /* رنگ متن */
138
+ border-radius: 12px;
139
+ padding: 10px;
140
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
141
+ font-size: 16px;
142
+ font-weight: bold;
143
+ text-align: center;
144
+ transition: all 0.3s ease;
145
+ display: inline-block;
146
+ margin-top: 20px;
147
+ cursor: pointer;
148
+ width: 100%;
149
+ max-width: 200px;
150
+ text-decoration: none;
151
+ border: none;
152
+ }
153
+
154
+ #download-btn:hover {
155
+ background-color: #e65c00 !important; /* تغییر رنگ به هنگام hover */
156
+ transform: scale(1.05);
157
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3);
158
+ }
159
+
160
+ #download-btn:active {
161
+ background-color: #cc5200 !important; /* رنگ پس‌زمینه هنگام کلیک */
162
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
163
+ }
164
+
165
+ /* نمایش کارت دانلود فقط بعد از تولید گزارش */
166
+ .gr-file {
167
+ visibility: hidden;
168
+ }
169
  """,
170
  submit_btn="🎯 تولید گزارش",
171
  clear_btn="🗑️ پاک کردن"
172
  )
173
+
174
+ def update_download_button(response, file):
175
+ if response:
176
+ return gr.File.update(visible=True, value=file)
177
+ return gr.File.update(visible=False)
178
+
179
  demo.launch()
180
 
181
  if __name__ == "__main__":