Shchushch commited on
Commit
7576ded
1 Parent(s): 31ff663

Upload 6 files

Browse files
Files changed (6) hide show
  1. LICENSE +21 -0
  2. README.md +2 -13
  3. app.py +56 -0
  4. books_sample.csv +20 -0
  5. find.py +73 -0
  6. requirements.txt +144 -0
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Shchushch
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
README.md CHANGED
@@ -1,13 +1,2 @@
1
- ---
2
- title: Find My Book
3
- emoji: 🌖
4
- colorFrom: blue
5
- colorTo: red
6
- sdk: streamlit
7
- sdk_version: 1.21.0
8
- app_file: app.py
9
- pinned: false
10
- license: mit
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+ # find_my_book
2
+
 
 
 
 
 
 
 
 
 
 
 
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import random as rd
4
+ import webbrowser as wb
5
+ from find import find_similar,df
6
+ st.set_page_config(
7
+ page_title="Умный поиск книг",
8
+ page_icon="path/to/favicon.ico",
9
+ layout="wide",
10
+ initial_sidebar_state="expanded"
11
+ )
12
+
13
+ df
14
+ st.title('Умный поиск книг')
15
+ form = st.form(key='search_form')
16
+ input=form.text_input('Введите поисковый запрос')
17
+
18
+ # if 'clicked' not in st.session_state:
19
+ # st.session_state.clicked = False
20
+ #df= pd.read_csv('books_booksle.csv')
21
+
22
+ items_per_page=form.number_input('Количество книг на странице',min_value=1,max_value=10,value=5)
23
+ search_but=form.form_submit_button('Искать')
24
+
25
+
26
+ # if search_but:
27
+ # st.session_state.clicked = True
28
+
29
+ @st.cache_data(experimental_allow_widgets=True)
30
+ def books_show(books,sims):
31
+ col=[]
32
+ for i in range(len(books)):
33
+ col.append(st.columns([0.2,0.8]))
34
+ '---'
35
+
36
+ url=books.iloc[i,0]#'page_url'][i]
37
+ col[i][0].image(books['image_url'][i],width=200)
38
+ col[i][0].markdown('<a href={url} target="_blank">Ссылка на книгу</a>', unsafe_allow_html=True)
39
+ col[i][0].markdown(f'**Степень похожести:** {books["sims"][i]:.4f}')
40
+ #col[i][0].button('Купить',key=books['page_url'][i],on_click=lambda: wb.open_new_tab(books['page_url'][i]))
41
+ col[i][1].markdown('## '+ f"{books['title'][i]}")
42
+ col[i][1].markdown('**Автор:** ' +books['author'][i])
43
+ col[i][1].markdown('**Аннотация:** ' +books['annotation'][i])
44
+ if search_but:
45
+ sims,books_idx=find_similar(input)
46
+ #sims
47
+ books=df.copy()
48
+ books['sims']=sims
49
+ books=books.iloc[books_idx].iloc[:items_per_page]
50
+ #books=books.iloc[:items_per_page]
51
+ #books=df.iloc[books_idx]
52
+ #[:items_per_page]
53
+ #sims
54
+ books
55
+ #books['sims'][0]
56
+ books_show(books,sims)
books_sample.csv ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ page_url,image_url,author,title,annotation
2
+ https://www.biblio-globus.ru/product/10567224,https://static1.bgshop.ru/imagehandler.ashx?filename=10567224.jpg&width=200,Гоголь Н. В. ,Нос,"Подарочное издание классического произведения Н.В. Гоголя ""Нос"", с иллюстрациями современного художника-графика Олега Корытова. Дизайн обложки - блинтованное тиснение на брутальном крафте в обрез.Сам текст произведения нагружен разными параллельными пространствами, понятными только главным героям – майору Ковалеву и его носу. Использование конструкции книги помогает превратить это в композиционно-пространственную игру."
3
+ https://www.biblio-globus.ru/product/10044586,https://static1.bgshop.ru/imagehandler.ashx?filename=10044586.jpg&width=200,Толстой Л. Н.,Война и мир. В 2 т.,"«Война и мир» Л. Н. Толстого — книга на все времена. Кажется, что она существовала всегда, настолько знакомым кажется текст, едва мы открываем первые страницы романа, настолько памятны многие его эпизоды: охота и святки, первый бал Наташи Ростовой, лунная ночь в Отрадном, князь Андрей в сражении при Аустерлице... Сцены «мирной», семейной жизни сменяются картинами, имеющими значение для хода всей мировой истории, но для Толстого они равноценны, связаны в едином потоке времени. Каждый эпизод важен не только для развития сюжета, но и как одно из бесчисленных проявлений жизни, которая насыщена в каждом своем моменте и которую учит любить Толстой."
4
+ https://www.biblio-globus.ru/product/10894146,https://static1.bgshop.ru/imagehandler.ashx?filename=10894146.jpg&width=200,Набоков В.В. ,Поэмы 1918-1947. Жалобная песнь Супермена,"Все мы привыкли думать о Владимире Набокове как о великолепном прозаике, уникальном, ни на кого не похожем стилисте. Широкой публике гораздо менее известен Набоков-поэт. В настоящее издание вошли как известные, так и никогда ранее не публиковавшиеся поэмы. “Легенда о луне”, “Электричество”, “На севере диком”, “Olypicu” публикуются впервые. Также впервые опубликована “Жалобная песнь Супермена”, написанная в Америке вскоре после переезда.
5
+ В поэзии, в силу сжатости формы, отчетливее видны основные темы творчества Набокова. Каждая поэма этого сборника если не о возвращении – то о невозможности вернуться: “Мне хочется домой. Довольно. Качурин, можно мне домой?”"
6
+ https://www.biblio-globus.ru/product/10887280,https://static1.bgshop.ru/imagehandler.ashx?filename=10887280.jpg&width=200,Олкотт Л.М. ,Маленькие женщины,"В Америке началась Гражданская война, глава семейства Марч ушел на фронт, а все заботы по дому легли на плечи его жены и дочерей.
7
+ Старшая из сестер, шестнадцатилетняя Маргарет - женственная и романтичная красавица с прекрасными манерами. Джо - настоящий сорванец в юбке, ей пятнадцать и она лазает по деревьям, бегает наперегонки с друзьями, катается на коньках, а может даже и подраться. Тринадцатилетняя Бесс - застенчивая и робкая девочка с добрейшим сердцем, сущий ангелочек и любимица всей семьи. Самой младшей двенадцать - положительные и отрицательные качества тесно переплетены в Эми и находятся в очень хрупком р��вновесии.
8
+ Сестры такие разные, такие неповторимые. Но они сообща справляются с трудностями, испытывают горести и радости, мечтают о будущем и проходят непростой путь взросления."
9
+ https://www.biblio-globus.ru/product/10893153,https://static1.bgshop.ru/imagehandler.ashx?filename=10893153.jpg&width=200,Набоков В. В.,Истинная жизнь Севастьяна Найта,"«Истинная жизнь Севастьяна Найта» — первый англоязычный роман Владимира Набокова, оконченный в 1939 году в Париже и два года спустя опубликованный в США. Его лабиринтообразная структура и квазидетективный сюжет предопределили своеобразие последующей прозы Набокова — «Лолиты», «Бледного огня», «Ады» и особенно его последней завершенной книги «Взгляни на арлекинов!». Повествователь, означенный лишь инициалом В., восстанавливает историю жизни собственного сводного брата, покойного писателя Севастьяна Найта (Sebastian Knight), используя воспоминания, устные рассказы и отрывки из его книг. Ускользающая от настойчивых поисков В., истинная жизнь Найта оказывается непосредственно связанной с тайной его имени, с его сочинениями, с законами словесного искусства и с метафизикой Набокова. Настоящее издание романа сопровождается предисловием, примечаниями и заключительным очерком переводчика. Сохранены особенности орфографии, пунктуации и транслитерации переводчика."
10
+ https://www.biblio-globus.ru/product/10835727,https://static1.bgshop.ru/imagehandler.ashx?filename=10835727.jpg&width=200,Старшинов А,Завещание императора,"Дакия разгромлена. Римский император Траян— победитель, вРиме он выстроил новый грандиозный Форум как символ своей победы. Его центурион Гай Приск вернул себе имущество отца извание римского всадника. Он женат исчастлив. Но мирная жизнь— не втрадициях последнего римского императора-завоевателя. Грядет новая война. На этот раз сПарфией. Император собирает огромную армию, ветераны Дакийских войн будут теперь воевать на Востоке. Соратники императора уверены влегкой ибыстрой победе. Только Адриан выступает против новой войны, но Траян не желает слушать племянника. Император уже немолод. Кто встанет во главе Империи, если Траян умрет? Составил ли император завещание, отправляясь вновый поход? Официально наследник так ине объявлен.
11
+ Эта книга является продолжением романов «Век Траяна», «Центурион Траяна» и«Наследник императора», ранее опубликованных вэтой же серии."
12
+ https://www.biblio-globus.ru/product/10275510,https://static1.bgshop.ru/imagehandler.ashx?filename=10275510.jpg&width=200,Гёте И. В.,Малое собрание сочинений,"Иоганн Вольфганг Гёте - поэт, общественный деятель, мыслитель и естествоиспытатель, проживший жизнь, богатую яркими событиями, впечатлениями и кипучей деятельностью, - составляет вечную гордость и славу Германии. В настоящем томе представлена лишь часть бессмертного наследия великого поэта: в том включены созданные им баллады, роман ""Страдания юного Вертера"" (в новом переводе Романа Эйвадиса), поэма ""Герман и Доротея"", а также знаменитая, став��ая вершиной мировой литературы трагедия ""Фауст"", посвященная вечным темам познания жизни и трудности человеческого пути."
13
+ https://www.biblio-globus.ru/product/10182039,https://static1.bgshop.ru/imagehandler.ashx?filename=10182039.jpg&width=200,Лондон Дж.,Смок Беллью ; Смок и Малыш,"Два цикла рассказов американского писателя Джека Лондона, «Смок Беллью» и «Смок и Малыш» (1911), объединены образом главного героя — молодого писателя из Сан-Франциско, который променял унылую жизнь газетного клерка на увлекательную, хотя и полную невзгод и опасностей участь искателя приключений и золота в диких просторах Аляски и прославился в северных землях под именем Смок Беллью. Познакомившись и подружившись с еще одним новичком Клондайка по прозвищу Малыш, Смок проходит через множество взлетов и падений — изобретает собственную систему игры в рулетку и зарабатывает целое состояние; едва не погибает в поисках легендарных Двух Срубов и Нежданного озера, дно которого, по слухам, усыпано золотыми самородками; участвует в гонке на собачьих упряжках, победителю которой обещан богатый участок на ручье Моно; втягивается в хитроумную аферу с куриными яйцами, затеянную певичкой Люсиль Эрол, не подозревая об истинной цели предприятия; организует ответную аферу с мифическим поселком Тру-ля-ля; попадает в плен к кочевому индейскому племени, где в него влюбляется прекрасная дочь вождя..."
14
+ https://www.biblio-globus.ru/product/10886876,https://static1.bgshop.ru/imagehandler.ashx?filename=10886876.jpg&width=200,Булгаков М.,"""Мне нужно видеть свет..."". Дневники, письма, документы","В настоящее издание включены дневники и письма, атакже документальные материалы, освещающие жизненный и творческий путь М. А. Булгакова с 1914 по 1940 г. По сути это не что иное, как его жизнеописание, составленное по дневникам и эпистолярному наследию. Среди адресатов писем Булгакова — В. В. Вересаев, Е. И. Замятин, А. М. Горький, К. С. Станиславский, И. В. Сталин. Эти документы, не предназначенные автором для публикации, фиксировали ту или иную жизненную ситуацию и, расположенные в хронологическом порядке, с поразительной объективностью отражают ключевые моменты в судьбе и творческой биографии. Кроме того, они содержат ценнейшую информацию о личных качествах и круге интересов Булгакова, о его отношении к происходившим в России событиям, к ближайшему окружению, писательскому и театральному миру."
15
+ https://www.biblio-globus.ru/product/10747756,https://static1.bgshop.ru/imagehandler.ashx?filename=10747756.jpg&width=200,Лермонтов М.Ю.,Герой нашего времени,"«Герой нашего времени» — самое крупное и значительное произведение Михаила Юрьевича Лермонтова, первый в русской литературе социально-психологический роман, герой которого, молодой офицер Григорий Печорин, стал поистине ярким представителем своей эпохи. Литературный критик Белинский отмечал: «Вот книга, которой суждено никогда не стариться, потому что при самом рождении её она была вспрыснута живою водою поэзии! Эта старая ��нига всегда будет нова».
16
+ Структура романа уникальна: каждую из глав, расположенных не в хронологическом порядке, можно отнести к отдельному литературному жанру, но вместе они образуют органичное и цельное произведение. Все истории и персонажи служат лишь фоном, на котором разворачивается драматическая судьба человека с душой, кипящей от потаённых страстей, но при этом холодного и эгоистичного.
17
+ Иллюстрации к роману Анатолий Зиновьевич Иткин создавал на протяжении тридцати лет. Художник побывал на Северном Кавказе, чтобы проникнуться атмосферой описанных в книге мест и передать её в графических работах, раскрывающих перед читателем сложный и многообразный внутренний мир главного героя."
18
+ https://www.biblio-globus.ru/product/10864741,https://static1.bgshop.ru/imagehandler.ashx?filename=10864741.jpg&width=200,Лондон Дж. ,Маленькая хозяйка Большого дома,"Дик и Паола – идеальная пара. Сдержанный Дик полностью погружен в работу, да и энергичная Паола сама занимается делами. Их жизнь кипит – в Большом доме часто бывают гости и некогда скучать. Для личного общения у супругов почти нет времени. Однажды к ним приезжает давний друг Дика и перед героиней встает внезапный вопрос, что выбрать – любовь и стабильность или страсть и давно забытую радость жизни?
19
+ Джек Лондон считал «Маленькую хозяйку Большого дома» своим лучшим произведением. Полный хитросплетений и интриг роман показывает мощь и глубину чувств, которые способна порождать любовь."
20
+ https://www.biblio-globus.ru/product/10708999,https://static1.bgshop.ru/imagehandler.ashx?filename=10708999.jpg&width=200,Миллер М.,Цирцея,"Цирцея – дочь великого титана Гелиоса, бога солнца, который каждый день озаряет собой небосвод. Но своей божественной природы она почти не ощущает: брат и сестра издеваются над ней, мать не выносит звуков ее голоса, а отец едва обращает на нее внимание. Еще ребенком она присутствует на судилище над Прометеем, могущественным титаном, пожертвовавшим своей свободой ради благополучия смертных, и эта встреча навсегда меняет её жизнь. Как и встреча с Главком, бедным молодым рыбаком, ради которого Цирцея совершает нечто столь невероятное, что даже сам златоокий Гелиос и Зевс-громовержец приходят в замешательство и решают отправить ее в изгнание на необитаемый остров Ээя. И вот тут-то и начинается самое интересное."
find.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import pandas as pd
3
+ from transformers import AutoTokenizer, AutoModel
4
+ import numpy as np
5
+
6
+ tokenizer = AutoTokenizer.from_pretrained("cointegrated/rubert-tiny2")
7
+ model = AutoModel.from_pretrained("cointegrated/rubert-tiny2")
8
+
9
+ def embed_bert_cls(text, model=model, tokenizer=tokenizer):
10
+ """
11
+ Встраивает входной текст с использованием модели на основе BERT.
12
+
13
+ Аргументы:
14
+ text (str): Входной текст для встраивания.
15
+ model (torch.nn.Module): Модель на основе BERT для использования при встраивании.
16
+ tokenizer (transformers.PreTrainedTokenizer): Токенизатор для токенизации текста.
17
+
18
+ Возвращает:
19
+ numpy.ndarray: Встроенное представление входного текста.
20
+ """
21
+ # Токенизируем текст и преобразуем его в PyTorch тензоры
22
+ t = tokenizer(text, padding=True, truncation=True, return_tensors='pt')
23
+
24
+ # Отключаем вычисление градиентов
25
+ with torch.no_grad():
26
+ # Пропускаем тензоры через модель
27
+ model_output = model(**{k: v.to(model.device) for k, v in t.items()})
28
+
29
+ # Извлекаем последний скрытый состояние из выходных данных модели
30
+ embeddings = model_output.last_hidden_state[:, 0, :]
31
+
32
+ # Нормализуем встроенные представления
33
+ embeddings = torch.nn.functional.normalize(embeddings)
34
+ embeddings=embeddings[0].cpu().numpy()
35
+
36
+ # Преобразуем встроенные представления в массив numpy и возвращаем первый элемент
37
+ return embeddings
38
+
39
+ df=pd.read_csv('books_sample.csv',index_col=0)
40
+ embs=[]
41
+ for annotation in df['annotation']:
42
+ # embd=
43
+ #print(embd)
44
+ embs.append(embed_bert_cls(annotation))
45
+ #embs.append(embed_bert_cls(annotation))
46
+ embs =np.array(embs)
47
+
48
+ def find_similar(text, embeddings=embs, threshold=0.5):
49
+ """
50
+ Находит похожие тексты на основе косинусного сходства.
51
+
52
+ Аргументы:
53
+ text (str): Входной текст для поиска похожих текстов.
54
+ embeddings (numpy.ndarray): Предварительно вычисленные встроенные представления текстов.
55
+ threshold (float): Порог, выше которого тексты считаются похожими.
56
+
57
+ Возвращает:
58
+ numpy.ndarray: Сходства между входным текстом и каждым текстом во встроенных представлениях.
59
+ """
60
+ # Встраиваем входной текст
61
+ embedding = embed_bert_cls(text)
62
+
63
+ # Вычисляем косинусное сходство между встроенным представлением входного текста и всеми встроенными представлениями
64
+ similarities = embeddings.dot(embedding)
65
+ sorted_indeces=similarities.argsort()[::-1]#[::1]
66
+ return similarities,sorted_indeces
67
+
68
+
69
+
70
+
71
+ print(find_similar('пук',embeddings=embs))
72
+
73
+
requirements.txt ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Package Version
2
+ ------------------------- -----------
3
+ altair 5.0.1
4
+ anyio 3.7.1
5
+ appnope 0.1.3
6
+ argon2-cffi 21.3.0
7
+ argon2-cffi-bindings 21.2.0
8
+ arrow 1.2.3
9
+ asttokens 2.2.1
10
+ async-lru 2.0.3
11
+ attrs 23.1.0
12
+ Babel 2.12.1
13
+ backcall 0.2.0
14
+ beautifulsoup4 4.12.2
15
+ bleach 6.0.0
16
+ blinker 1.6.2
17
+ cachetools 5.3.1
18
+ certifi 2023.7.22
19
+ cffi 1.15.1
20
+ charset-normalizer 3.2.0
21
+ click 8.1.6
22
+ comm 0.1.3
23
+ debugpy 1.6.7
24
+ decorator 5.1.1
25
+ defusedxml 0.7.1
26
+ executing 1.2.0
27
+ fake-useragent 1.1.3
28
+ fastjsonschema 2.18.0
29
+ filelock 3.12.2
30
+ fqdn 1.5.1
31
+ fsspec 2023.6.0
32
+ gitdb 4.0.10
33
+ GitPython 3.1.32
34
+ huggingface-hub 0.16.4
35
+ idna 3.4
36
+ importlib-metadata 6.8.0
37
+ ipykernel 6.25.0
38
+ ipython 8.14.0
39
+ ipython-genutils 0.2.0
40
+ ipywidgets 8.0.7
41
+ isoduration 20.11.0
42
+ jedi 0.18.2
43
+ Jinja2 3.1.2
44
+ json5 0.9.14
45
+ jsonpointer 2.4
46
+ jsonschema 4.18.4
47
+ jsonschema-specifications 2023.7.1
48
+ jupyter 1.0.0
49
+ jupyter_client 8.3.0
50
+ jupyter-console 6.6.3
51
+ jupyter_core 5.3.1
52
+ jupyter-events 0.6.3
53
+ jupyter-lsp 2.2.0
54
+ jupyter_server 2.7.0
55
+ jupyter_server_terminals 0.4.4
56
+ jupyterlab 4.0.3
57
+ jupyterlab-pygments 0.2.2
58
+ jupyterlab_server 2.24.0
59
+ jupyterlab-widgets 3.0.8
60
+ markdown-it-py 3.0.0
61
+ MarkupSafe 2.1.3
62
+ matplotlib-inline 0.1.6
63
+ mdurl 0.1.2
64
+ mistune 3.0.1
65
+ mpmath 1.3.0
66
+ nbclient 0.8.0
67
+ nbconvert 7.7.3
68
+ nbformat 5.9.1
69
+ nest-asyncio 1.5.6
70
+ networkx 3.1
71
+ notebook 7.0.0
72
+ notebook_shim 0.2.3
73
+ numpy 1.25.1
74
+ overrides 7.3.1
75
+ packaging 23.1
76
+ pandas 2.0.3
77
+ pandocfilters 1.5.0
78
+ parso 0.8.3
79
+ pexpect 4.8.0
80
+ pickleshare 0.7.5
81
+ Pillow 9.5.0
82
+ pip 23.2.1
83
+ platformdirs 3.9.1
84
+ prometheus-client 0.17.1
85
+ prompt-toolkit 3.0.39
86
+ protobuf 4.23.4
87
+ psutil 5.9.5
88
+ ptyprocess 0.7.0
89
+ pure-eval 0.2.2
90
+ pyarrow 12.0.1
91
+ pycparser 2.21
92
+ pydeck 0.8.0
93
+ pygame 2.5.0
94
+ Pygments 2.15.1
95
+ Pympler 1.0.1
96
+ python-dateutil 2.8.2
97
+ python-json-logger 2.0.7
98
+ pytz 2023.3
99
+ pytz-deprecation-shim 0.1.0.post0
100
+ PyYAML 6.0.1
101
+ pyzmq 25.1.0
102
+ qtconsole 5.4.3
103
+ QtPy 2.3.1
104
+ referencing 0.30.0
105
+ regex 2023.6.3
106
+ requests 2.31.0
107
+ rfc3339-validator 0.1.4
108
+ rfc3986-validator 0.1.1
109
+ rich 13.4.2
110
+ rpds-py 0.9.2
111
+ safetensors 0.3.1
112
+ Send2Trash 1.8.2
113
+ setuptools 67.6.1
114
+ six 1.16.0
115
+ smmap 5.0.0
116
+ sniffio 1.3.0
117
+ soupsieve 2.4.1
118
+ stack-data 0.6.2
119
+ streamlit 1.25.0
120
+ sympy 1.12
121
+ tenacity 8.2.2
122
+ terminado 0.17.1
123
+ tinycss2 1.2.1
124
+ tokenizers 0.13.3
125
+ toml 0.10.2
126
+ toolz 0.12.0
127
+ torch 2.0.1
128
+ tornado 6.3.2
129
+ tqdm 4.65.0
130
+ traitlets 5.9.0
131
+ transformers 4.31.0
132
+ typing_extensions 4.7.1
133
+ tzdata 2023.3
134
+ tzlocal 4.3.1
135
+ uri-template 1.3.0
136
+ urllib3 2.0.4
137
+ validators 0.20.0
138
+ watchdog 3.0.0
139
+ wcwidth 0.2.6
140
+ webcolors 1.13
141
+ webencodings 0.5.1
142
+ websocket-client 1.6.1
143
+ widgetsnbextension 4.0.8
144
+ zipp 3.16.2