reporting / app.py
M17idd's picture
Update app.py
766e6f9 verified
raw
history blame
2.72 kB
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()