Loading...
Error

Дополнительные данные библиотеки Flibusta [FB2] для FLibrary, 01.06.2026

Страницы:   Пред.  1, 2

Ответить на тему

 | 

 
Автор Сообщение

heimdallrnsk

Ginom писал(а):

heimdallrnsk писал(а):

Ginom писал(а):

heimdallrnsk писал(а):

Ginom писал(а):

Не задумывались, как связать библиотеку с локальной LLM? Спору нет удобный каталогизатор, а главное база с обновлениями, за что респект. Но хотелось бы дать доступ к ней нейросети, что бы она могла искать нужное
Не умею. Но если опишете потребный интерфейс - на стороне FLibrary реализую, если это окажется не сильно сложно и не будет противоречить текущей архитектуре.

А вообще уже пару раз предлагали запилить возможность прикручивания плагинов, может с этого начать?
Увы я не программист, что бы давать советы по вашему приложению, я бы разобрался как подключиться к уже готовому, этой мой максимум.
Я задал вопрос нейросети, она ответила без разбора кода вашего приложения: Самый простой путь для разработчика — вообще не писать серверный код, не поднимать порты и не создавать API. Вместо этого разработчик может использовать стандарт, который уже поддерживается большинством ИИ-движков, плагинов и поисковых систем «из коробки». Этот путь состоит из двух шагов: экспорт встроенной базы в стандартный формат SQLite + создание текстового конфигуратора (системного промпта).

Вот как это выглядит на практике:

1. Подготовка единого файла базы данных (SQLite)Разработчик Flibrary уже хранит данные о книгах в структурированном виде. Всё, что ему нужно сделать — убедиться, что база данных сохраняется в стандартном формате SQLite (одним файлом, например flibrary_catalog.db).Для максимальной простоты разработчик делает внутри Flibrary всего одну кнопку: «Экспортировать базу для ИИ». При нажатии программа:Создает копию рабочей базы данных.Оставляет там только три таблицы: authors, books (название, аннотация) и genres. Удаляется вся лишняя техническая информация (история чтения, настройки программы, хэши файлов), чтобы уменьшить размер файла.Автоматически применяет команду VACUUM для сжатия базы до минимального размера (около 1.5–2 Гб).

2. Создание файла-инструкции для пользователя (.json или .md)Рядом с базой данных программа генерирует текстовый файлик (например, ai_instruction.txt). Внутри написана готовая системная инструкция (системный промпт) для нейросети, описывающая структуру этой базы. Содержимое этого файла выглядит так:«Ты — локальный поисковый ИИ-ассистент. Тебе подключена база данных SQLite библиотеки Flibrary. База содержит таблицу books со столбцами: title (название), author (автор), annotation (описание сюжета).

Когда пользователь просит найти книгу, сгенерируй стандартный SQL-запрос с оператором LIKE по столбцу annotation и ограничением LIMIT 10. Не пиши лишнего текста, используй только данные из этой базы».Почему это самый простой путь?Ноль строчек кода для сети: Разработчику Flibrary не нужно программировать веб-серверы, следить за безопасностью локальных портов, обрабатывать сетевые ошибки или писать документацию к API.

ИИ всё сделает сам: Современные локальные графические интерфейсы для нейросетей (такие как AnythingLLM, Open WebUI или Dify) имеют встроенную функцию «Подключить базу данных» (SQL Database Source).Действия пользователя: Пользователь просто заходит в настройки своей нейросети, нажимает «Загрузить базу данных», выбирает файл flibrary_catalog.db и копирует готовый промпт из текстового файла.Вся магия общения, перевода человеческого языка в SQL и чтение данных ложится на ИИ-движок, а разработчик Flibrary просто отдал ему правильно подготовленный файл.

Думаю вы как разработчик рассказав любой нейросети, как устроена ваше приложение получите куда более полный и простой вариант реализации. Ну а то, что это неизбежность я думаю вы уже и сами понимаете, еще год два и нейросетки будет на каждом гаджете. А LLM и книги просто созданы друг для друга.

Я расскажу с какой проблемой столкнулся, я скормил своей нейросети файл flibusta_fb2_local.inpx она его проиндексировала скинула в векторную базу.. Вот только искать что то по автору, наименованию книги и жанру, что она прекрасно делает, пытаясь додумывать, о чем книга по названию, такое себе удовольствие. Нужны аннотации к книгам, что бы нейросеть могла что то нормально искать, вытаскивать аннотации из многогигабитных архивов для любой локальной нейросети задача очень трудоемкая, придется долго ждать ответа, проще каталог открыть и самому найти. скрин , как это выглядит у меня, https://iimg.su/i/frtAS3 следующим запросом, я прошу сохранить нужную книгу в папку загрузок, или пересказать в кратце, или провести анализ и т.д..
Я не прошу советов по моему приложению. Вы вроде хотите подключаться к чему-то готовому? Так вот, я прошу вас описать то, к чему вы хотите подключаться. Что именно требуется от меня? Добавить в главное меню пункт "выгрузи из базы таблицы авторов, книг, жанров, аннотаций"?

Кроме того, вы ведь скормили своей нейросети индексный файл? Так дайте ей в качестве добавки содержимое архива annotations.7z из этой раздачи. Так почему-то нельзя?
ну как бы мне дилетанту вам объяснить, потому что ваша база не текстовый файл и не SQLite, которые она может прочитать, разбить на чанки и сохранить в своей базе данных. это набор непонятных ей архивов, которые не открываются зип архиватором и что с ними делать, она не понимает. Если вам это не интересно я пойму и никаких претензий. Но если вам интересно что бы ваша разработка была интересна тем, кто хочет ее присоединить к своей нейросети, надо как то облегчить путь для этого. Уверен человек со знания программиста решил бы на моем месте задачу достаточно быстро. но сколько всего прграммистов и сколько просто любителей читать )
Создайте в FLibrary коллекцию - получите SQLite-базу данных.

И насчёт архивов, которые не открываются зип-архиватором... так откройте 7z-архиватором и перепакуйте в zip. Или вы про файлы внутри архива annotations.7z? Так не смотрите на их расширения, это банальные xml-ки, одноимённые соответствующим архивам с книгами.

Мне интересно вам помочь, честно. Но не понимаю, что мне для этого надо сделать. Попробуйте описать структуру данных, которую съест ваша нейронка. Или скиньте мне куда-нибудь в облако пример таких данных.

Другой вариант - это выяснить у вас, какую именно нейросеть вы используете, и пойти разбираться с нуля как её у себя развернуть, как её обучить, как с ней работать, как её интегрировать в FLibrary, и т.д. Но для меня это выглядит так же просто, как для вас изучить язык программирования C++, установить у себя MS Visual Studio, да и внести потребные изменения в FLibrary.

Ginom

heimdallrnsk
Ну вот видите я даже не знал, что внутренние архивы это не зип архивы, мы на них и остановились и LLM не понимает что это. Она понимает файл flibusta_fb2_local.inpx потому что там все в одной строчке и автор и название книги и название архива в котором она лежит, ей просто надо понять какие разделители и проиндексировать файл в свою базу данных. Что бы связать файл flibusta_fb2_local.inpx с файлами в папке annotations нужна какая то понятная инструкция. "какую именно нейросеть вы используете" я разные использую в зависимости от задач gemma-4-31b-it-QAT-Q4_0 2. gemma-4-26b-a4b-qat-Q4_0; 3. Qwen3.6-35B-A3B-Q4_K_M-GGUF. Я конечно буду пытаться, как то вытащить все аннотации и попытаться самому написать инструкцию для моей LLM, без наний по программированию, просто потому что много лет с базой флибусты живу. 11 лет назад я ради нее зарегистрировался на этот сайте и с тех пор ее обновляю. А вот другие просто плюнут на такое дело.

Если смотреть теоретически, идеально конечно если бы вашей программе база была не в архивах, а в SQLite или другой базе данных, которую сможет читать и ваш каталог и любая нейросеть, современная или нейросеть будущего через 5 лет или 10. Это было бы идеально, нейросеть могла бы искать по всем параметрам, которые вы создали в своем каталоге и по количеству звезд и по дате создания и по дате обновления и по жанрам и т.д. Если честно ваш каталог крутой, и дать возможность им пользоваться нейросетям, это большой шаг в будущее. Не заменить его, а именно пользоваться им. База данных одна, а инструментов несколько, хочешь через каталог зайди, хочешь нейросети дай команду, что то найти.

P.S. Только в голову пришло, или это может быть fb2.Flibusta.Net.inpx в котором не только путь к файлу с книгой но и путь к файлу с аннотацией, но это ситуационное решение, большинство пользователей нейросетей таким не станут заниматься.

heimdallrnsk

Ginom писал(а):

