File size: 2,722 Bytes
ad87178
6341792
 
766e6f9
 
 
9aa2922
4a9ccb9
6341792
 
bff60c3
6341792
 
 
896ef55
766e6f9
 
35c3d0c
4a9ccb9
9aa2922
766e6f9
35c3d0c
3df797e
 
 
766e6f9
3df797e
 
766e6f9
3df797e
766e6f9
3df797e
 
 
 
 
 
766e6f9
 
 
 
3df797e
 
 
 
 
766e6f9
 
 
 
 
 
 
 
 
 
 
 
 
 
35c3d0c
766e6f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5c02a22
896ef55
35c3d0c
 
 
 
36bf041
c86406f
35c3d0c
4a9ccb9
35c3d0c
 
 
896ef55
 
766e6f9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import gradio as gr
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage




# مدل LLaMA-3 از طریق Together API
llm = ChatOpenAI(
    base_url="https://api.together.xyz/v1",
    api_key="0291f33aee03412a47fa5d8e562e515182dcc5d9aac5a7fb5eefdd1759005979",
    model="meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",
    max_tokens=1024
)




# تابع تولید گزارش
def generate_report(operation_data, max_tokens, temperature, top_p):


    system_prompt = """تو یک افسر گزارش‌نویس نظامی هستی. وظیفه تو تهیه یک گزارش رسمی، دقیق، ساختاریافته و حرفه‌ای از عملیات نظامی بر اساس داده‌های ارائه‌شده است. اگر اطلاعاتی در متن وجود نداشت، صراحتاً بنویس «ذکر نشده است».

لطفاً گزارش را دقیقاً در قالب فرمتیافته زیر تولید کن، با استفاده از نشانه‌گذاری واضح (مانند ایموجی‌ها و خطوط جداکننده) تا خروجی قابل‌خواندن و رسمی باشد:
[شرایط خاص، اطلاعات پشتیبانی، آب‌وهوا، یا بنویس: ذکر نشده است]

━━━━━━━━━━━━━━━━━━━━━━
✅ این گزارش بر اساس اطلاعات خام ارائه‌شده تولید شده و ممکن است برخی جزئیات در دسترس نبوده باشند.

"""






    # تعریف پیام‌ها برای مدل
    messages = [
        HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
    ]


















    # ارسال پیام به مدل و گرفتن پاسخ
    response = llm(messages)
    return response.content

# رابط Gradio
demo = gr.Interface(
    fn=generate_report,
    inputs=[
        gr.Textbox(label="اطلاعات عملیات نظامی", lines=10, placeholder="مثلاً: در ساعت ۵ صبح، گردان الف از محور غربی وارد منطقه شد..."),
        gr.Slider(128, 2048, value=1024, step=64, label="حداکثر توکن خروجی"),
        gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="دمای خلاقیت (temperature)"),
        gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p"),
    ],
    outputs=gr.Textbox(label="گزارش رسمی تولید شده", lines=10),
    title="گزارش‌نویس هوش مصنوعی عملیات نظامی",
    description="اطلاعات خام عملیات نظامی را وارد کن تا گزارش رسمی، خلاصه و حرفه‌ای تولید شود."
)















if __name__ == "__main__":
    demo.launch()