M17idd commited on
Commit
634702d
·
verified ·
1 Parent(s): 9e9fb7f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -9
app.py CHANGED
@@ -1,8 +1,8 @@
1
-
2
  import gradio as gr
3
  from langchain.chat_models import ChatOpenAI
4
  from langchain.schema import HumanMessage
5
 
 
6
  llm = ChatOpenAI(
7
  base_url="https://api.together.xyz/v1",
8
  api_key="0291f33aee03412a47fa5d8e562e515182dcc5d9aac5a7fb5eefdd1759005979",
@@ -10,6 +10,7 @@ llm = ChatOpenAI(
10
  max_tokens=1024
11
  )
12
 
 
13
  def generate_report(operation_data, max_tokens, temperature, top_p):
14
  system_prompt = """تو یک افسر گزارش‌نویس نظامی هستی. وظیفه تو تهیه یک گزارش رسمی، دقیق، ساختاریافته و حرفه‌ای از عملیات نظامی بر اساس داده‌های ارائه‌شده است. اگر اطلاعاتی در متن وجود نداشت، صراحتاً بنویس «ذکر نشده است».
15
  لطفاً گزارش را دقیقاً در قالب فرمتیافته زیر تولید کن، با استفاده از نشانه‌گذاری واضح (مانند ایموجی‌ها و خطوط جداکننده) تا خروجی قابل‌خواندن و رسمی باشد:
@@ -41,19 +42,19 @@ def generate_report(operation_data, max_tokens, temperature, top_p):
41
  ✅ این گزارش بر اساس اطلاعات خام ارائه‌شده تولید شده و ممکن است برخی جزئیات در دسترس نبوده باشند.
42
  """
43
 
44
-
45
  messages = [
46
  HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
47
  ]
48
 
49
- response = llm.invoke(messages)
50
- report_text = response.content
51
 
 
52
  with open("report.txt", "w", encoding="utf-8") as file:
53
  file.write(response.content)
54
 
55
- return response.content
56
-
57
 
58
  demo = gr.Interface(
59
  fn=generate_report,
@@ -69,7 +70,8 @@ demo = gr.Interface(
69
  gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="🎯 Top-p", elem_id="slider-3"),
70
  ],
71
  outputs=[
72
- gr.Textbox(label="📄 گزارش رسمی تولید شده", lines=10, elem_id="military-output")
 
73
  ],
74
  title="🛰️ سامانه گزارش‌ساز هوش مصنوعی «توانا»",
75
  description="🔰 اطلاعات خام عملیات را وارد کن تا سامانه توانا یک گزارش رسمی، حرفه‌ای و محرمانه تولید کند.",
@@ -133,7 +135,7 @@ demo = gr.Interface(
133
  clear_btn="🗑️ پاک کردن"
134
  )
135
 
136
- demo.launch(share=True)
137
 
138
  if __name__ == "__main__":
139
- demo.launch(share=True)
 
 
1
  import gradio as gr
2
  from langchain.chat_models import ChatOpenAI
3
  from langchain.schema import HumanMessage
4
 
5
+ # مدل LLaMA-3 از طریق Together API
6
  llm = ChatOpenAI(
7
  base_url="https://api.together.xyz/v1",
8
  api_key="0291f33aee03412a47fa5d8e562e515182dcc5d9aac5a7fb5eefdd1759005979",
 
10
  max_tokens=1024
11
  )
12
 
13
+ # تابع تولید گزارش
14
  def generate_report(operation_data, max_tokens, temperature, top_p):
15
  system_prompt = """تو یک افسر گزارش‌نویس نظامی هستی. وظیفه تو تهیه یک گزارش رسمی، دقیق، ساختاریافته و حرفه‌ای از عملیات نظامی بر اساس داده‌های ارائه‌شده است. اگر اطلاعاتی در متن وجود نداشت، صراحتاً بنویس «ذکر نشده است».
16
  لطفاً گزارش را دقیقاً در قالب فرمتیافته زیر تولید کن، با استفاده از نشانه‌گذاری واضح (مانند ایموجی‌ها و خطوط جداکننده) تا خروجی قابل‌خواندن و رسمی باشد:
 
42
  ✅ این گزارش بر اساس اطلاعات خام ارائه‌شده تولید شده و ممکن است برخی جزئیات در دسترس نبوده باشند.
43
  """
44
 
45
+ # تعریف پیام‌ها برای مدل
46
  messages = [
47
  HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
48
  ]
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,
 
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") # اضافه کردن دکمه دانلود
75
  ],
76
  title="🛰️ سامانه گزارش‌ساز هوش مصنوعی «توانا»",
77
  description="🔰 اطلاعات خام عملیات را وارد کن تا سامانه توانا یک گزارش رسمی، حرفه‌ای و محرمانه تولید کند.",
 
135
  clear_btn="🗑️ پاک کردن"
136
  )
137
 
138
+ demo.launch()
139
 
140
  if __name__ == "__main__":
141
+ demo.launch()