Update app.py
Browse files
app.py
CHANGED
|
@@ -1,41 +1,41 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
-
from
|
|
|
|
| 3 |
|
| 4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
|
|
|
| 6 |
def generate_report(operation_data, max_tokens, temperature, top_p):
|
| 7 |
system_prompt = "تو یک افسر گزارشنویس نظامی هستی. از دادههای خام عملیات نظامی، یک گزارش رسمی، دقیق و خلاصه تهیه کن."
|
| 8 |
|
|
|
|
| 9 |
messages = [
|
| 10 |
-
|
| 11 |
-
{"role": "user", "content": operation_data}
|
| 12 |
]
|
| 13 |
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
messages,
|
| 18 |
-
max_tokens=max_tokens,
|
| 19 |
-
stream=True,
|
| 20 |
-
temperature=temperature,
|
| 21 |
-
top_p=top_p,
|
| 22 |
-
):
|
| 23 |
-
token = message.choices[0].delta.content
|
| 24 |
-
report += token
|
| 25 |
-
yield report
|
| 26 |
|
|
|
|
| 27 |
demo = gr.Interface(
|
| 28 |
fn=generate_report,
|
| 29 |
inputs=[
|
| 30 |
gr.Textbox(label="اطلاعات عملیات نظامی", lines=10, placeholder="مثلاً: در ساعت ۵ صبح، گردان الف از محور غربی وارد منطقه شد..."),
|
| 31 |
-
gr.Slider(
|
| 32 |
-
gr.Slider(0.1,
|
| 33 |
gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p"),
|
| 34 |
],
|
| 35 |
-
outputs=gr.Textbox(label="گزارش رسمی تولید شده"),
|
| 36 |
title="گزارشنویس هوش مصنوعی عملیات نظامی",
|
| 37 |
-
description="اطلاعات خام عملیات نظامی را وارد کن تا گزارش
|
| 38 |
)
|
| 39 |
|
| 40 |
if __name__ == "__main__":
|
| 41 |
-
demo.launch()
|
|
|
|
| 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",
|
| 9 |
+
model="meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",
|
| 10 |
+
max_tokens=1024
|
| 11 |
+
)
|
| 12 |
|
| 13 |
+
# تابع تولید گزارش
|
| 14 |
def generate_report(operation_data, max_tokens, temperature, top_p):
|
| 15 |
system_prompt = "تو یک افسر گزارشنویس نظامی هستی. از دادههای خام عملیات نظامی، یک گزارش رسمی، دقیق و خلاصه تهیه کن."
|
| 16 |
|
| 17 |
+
# تعریف پیامها برای مدل
|
| 18 |
messages = [
|
| 19 |
+
HumanMessage(content=f"{system_prompt}\n\n{operation_data}")
|
|
|
|
| 20 |
]
|
| 21 |
|
| 22 |
+
# ارسال پیام به مدل و گرفتن پاسخ
|
| 23 |
+
response = llm(messages)
|
| 24 |
+
return response.content
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
+
# رابط Gradio
|
| 27 |
demo = gr.Interface(
|
| 28 |
fn=generate_report,
|
| 29 |
inputs=[
|
| 30 |
gr.Textbox(label="اطلاعات عملیات نظامی", lines=10, placeholder="مثلاً: در ساعت ۵ صبح، گردان الف از محور غربی وارد منطقه شد..."),
|
| 31 |
+
gr.Slider(128, 2048, value=1024, step=64, label="حداکثر توکن خروجی"),
|
| 32 |
+
gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="دمای خلاقیت (temperature)"),
|
| 33 |
gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p"),
|
| 34 |
],
|
| 35 |
+
outputs=gr.Textbox(label="گزارش رسمی تولید شده", lines=10),
|
| 36 |
title="گزارشنویس هوش مصنوعی عملیات نظامی",
|
| 37 |
+
description="اطلاعات خام عملیات نظامی را وارد کن تا گزارش رسمی، خلاصه و حرفهای تولید شود."
|
| 38 |
)
|
| 39 |
|
| 40 |
if __name__ == "__main__":
|
| 41 |
+
demo.launch()
|