DanilO0o commited on
Commit
c5bd7a7
·
1 Parent(s): 5ca69bb

added wiki page

Browse files
Files changed (2) hide show
  1. pages/wiki.py +45 -0
  2. requirements.txt +2 -1
pages/wiki.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ import streamlit as st
3
+ from langchain_community.chat_models.gigachat import GigaChat
4
+ from bs4 import BeautifulSoup
5
+ from translate import Translator
6
+
7
+ st.title('Мини-википедия')
8
+
9
+
10
+ def get_wikipedia_summary(title):
11
+
12
+ url = f"https://en.wikipedia.org/api/rest_v1/page/summary/{title}"
13
+ response = requests.get(url)
14
+
15
+ if response.status_code == 200:
16
+ data = response.json()
17
+ return data.get('extract', 'Сюжет не найден.')
18
+ else:
19
+ return f'Статья не найдена. Статус запроса: {response.status_code}'
20
+
21
+
22
+ def translate_and_format_title(title):
23
+
24
+ translator = Translator(from_lang="russian", to_lang="english")
25
+ translated_title = translator.translate(title)
26
+
27
+ return translated_title
28
+
29
+
30
+ query = st.text_input('Ваш запрос')
31
+ lang = st.radio('Выберите язык описания', ['Английский', 'Русский'])
32
+ gen_button = st.button('Получить ответ от Википедии')
33
+ giga = GigaChat(
34
+ credentials='MjA2MGEzNjItZjE0Mi00NWE5LTllMDItMWVjZWRlNDA2ODM0OjNhNzNlZDJmLTY4NWUtNDI1Zi1iZjg4LTkxOWFjMjkxZDg0OA==', verify_ssl_certs=False)
35
+
36
+ if gen_button:
37
+ if query:
38
+ eng_query = translate_and_format_title(query)
39
+ st.write(eng_query)
40
+ if lang == 'Английский':
41
+ st.write(get_wikipedia_summary(eng_query))
42
+ else:
43
+ text = get_wikipedia_summary(eng_query)
44
+ with st.spinner('Перевод...'):
45
+ st.write(giga.invoke(f"Переведи этот текст: {text}").content)
requirements.txt CHANGED
@@ -7,4 +7,5 @@ requests
7
  pillow
8
  gigachain_community
9
  bs4
10
- lxml
 
 
7
  pillow
8
  gigachain_community
9
  bs4
10
+ lxml
11
+ translate