heimdallrnsk
Ну вот видите я даже не знал, что внутренние архивы это не зип архивы, мы на них и остановились и LLM не понимает что это. Она понимает файл flibusta_fb2_local.inpx потому что там все в одной строчке и автор и название книги и название архива в котором она лежит, ей просто надо понять какие разделители и проиндексировать файл в свою базу данных. Что бы связать файл flibusta_fb2_local.inpx с файлами в папке annotations нужна какая то понятная инструкция. "какую именно нейросеть вы используете" я разные использую в зависимости от задач gemma-4-31b-it-QAT-Q4_0 2. gemma-4-26b-a4b-qat-Q4_0; 3. Qwen3.6-35B-A3B-Q4_K_M-GGUF. Я конечно буду пытаться, как то вытащить все аннотации и попытаться самому написать инструкцию для моей LLM, без наний по программированию, просто потому что много лет с базой флибусты живу. 11 лет назад я ради нее зарегистрировался на этот сайте и с тех пор ее обновляю. А вот другие просто плюнут на такое дело.

Если смотреть теоретически, идеально конечно если бы вашей программе база была не в архивах, а в SQLite или другой базе данных, которую сможет читать и ваш каталог и любая нейросеть, современная или нейросеть будущего через 5 лет или 10. Это было бы идеально, нейросеть могла бы искать по всем параметрам, которые вы создали в своем каталоге и по количеству звезд и по дате создания и по дате обновления и по жанрам и т.д. Если честно ваш каталог крутой, и дать возможность им пользоваться нейросетям, это большой шаг в будущее. Не заменить его, а именно пользоваться им. База данных одна, а инструментов несколько, хочешь через каталог зайди, хочешь нейросети дай команду, что то найти.

P.S. Только в голову пришло, или это может быть fb2.Flibusta.Net.inpx в котором не только путь к файлу с книгой но и путь к файлу с аннотацией, но это ситуационное решение, большинство пользователей нейросетей таким не станут заниматься.
Ещё раз. Моя программа работает именно с SQLite-базой данных. Которая строится по данным из архивов этой раздачи. Сами по себе файлы раздачи нафиг никому не нужны, кроме каталогизатора FLibrary. Запустите FLibrary, создайте коллекцию, получите базу данных

Но если таки хотите разобрать их (или объяснить ИИ их устройство), то файлы в annotation.7z взаимнооднозначно связаны с файлами из *.inpx. Каждый xml-файл из annotations.7z содержит тэги `file`, с атрибутом `name`, значение которого указывает на имя файла с книгой. Вложенные в `file` тэги `p` содержат строки аннотации этой книги. Откройте любой из этих файлов в блокноте, там всё очевидно.

Ginom

Ginom

Ginom

Ginom

heimdallrnsk писал(а):

Ginom писал(а):

heimdallrnsk
Ну вот видите я даже не знал, что внутренние архивы это не зип архивы, мы на них и остановились и LLM не понимает что это. Она понимает файл flibusta_fb2_local.inpx потому что там все в одной строчке и автор и название книги и название архива в котором она лежит, ей просто надо понять какие разделители и проиндексировать файл в свою базу данных. Что бы связать файл flibusta_fb2_local.inpx с файлами в папке annotations нужна какая то понятная инструкция. "какую именно нейросеть вы используете" я разные использую в зависимости от задач gemma-4-31b-it-QAT-Q4_0 2. gemma-4-26b-a4b-qat-Q4_0; 3. Qwen3.6-35B-A3B-Q4_K_M-GGUF. Я конечно буду пытаться, как то вытащить все аннотации и попытаться самому написать инструкцию для моей LLM, без наний по программированию, просто потому что много лет с базой флибусты живу. 11 лет назад я ради нее зарегистрировался на этот сайте и с тех пор ее обновляю. А вот другие просто плюнут на такое дело.

Если смотреть теоретически, идеально конечно если бы вашей программе база была не в архивах, а в SQLite или другой базе данных, которую сможет читать и ваш каталог и любая нейросеть, современная или нейросеть будущего через 5 лет или 10. Это было бы идеально, нейросеть могла бы искать по всем параметрам, которые вы создали в своем каталоге и по количеству звезд и по дате создания и по дате обновления и по жанрам и т.д. Если честно ваш каталог крутой, и дать возможность им пользоваться нейросетям, это большой шаг в будущее. Не заменить его, а именно пользоваться им. База данных одна, а инструментов несколько, хочешь через каталог зайди, хочешь нейросети дай команду, что то найти.

P.S. Только в голову пришло, или это может быть fb2.Flibusta.Net.inpx в котором не только путь к файлу с книгой но и путь к файлу с аннотацией, но это ситуационное решение, большинство пользователей нейросетей таким не станут заниматься.
Ещё раз. Моя программа работает именно с SQLite-базой данных. Которая строится по данным из архивов этой раздачи. Сами по себе файлы раздачи нафиг никому не нужны, кроме каталогизатора FLibrary. Запустите FLibrary, создайте коллекцию, получите базу данных

