File size: 2,984 Bytes
b75809a
748baf0
b75809a
748baf0
b75809a
748baf0
 
b75809a
748baf0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b75809a
748baf0
 
 
 
 
b75809a
 
 
 
 
748baf0
 
b75809a
748baf0
 
 
 
 
 
b75809a
748baf0
 
56ec0dc
748baf0
 
 
b75809a
748baf0
 
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import streamlit as st
from transformers import AutoTokenizer, AutoModelForCausalLM

st.title("Jogi Dokumentumok AI Válaszgenerálás")

# Egyedi session azonosító létrehozása
session_id = st.session_state.session_id if "session_id" in st.session_state else 0

# Előző beszélgetések tárolása session state-ben
if "previous_conversations" not in st.session_state:
    st.session_state.previous_conversations = []

# Korábbi beszélgetések törlése
if st.button("Korábbi Beszélgetések Törlése"):
    st.session_state.previous_conversations = []

# Korábbi beszélgetések mentése és betöltése
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.")

# Korábbi beszélgetések keresése
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.")

# Tokenizáló modell és válaszgeneráló modell választása
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)

# Input mező a jogi dokumentumhoz
document_text = st.text_area("Jogi Dokumentum", "")

# Előző beszélgetésekhez csatolható kontextus
context = st.text_area("Korábbi Beszélgetéshez Tartozó Kontextus", "")

# Válaszgenerálás
if st.button("Generálj Választ"):
    if context:
        input_text = f"{context} {document_text}"
    else:
        input_text = document_text

    # Model használata a válasz generálásához
    response = generate_response(input_text, tokenizer, model)

    # Válasz megjelenítése
    st.subheader("Generált Válasz:")
    st.write(response)

    # Aktuális beszélgetés hozzáadása az előző beszélgetésekhez
    st.session_state.previous_conversations.append({"session_id": session_id, "input_text": input_text, "response": response})