All streams
Search
Write a publication
Pull to refresh
13
0
Send message

Расширения Chrome с боковой панелью

Level of difficultyEasy
Reading time7 min
Views4.1K

Около года назад (30 мая 2023, если быть более точным) в Хроме появилась возможность отображать интерфейсные элементы расширений не только во всплывающем окне (popup.html), но и в боковой панели которая отображается сбоку (справа) от текущей отображаемой страницы. Внешне боковая панель расширения похожа на боковые панели, встроенные в сам браузер, такие как «Show all bookmarks» или «Grouped history». На мой взгляд, у этой фичи большой потенциал: В таком формате можно пробовать реализовать более сложные сценарии взаимодействия с пользователем, включающие как более сложный интерфейс расширения, так и стандартные возможности взаимодействия с текущей открытой страницей. При этом мне показалось что новость об этом релизе прошла ниже радаров и в публикациях тема использования этой боковой панели оказалась недостаточно раскрыта, так что я решил написать эту обзорную статью (в первую очередь, в надежде на содержательные комментарии по теме со стороны тех, у кого есть опыт в разработке расширений).

Вначале кратко скажу о технических аспектах. Затем будет небольшой обзор некоторых возможных вариантов использования. И в конце расскажу про небольшое расширение, которое я «разработал» сам.

Для желающих получить начальные представления о разработке расширений для Хрома думаю может быть полезно предварительно ознакомиться с этой статьей (хотя я наверно предложил бы для таких упражнений вместо ChatGPT попробовать использовать Курсор с Композером и новым Клодом).

Читать далее

Проигрыватель видео с поддержкой транскрипта

Level of difficultyEasy
Reading time4 min
Views1K

Как и многих пользователей Хабра меня интересует вопрос, как можно повысить эффективность изучения иностранных языков. Один из наиболее часто рекомендуемых методов — смотреть фильмы на изучаемом языке. И, естественно, я им пользуюсь. Периодически меня посещают мысли о необходимости оптимизации этого подхода. Сначала я нашел себе проигрыватели, которые поддерживают одновременное отображение субтитров на двух языках: субтитры на изучаемом языке отображаются как обычно внизу экрана, а вверху отображаются субтитры на русском. Но этого мне показалось мало. Я пошел искать проигрыватель, который мог бы отображать не только текущие субтитры, но и «транскрипт» — последовательность, включающую как текущий фрагмент субтитров, так и соседние, что бы из них можно было сложить связанный более крупный фрагмент текста. Это может быть удобно если:

— при просмотре было что‑то непонятно, нужно прочитать субтитр, а он уже скрыт и при этом не хочется перематывать назад и ловить пропущенный кусок

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

Похожая функциональность есть, например, на YouTube и на Корсэре.

Однако после некоторых изысканий я к своему удивлению обнаружил что этой фичи нет ни в одном Windows‑проигрывателе. (UPDATE: этой фичи в стандартных проигрывателях нет в нужном мне виде, т. е. с параллельным отображением транскрипта на двух языках)

У меня как раз чесались руки попробовать что из себя представляет связка Cursor+o1. Так спонтанно родилось решение использовать такой проигрыватель в качестве объекта для экспериментов с этими инструментами. Сразу скажу, что навыков разработки у меня практически нет (если не считать минимальных фрагментарных представлений о разработке для веба).

Читать далее

Обзор приложения NotebookLM

Level of difficultyEasy
Reading time8 min
Views62K

