Update app.py
Browse files
app.py
CHANGED
@@ -2,6 +2,7 @@ import gradio as gr
|
|
2 |
from langchain.chat_models import ChatOpenAI
|
3 |
from langchain.schema import HumanMessage
|
4 |
|
|
|
5 |
llm = ChatOpenAI(
|
6 |
base_url="https://api.together.xyz/v1",
|
7 |
api_key="0291f33aee03412a47fa5d8e562e515182dcc5d9aac5a7fb5eefdd1759005979",
|
@@ -9,6 +10,7 @@ llm = ChatOpenAI(
|
|
9 |
max_tokens=1024
|
10 |
)
|
11 |
|
|
|
12 |
def generate_report(operation_data, max_tokens, temperature, top_p):
|
13 |
system_prompt = """تو یک افسر گزارشنویس نظامی هستی. وظیفه تو تهیه یک گزارش رسمی، دقیق، ساختاریافته و حرفهای از عملیات نظامی بر اساس دادههای ارائهشده است. اگر اطلاعاتی در متن وجود نداشت، صراحتاً بنویس «ذکر نشده است».
|
14 |
لطفاً گزارش را دقیقاً در قالب فرمتیافته زیر تولید کن، با استفاده از نشانهگذاری واضح (مانند ایموجیها و خطوط جداکننده) تا خروجی قابلخواندن و رسمی باشد:
|
@@ -40,36 +42,33 @@ def generate_report(operation_data, max_tokens, temperature, top_p):
|
|
40 |
✅ این گزارش بر اساس اطلاعات خام ارائهشده تولید شده و ممکن است برخی جزئیات در دسترس نبوده باشند.
|
41 |
"""
|
42 |
|
|
|
|
|
43 |
messages = [
|
44 |
HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
|
45 |
]
|
46 |
|
|
|
47 |
response = llm(messages)
|
48 |
return response.content
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
with gr.Row():
|
55 |
-
operation_data = gr.Textbox(
|
56 |
label="🪖 اطلاعات عملیات نظامی",
|
57 |
lines=10,
|
58 |
placeholder="مثلاً: در ساعت ۵ صبح، گردان الف از محور غربی وارد منطقه شد...",
|
59 |
elem_id="military-input"
|
60 |
-
)
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
military_output = gr.Textbox(label="📄 گزارش رسمی تولید شده", lines=10, elem_id="military-output")
|
71 |
-
|
72 |
-
demo.css = """
|
73 |
body {
|
74 |
background-color: #d9dec5 !important; /* رنگ بکگراند جدید */
|
75 |
color: #1e293b !important; /* رنگ متن جدید */
|
@@ -124,8 +123,10 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
124 |
border-color: #FF6F00 !important;
|
125 |
outline: none;
|
126 |
}
|
127 |
-
"""
|
128 |
-
|
|
|
|
|
129 |
demo.launch()
|
130 |
|
131 |
if __name__ == "__main__":
|
|
|
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 |
+
# تعریف پیامها برای مدل
|
47 |
messages = [
|
48 |
HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
|
49 |
]
|
50 |
|
51 |
+
# ارسال پیام به مدل و گرفتن پاسخ
|
52 |
response = llm(messages)
|
53 |
return response.content
|
54 |
|
55 |
+
demo = gr.Interface(
|
56 |
+
fn=generate_report,
|
57 |
+
inputs=[
|
58 |
+
gr.Textbox(
|
|
|
|
|
59 |
label="🪖 اطلاعات عملیات نظامی",
|
60 |
lines=10,
|
61 |
placeholder="مثلاً: در ساعت ۵ صبح، گردان الف از محور غربی وارد منطقه شد...",
|
62 |
elem_id="military-input"
|
63 |
+
),
|
64 |
+
gr.Slider(128, 2048, value=1024, step=64, label="🎯 حداکثر توکن خروجی", elem_id="slider-1"),
|
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="""
|
|
|
|
|
|
|
|
|
72 |
body {
|
73 |
background-color: #d9dec5 !important; /* رنگ بکگراند جدید */
|
74 |
color: #1e293b !important; /* رنگ متن جدید */
|
|
|
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__":
|