Но если таки хотите разобрать их (или объяснить ИИ их устройство), то файлы в annotation.7z взаимно однозначно связаны с файлами из *.inpx. Каждый xml-файл из annotations.7z содержит тэги `file`, с атрибутом `name`, значение которого указывает на имя файла с книгой. Вложенные в `file` тэги `p` содержат строки аннотации этой книги. Откройте любой из этих файлов в блокноте, там всё очевидно.
блокирует сообщения с логами анализа базы. В общем суть в том, что в созданной базе коллекции нет аннотаций, а в них вся суть, без них невожен семантический поиск. Вы же мне дали ссылку на эту тему , когда я спрашивал у кого есть база с аннотациями по флибусте.
АНАЛИЗ БИБЛИОТЕКИ FLIBRARY
?? ОБЩАЯ СТАТИСТИКА
----------------------------------------------------------------------
Книги 696,854
Авторы 167,726
Серии 73,389
Жанры 372
Аннотации 0
Связь книг с авторами 842,691
Связь книг с сериями 382,675
Связь книг с жанрами 1,111,172
Пользовательские данные книг 0

?? АННОТАЦИИ
----------------------------------------------------------------------
Всего книг: 696,854
С аннотациями: 0 (0.0%)
Без аннотаций: 696,854 (100.0%)
Средняя длина аннотации: 0 символов

?? АВТОРЫ
----------------------------------------------------------------------
Всего авторов: 167,726
С опубликованными книгами: 167,726
Среднее книг на автора: 5.0

?? СЕРИИ
----------------------------------------------------------------------
Всего серий: 73,389
С книгами: 73,389
Среднее книг в серии: 5.2

? ЖАНРЫ
----------------------------------------------------------------------
Всего жанров: 372
Топ-5 жанров:
026.004 97,221 книг
004.005 60,245 книг
001.001 52,959 книг
002.001 52,091 книг
005.006 44,450 книг

?? ЯЗЫКИ
----------------------------------------------------------------------
ru 614,690 книг
en 47,019 книг
bg 13,808 книг
uk 7,930 книг
es 2,660 книг
be 2,094 книг
fr 2,066 книг
pl 1,830 книг
de 1,661 книг
lv 832 книг

?? ГОДЫ ИЗДАНИЙ
----------------------------------------------------------------------
Последние 10 лет:
32767 4 книг
22011 1 книг
22010 1 книг
20222 1 книг
20217 1 книг
20211 1 книг
20196 1 книг
20190 1 книг
20188 1 книг
20167 1 книг

?? РАЗМЕРЫ ФАЙЛОВ
----------------------------------------------------------------------
Общий размер: 210.49 GB
Средний размер книги: 316.7 KB
Минимальный: 0.0 KB
Максимальный: 30.64 MB

? РЕЙТИНГИ
----------------------------------------------------------------------

heimdallrnsk

Ginom писал(а):

В общем суть в том, что в созданной базе коллекции нет аннотаций
Они там есть, см. таблицу Annotation. Возможно, при создании коллекции вы не взвели галку "Загружать аннотации" Справедливости ради, в таблице только "значимые" для полнотекстового поиска слова из аннотаций. Не знаю, насколько полезна такая форма для ваших нужд.

heimdallrnsk

heimdallrnsk писал(а):

Ginom писал(а):

В общем суть в том, что в созданной базе коллекции нет аннотаций
Они там есть, см. таблицу Annotation. Возможно, при создании коллекции вы не взвели галку "Загружать аннотации"
Справедливости ради, в таблице только "значимые" для полнотекстового поиска слова из аннотаций: выпилена пунктуация и короткие слова. Не знаю, насколько полезна такая форма для ваших нужд.

Ginom

heimdallrnsk писал(а):

heimdallrnsk писал(а):

Ginom писал(а):

В общем суть в том, что в созданной базе коллекции нет аннотаций
Они там есть, см. таблицу Annotation. Возможно, при создании коллекции вы не взвели галку "Загружать аннотации"
Справедливости ради, в таблице только "значимые" для полнотекстового поиска слова из аннотаций: выпилена пунктуация и короткие слова. Не знаю, насколько полезна такая форма для ваших нужд.
Ну как бы не было, я рад что нашел этот каталог, перешел уже с MyHomeLib, одни только рейтинговые оценки чего стоят, кстати с ними тоже какая то проблема оказалась базе. В каталоге вижу, в базе не вижу. про аннотации понял, да, галочку не поставил. надо будет потестить, как нейросеть будет по таким кратким аннотациям искать книги. Пока она лучше ищет в сети, а потом проверяет есть ли она в каталоге. Но это такой путь, не здоровый для нормального библиотекаря ) Если не секрет, почему при анализе базы получился результат РАЗМЕРЫ ФАЙЛОВ
----------------------------------------------------------------------
Общий размер: 210.49 GB

