File size: 4,156 Bytes
ad87178 6341792 766e6f9 4a9ccb9 6341792 bff60c3 6341792 896ef55 4a9ccb9 9aa2922 3df797e de5dcef 766e6f9 3df797e 766e6f9 3df797e 766e6f9 3df797e 766e6f9 35c3d0c 766e6f9 896ef55 de5dcef |
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 |
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()
|