Веб-приложение под названием NotebookLM (https://notebooklm.google.com/) было выпущено компанией Google около года назад, и на Хабре было по этому поводу два кратких анонса в прошлом году (раз, два). На мой взгляд, оно заслуживает обзора чуть более подробного чем эти краткие сообщения, так что попробую восполнить этот пробел.

NotebookLM - это инструмент на основе ИИ, который позволяет относительно быстро, удобно и без лишних телодвижений получить краткий разносторонний обзор (саммари) объемных документов (книг, статей), а также интерактивно взаимодействовать с ними (задавать вопросы, касающиеся их содержания). В моем понимании он представляет собой надстройку над "обычным ИИ-чатом", которому в контекст загружен интересующий пользователя документ. Эта надстройка включает в себя:

1. Набор из нескольких преднастроенных стандартизованных промптов, доступных в один клик и ориентированных на работу с объемными текстами ("Составь мне оглавление", "Составь мне FAQ на основе этого текста", и т.п.)

2. Интерфейсное решение ("карточки-плитки на рабочем столе"), которое по замыслу разработчиков, видимо, должно быть более удобным чем "обычный (линейный) чат"

3. Интерфейс чата, который при взаимодействии с текстом в формате "вопрос-ответ" отображает не только ответы на задаваемые вопросы, но и фрагменты соответствующего исходного текста, а также ссылки на конкретные параграфы полного текста-источника.

Посмотрим как это работает

Использование ответов OpenAI API в формате JSON: Введение

Level of difficultyMedium
Reading time9 min
Views6.5K

Тема использования JSON в ответах OpenAI API звучала в анонсах примерно год назад и до некоторой степени описана в документации. В частности, Сэм Альтман на презентации одного из крупных релизов говорил о том что о такой фиче активно просили разработчики. Однако с тех пор мне не удалось найти целостных описаний решений, сценариев и паттернов, которые выглядели бы как практически полезные и на основе которых можно было бы быстро составить целостное понимание. Те материалы, которые попадались мне до сих пор, показались мне довольно абстрактными, недостаточно целостными, оторванными от реальности, иногда перегруженными техническими подробностями, за которыми теряется общая картина.

Вчера (6 августа) OpenAI выпустила обновление этого функционала и вместе с ним заметно обновила и дополнила документацию в этой части. С одной стороны, в новой версии документации стало больше конкретных и наглядных примеров. С другой, - в дополнение к понятию Function calling добавилось еще новое понятие Structured Outputs, которое для начинающего пользователя на первых шагах может усложнить понимание.

В этой статье я хотел на небольшом примере дать краткий поверхностный обзор того как, на мой взгляд, можно задействовать JSON-ответы для конкретной задачи. Сразу скажу, что мой пример оказался крайне примитивным (чуть сложнее чем "Hello, World!"). Я старался достичь наглядности за счет демонстрации всего цикла от идеи "продукта", до его рабочего прототипа. Свою задачу я реализовал в трех вариантах (по мере возрастания сложности): "Чат без Function calling", "Чат с Function calling" и "Assistant Function calling". Возможно, кто-то найдет для себя в этом что-то полезное.

Читать далее

Введение в OpenAI Assistants API (а заодно и в ChatGPT Custom Instructions)

Level of difficultyMedium
Reading time11 min
Views28K

Прошедший месяц назад релиз новинок OpenAI включал в себя множество функций. Этот тьюториал посвящен введению в практическое использование одной из них - Assistants API. Также попутно затронем выпущенную в августе функцию в составе ChatGPT под названием Custom Instructions.

Читать далее

Он-лайн мониторинг общественного транспорта: версия Яндекса

Reading time3 min
Views308K
Относительно недавно «Яндекс» без особенных анонсов выпустил бетта-версию нового мобильного приложения — «Транспорт». Это карты городов, на которых в режиме он-лайн отображается передвижение автобусов, троллейбусов, трамваев и маршруток. Пока сервис доступен для общественного транспорта Казани, Омска, Новосибирска, Перми, Нижнего Новгорода, а также Московской области. Разработчики сразу просят не цепляться к багам, так что заострять внимание на конкретных недоработках смысла пока нет.

Ценность такой системы для простого обывателя сложно переоценить — очень удобно планировать перемещения по городу и продумывать маршруты ясно понимая, что автобус подъедет к остановке через 5 минут или, наоборот, в ближайшие 40 минут не стоит ждать милости от Мострансавто и вместо бесперспективного стояния на морозе (под дождем, на солнцепеке) нужно выбирать альтернативные варианты перемещения — такси, пешком и т.п.
Читать дальше →

Information

Rating
5,452-nd
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Systems Analyst, Business Analyst
Senior