категории | RSS

Релиз Shiny для Python 1.0

Разработчики выпустили Shiny для Python 1.0 с большим набором функций и стабильным API. Фреймворк построен на основе современного веб-стека Python и использует Starlette и asyncio для создания веб-приложений.

Новая версия включает: 

новый компонент Chat(), который упрощает внедрение генеративных чат-ботов с искусственным интеллектом на базе любой языковой модели;from shiny.express import ui chat = ui.Chat(id="chat") chat.ui() @chat.on_user_submit async def _(): messages = chat.messages() # The next line is a placeholder for the actual generative AI model response = await ai_model.generate_response(messages, stream=True) # Use append_message_stream() when streaming responses await chat.append_message_stream(response)

сквозное тестирование для поддержания качества кода при смоделированных взаимодействиях в реальном браузере. Оно организовано на платформе Playwright;

улучшения фреймов данных. Появилось два компонента для рендеринга кадров данных: DataGrid() и DataTable(). render.DataGrid( pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}), styles=[ # Center the text of each cell (using Bootstrap utility class) { "class": "text-center", }, # Highlight 1st column green { "cols": [0], "style": {"background-color": "mediumspringgreen"}, }, # Highlight rows 1-2 within 2nd column { "rows": [0, 1], "cols": [1], "style": {"background-color": "darkorange", "color": "white"}, }, ], )

Первый представляет собой более интерактивную и многофункциональную таблицу, а второй — более простую. DataGrid() и DataTable() получили аргумент стилей для отображаемого результата. Они могут принимать список словарей, где каждый словарь представляет стиль, который будет применён к таблице (и, следовательно, должен иметь как минимум ключ стиля). Для применения стиля к конкретным ячейкам можно использовать клавиши rows и cols. Если указаны и строки, и столбцы, стиль будет применяться только к пересечению указанных элементов;

активацию одновременно выделения и редактирования;render.DataGrid( pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}), selection_mode="row", editable=True, )

поддержку Polars и набора текста в дополнение к DataFrames pandas. Кроме того, методы доступа, такие как .data() и .data_view(), теперь возвращают тот же тип, что и отображаемые данные. Это работает даже с подсказками типов;

больше контроля над сортировкой и фильтрацией за счёт функций .data_view_rows() — отсортированные и отфильтрованные номера строк, .sort() — информация отсортированного столбца, .filter() — информация отфильтрованного столбца, .update_sort(sort=) — обновление сортировки фрейма данных, .update_filter(filter=) — обновление фильтрации фрейма данных.import pandas as pd from shiny import reactive from shiny.express import input, render, ui @render.data_frame def df(): return pd.DataFrame({"A": [1, 3, 2], "B": [4, 5, 6]}) @reactive.effect @reactive.event(input.sort) async def update_sort(): await df.update_sort([{"col": 0, "desc": False}]) ui.input_action_button("sort", "Sort on column 0↑")

Кроме того, Shiny теперь предлагает пользовательский интерфейс чата с видеопомощником, поддерживаемый GPT-4o. Он принимает видео с веб-камеры в качестве входных данных и воспроизводит аудио в качестве выходных. Для этого можно использовать функции:

input_video_clip(): предварительный просмотр видео веб-камеры с кнопкой, позволяющей начать/остановить запись, и меню настроек, позволяющее выбрать камеру/микрофон;

audio_spinner(): аудиоплеер, который пульсирует синхронно со звуковым сигналом.

Эти компоненты доступны в отдельном пакете под названием Shinymedia. 

В феврале вышла версия Quarto 1.4 с поддержкой Shiny для Python.



Источник новости: habr.com

DimonVideo
2024-07-24T12:50:02Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика