import streamlit as st import pandas st.set_page_config( page_title="JokerAI", page_icon="🎈", layout="centered" ) def _max_width_(): max_width_str = f"max-width: 1400px;" st.markdown( f""" """, unsafe_allow_html=True, ) def main(): st.title("🤖 JokerAI") st.write("""---""") with st.sidebar.expander("ℹ️ - О приложении", expanded=True): st.write( """ - *JokerAI* стремится сочинять стендап с помощью нейросетей. И это не шутки! - Модель была натренирована на корпусе русскоязычных шуток и обучена при помощи архитекуры ruGPT3-large """ ) # * *temperature* — параметр сглаживания; чем выше, тем сильнее сглаживание вероятностного распределения токенов при предсказании # * *top_k* — техника сэмплирования: сортировка предсказаний каждого следующего слова по вероятностям и отсекание вариантов после k-го токена # * *top_p* — техника сэмплирования: сортировка предсказаний каждого следующего слова по вероятностям и отсекание вариантов, как только суммарная вероятность предыдущих токенов превысит p # * *max_length* — максимальная длина генерируемого текста # * *repetition_penalty* — «штрафование» слов, которые уже были сгенерированы или относятся к исходной фразе # * *num_return_sequences* - количество вариантов последовательностей, которые вернёт модель col1, col2, col3 = st.columns(3) with col1: temperature = st.number_input( "Выберите параметр temperature", min_value=0.0, max_value=1.0, value=0.75, step=0.01, help='Параметр сглаживания; чем выше, тем сильнее сглаживание вероятностного распределения токенов при предсказании' ) max_length = st.number_input( 'Выберите параметр max_length', min_value=16, max_value=128, value=120, step=1, help='Максимальная длина генерируемого текста' ) with col2: top_p = st.number_input( "Выберите параметр top_p", min_value=0.0, max_value=1.0, value=0.92, step=0.01, help='Техника сэмплирования: сортировка предсказаний каждого следующего слова по вероятностям и отсекание вариантов, как только суммарная вероятность предыдущих токенов превысит p' ) # repeatition_penalty = st.number_input( # "Выберите параметр repeatition_penalty", min_value=-30, max_value=30, step=1, value=0, # help='«Штрафование» слов, которые уже были сгенерированы или относятся к исходной фразе' # ) top_k = st.number_input( "Выберите параметр top_k", min_value=0, max_value=100, value=50, step=1, help='техника сэмплирования: сортировка предсказаний каждого следующего слова по вероятностям и отсекание вариантов после k-го токена' ) with col3: num_return_sequences = st.number_input( 'Выберите параметр num_return_sequences', min_value=0, max_value=7, value=3, step=1, help='Количество вариантов последовательностей, которые вернёт модель' ) st.write("""---""") a, b = st.columns([4, 1]) user_input = a.text_input( label="Your message:", placeholder="Напишите затравку для шутки или скетча...", label_visibility="collapsed", ) button = b.button("Отправить", use_container_width=True) if button: st.write('serverstate message') if __name__ == '__main__': _max_width_() main()