|
import streamlit as st |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
st.title("Jogi Dokumentumok AI Válaszgenerálás") |
|
|
|
|
|
session_id = st.session_state.session_id if "session_id" in st.session_state else 0 |
|
|
|
|
|
if "previous_conversations" not in st.session_state: |
|
st.session_state.previous_conversations = [] |
|
|
|
|
|
if st.button("Korábbi Beszélgetések Törlése"): |
|
st.session_state.previous_conversations = [] |
|
|
|
|
|
if st.checkbox("Korábbi Beszélgetések Mentése"): |
|
with open(f"previous_conversations_{session_id}.txt", "w") as file: |
|
for conv in st.session_state.previous_conversations: |
|
file.write(f"{conv}\n") |
|
st.write("A korábbi beszélgetések sikeresen el lettek mentve.") |
|
|
|
if st.checkbox("Korábbi Beszélgetések Betöltése"): |
|
previous_conversations_file = st.file_uploader("Válassz ki egy fájlt a korábbi beszélgetések betöltéséhez") |
|
if previous_conversations_file is not None: |
|
with previous_conversations_file as file: |
|
for line in file: |
|
st.session_state.previous_conversations.append(line.strip()) |
|
st.write("A korábbi beszélgetések sikeresen betöltve.") |
|
|
|
|
|
search_term = st.text_input("Keresés a Korábbi Beszélgetések Között", "") |
|
if st.button("Keresés"): |
|
search_results = [conv for conv in st.session_state.previous_conversations if search_term in conv] |
|
if search_results: |
|
st.subheader("Keresési Találatok:") |
|
for result in search_results: |
|
st.write(result) |
|
else: |
|
st.write("Nincs találat.") |
|
|
|
|
|
tokenizer_name = st.selectbox("Tokenizáló Modell", ["bert-base-uncased", "bert-base-multilingual-cased"]) |
|
generator_name = st.selectbox("Válaszgeneráló Modell", ["microsoft/phi-2", "gpt2"]) |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(tokenizer_name) |
|
model = AutoModelForCausalLM.from_pretrained(generator_name, trust_remote_code=True) |
|
|
|
|
|
document_text = st.text_area("Jogi Dokumentum", "") |
|
|
|
|
|
context = st.text_area("Korábbi Beszélgetéshez Tartozó Kontextus", "") |
|
|
|
|
|
if st.button("Generálj Választ"): |
|
if context: |
|
input_text = f"{context} {document_text}" |
|
else: |
|
input_text = document_text |
|
|
|
|
|
response = generate_response(input_text, tokenizer, model) |
|
|
|
|
|
st.subheader("Generált Válasz:") |
|
st.write(response) |
|
|
|
|
|
st.session_state.previous_conversations.append({"session_id": session_id, "input_text": input_text, "response": response}) |
|
|