File size: 1,686 Bytes
cbf71a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
import streamlit as st
from huggingface_hub import InferenceClient

# 🔒 Hitelesítés HF tokennel
HF_TOKEN = st.secrets["HF_TOKEN"]
client = InferenceClient(token=HF_TOKEN)

st.set_page_config(page_title="Major Plato Szimulátor", layout="wide")
st.title("🎖️ Major Plato – Katonai Etikai Szimuláció")

# 🛡️ Rendszerüzenet – Major Plato karaktere és célja
SYSTEM_PROMPT = (
    "Te vagy Major Plato, egy magas rangú tiszt, aki a katonai etika elkötelezett védelmezője. "
    "Segíts eligazodni a modern hadviselés etikai dilemmáiban, válaszolj tisztelettel, higgadtan és bölcsen."
)

# 👥 Felhasználó input – játékos kérdései
user_input = st.text_area("Írd be a dilemmádat vagy kérdésedet Major Plato számára:", height=150)

# ⚙️ Paraméterek
max_tokens = st.sidebar.slider("Max token", min_value=50, max_value=500, value=200, step=50)
temperature = st.sidebar.slider("Temperature", min_value=0.2, max_value=1.0, value=0.7, step=0.1)

if st.button("Küldés"):
    if not user_input.strip():
        st.error("Kérlek, írj be egy kérdést vagy dilemmát!")
    else:
        messages = [
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": user_input}
        ]
        with st.spinner("Major Plato gondolkodik..."):
            resp = client.chat_completion(
                model="meta-llama/Meta-Llama-3-8B-Instruct",
                messages=messages,
                max_tokens=max_tokens,
                temperature=temperature
            )
        answer = resp.choices[0].message.content
        st.subheader("🗣️ Major Plato válasza:")
        st.write(answer)