albhu commited on
Commit
f3404f7
·
verified ·
1 Parent(s): 102a394

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -13
app.py CHANGED
@@ -1,13 +1,27 @@
1
  import streamlit as st
2
- from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3
- import torch
4
 
5
- # Modell betöltése
6
- tokenizer = AutoTokenizer.from_pretrained("SZTAKI-HLT/hubert-base-cc")
7
- model = AutoModelForSeq2SeqLM.from_pretrained("SZTAKI-HLT/hubert-base-cc")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  # Streamlit alkalmazás
10
- st.title("AI Jogi Chatbot Magyar Nyelven")
11
 
12
  # Dokumentum feltöltése
13
  uploaded_file = st.file_uploader("Töltsön fel egy dokumentumot", type=["txt"])
@@ -23,18 +37,24 @@ if uploaded_file:
23
  st.write("### Feltöltött dokumentum tartalma:")
24
  st.write(context)
25
 
 
 
 
 
26
  # Chatelés a dokumentum kontextusában
27
  st.write("### Chat")
28
  question = st.text_input("Írja be a kérdését a dokumentumról:")
29
 
30
  if question:
31
  with st.spinner('Válasz generálása...'):
32
- # Bemenet összeállítása
33
- input_text = f"{context}\n\nKérdés: {question}\nVálasz:"
34
- inputs = tokenizer.encode(input_text, return_tensors="pt", max_length=512, truncation=True)
 
 
 
35
 
36
- # Válasz generálása
37
- outputs = model.generate(inputs, max_length=150, num_beams=4, early_stopping=True)
38
- response = tokenizer.decode(outputs[0], skip_special_tokens=True)
39
 
40
- st.write("Válasz:", response)
 
1
  import streamlit as st
2
+ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
 
3
 
4
+ # Fordító modell betöltése (M2M100 fordítás magyar és angol között)
5
+ translator_tokenizer = AutoTokenizer.from_pretrained("facebook/m2m100_418M")
6
+ translator_model = AutoModelForSeq2SeqLM.from_pretrained("facebook/m2m100_418M")
7
+ translation_pipeline = pipeline("translation", model=translator_model, tokenizer=translator_tokenizer)
8
+
9
+ # Generatív modell betöltése (angol nyelven működik)
10
+ gpt_tokenizer = AutoTokenizer.from_pretrained("google/flan-t5-large")
11
+ gpt_model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-t5-large")
12
+ generate_answer = pipeline("text2text-generation", model=gpt_model, tokenizer=gpt_tokenizer)
13
+
14
+ # Fordítás funkciók
15
+ def translate_to_english(text):
16
+ translated_text = translation_pipeline(text, src_lang="hu", tgt_lang="en", max_length=512)[0]['translation_text']
17
+ return translated_text
18
+
19
+ def translate_to_hungarian(text):
20
+ translated_text = translation_pipeline(text, src_lang="en", tgt_lang="hu", max_length=512)[0]['translation_text']
21
+ return translated_text
22
 
23
  # Streamlit alkalmazás
24
+ st.title("AI Jogi Chatbot - Fordítás Alapú Megközelítéssel")
25
 
26
  # Dokumentum feltöltése
27
  uploaded_file = st.file_uploader("Töltsön fel egy dokumentumot", type=["txt"])
 
37
  st.write("### Feltöltött dokumentum tartalma:")
38
  st.write(context)
39
 
40
+ # Dokumentum fordítása angolra
41
+ with st.spinner('Fordítás angolra...'):
42
+ context_english = translate_to_english(context)
43
+
44
  # Chatelés a dokumentum kontextusában
45
  st.write("### Chat")
46
  question = st.text_input("Írja be a kérdését a dokumentumról:")
47
 
48
  if question:
49
  with st.spinner('Válasz generálása...'):
50
+ # Kérdés fordítása angolra
51
+ question_english = translate_to_english(question)
52
+
53
+ # Generatív válaszadás angol nyelven
54
+ input_text = f"{context_english}\n\nQuestion: {question_english}\nAnswer:"
55
+ response_english = generate_answer(input_text, max_length=150)[0]["generated_text"]
56
 
57
+ # Válasz fordítása magyarra
58
+ response_hungarian = translate_to_hungarian(response_english)
 
59
 
60
+ st.write("Válasz:", response_hungarian)