MajorPlato / app.py
milanmor's picture
Create app.py
cbf71a4 verified
raw
history blame
1.69 kB
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)