Перейти к содержимому
Олимжон Ахмаджонов
Все работы

Кейс

Офлайн-анализ документов на узбекском языке

Полностью локальная RAG-система для длинных PDF на узбекском — латиница или кириллица, включая сканы, — которая отвечает на вопросы со ссылками на страницы и формирует выводы, не выпуская ни байта данных за пределы машины.

Клиент
Работа с конфиденциальными документами (R&D-прототип)
Роль
Исследование и разработка — выбор моделей, пайплайн, оценка качества, интерфейс
Сроки
Исследование → рабочий прототип
Стек
PythonFastAPIDoclingTesseract OCRBGE-M3QdrantLocal LLMReactTypeScript

Задача

Узбекский — малоресурсный язык: в документах смешаны латиница и кириллица, апострофы непоследовательны, многие файлы — сканы. Готовые RAG-инструменты ищут по ним плохо, а облачные модели для конфиденциальных документов не подходили.

Подход и архитектура

  • Сначала исследование: восемь документов с выводами по выбору моделей, поддержке узбекского языка, загрузке и поиску, а также живое сравнение локальных моделей.
  • Загрузка с учётом разметки документа и OCR для сканов, затем нормализация узбекского текста — исправление апострофов, Unicode-нормализация и транслитерация кириллицы в латиницу.
  • Гибридный плотный и разреженный поиск со слиянием рангов и переранжированием; тематический фильтр отклоняет вопросы, на которые в документе нет ответа; уточняющие вопросы переписываются в самостоятельные запросы.
  • Всё работает на одном ноутбуке в рамках заранее рассчитанного бюджета памяти: квантованная локальная LLM, векторное хранилище в контейнере и интерфейс на React с PDF-просмотрщиком рядом с ответом.

Результат

  • Hit@10 = 0,96 на эталонном наборе из 30 вопросов на узбекском.
  • Потоковые ответы со ссылками на страницы, сводки и выводы по каждому документу и режим библиотеки для поиска по всем документам сразу.

Что обеспечило надёжность

  • Эталонный набор и набор уточняющих вопросов с сохранёнными отчётами о сравнении моделей — смена модели измеряется, а не угадывается.
  • План реализации с фазами, бюджетом памяти и реестром рисков; фазы 0–5 завершены.
  • Автотесты на нормализацию, поиск и API.

Похожая задача?

Расскажите о ней — честно оценю объём, подход и то, каким может быть первый этап.

Обсудить проект

Расскажите о задаче — достаточно нескольких предложений.

Отвечаю в течение 1–2 рабочих дней. Или напишите напрямую: oakhmadjonov.uz@gmail.com