у меня папка флибусты 526 гб, неужели столько мертвых и дубликатов?

heimdallrnsk

Ginom писал(а):

одни только рейтинговые оценки чего стоят, кстати с ними тоже какая то проблема оказалась базе. В каталоге вижу, в базе не вижу.
Таблица `Books`, поле `LibRate`. Там среднее, округлённое до целого. Но можно настроить показ числа с произвольной точностью, тогда программа будет тащить данные из файла reviews/additional.zip.

Цитата:

Если не секрет, почему при анализе базы получился результат РАЗМЕРЫ ФАЙЛОВ
----------------------------------------------------------------------
Общий размер: 210.49 GB

у меня папка флибусты 526 гб, неужели столько мертвых и дубликатов?
Понятия не имею, что такое у вас "Общий размер", и откуда он взялся именно такой. Вроде понял, это сумма `BookSize`, да? В этом поле количество букв в книге. Делите примерно на 3 (архивация в zip), добавьте четверть на оверхэд xml, пробелы, пунктуацию. Остальное - картинки.

Кстати, если есть желание оптимизировать размер архивов с книгами, предлагаю к рассмотрению эту раздачу ah

Ginom

heimdallrnsk писал(а):

Ginom писал(а):

одни только рейтинговые оценки чего стоят, кстати с ними тоже какая то проблема оказалась базе. В каталоге вижу, в базе не вижу.
Таблица `Books`, поле `LibRate`. Там среднее, округлённое до целого. Но можно настроить показ числа с произвольной точностью, тогда программа будет тащить данные из файла reviews/additional.zip.

Цитата:

Если не секрет, почему при анализе базы получился результат РАЗМЕРЫ ФАЙЛОВ
----------------------------------------------------------------------
Общий размер: 210.49 GB

у меня папка флибусты 526 гб, неужели столько мертвых и дубликатов?
Понятия не имею, что такое у вас "Общий размер", и откуда он взялся именно такой. Вроде понял, это сумма `BookSize`, да? В этом поле количество букв в книге. Делите примерно на 3 (архивация в zip), добавьте четверть на оверхэд xml, пробелы, пунктуацию. Остальное - картинки.

Кстати, если есть желание оптимизировать размер архивов с книгами, предлагаю к рассмотрению эту раздачу ah
Желание оптимизировать размер архива есть, уже много лет, но есть какой то подсознательный страх, перейти в другую, молодую раздачу, ей и года еще нет, а в друг автор забросит, как потом обновляться? на старой раздаче то 11 лет сижу уже. С - стабильность. Вот если бы было возможно в случаи чего, обновления брать из старой коллекции и просто генерировать свой inpx. Если такое вообще реально конечно. По поводу приложения FLibrary, Мне думается было бы не плохо в нем добавить избранное, для любимых авторов. Знаю есть группировка, но я не смог придумать, как туда добавлять авторов, а не книги и какой то механизм отслеживания, есть ли новые книги у них. Статистика по коллекции спрятана очень глубоко, логично ей находиться в разделе меню Коллекция. Долго не мог ее найти.

heimdallrnsk

Ginom писал(а):

Желание оптимизировать размер архива есть, уже много лет, но есть какой то подсознательный страх, перейти в другую, молодую раздачу, ей и года еще нет, а в друг автор забросит, как потом обновляться?
Раздаче источнику (на рутрекере) полтора года.

Цитата:

Вот если бы было возможно в случаи чего, обновления брать из старой коллекции и просто генерировать свой inpx. Если такое вообще реально конечно.
Все инструменты для этого есть в открытом доступе. Придётся разобраться, конечно, но как минимум у одного человека получилось. Так что, надеюсь, найдётся кому подхватить флаг в случае чего.

Цитата:

Мне думается было бы не плохо в нем добавить избранное, для любимых авторов. Знаю есть группировка, но я не смог придумать, как туда добавлять авторов
В группы можно добавлять авторов. И серии. По контекстному меню в соответствующих разделах навигации. Надо будет добавить это в справку, если ещё не.

Цитата:

Статистика по коллекции спрятана очень глубоко, логично ей находиться в разделе меню Коллекция. Долго не мог ее найти.
Мне очень не нравится разрастание главного меню пунктами, которые не нужны в повседневном использовании. Но вы не первый это предлагаете, так что извольте.
Показать сообщения:    
Ответить на тему