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})
|