При всём уважении к автору и проделанной работе! Но данные модели сомнительный выбор для задачи OCR. Текущие модели в первую очередь llm и они лучше будут отвечать на вопросы что на изображении. Ну то есть, на вопрос "Какая фамилия автора?" — они все ответят прилично.
Рекомендую присмотреться:
Nanotes ocr
Deepseek ocr
Paddle ocr
Последний особенно четко распознает сложные структуры сканов/публикаций.
Поддержу предыдущих комментаторов, и задам вопрос более развернуто:
Подскажите пожалуйста, как вы боритесь с LLM выдумыванием? В своих наработках столкнулся с ситуацией когда сотрудники не перепроверяют документ, а получив ответ от бота верят ему. И даже если в найденном документе написано не то что бот суммаризировал в качестве ответа, сотрудники в большинстве случаев не перепроверяют...
В Вашей схеме красным "ответ найден?" — это фидбек от человека? или LLM-судъя? или иной механизм оценки?
Читал про ре-ранкер, и про жесткость промпта — в моем случае работает слабо, у меня документы на 3х языках, потому и уточняю данный технический вопрос...
Понимаю негодование комментаторов выше, однако минусую пост за отсутствие конкретики! Сама задача интересная, и осветить инструментарий, инструкции, техники обучения модели — это ценно! А вот это вот всё пространно описательное тратит время читателя в пустую. GPT так же может на пальцах раскидать любую задачку, и довольно неплохо помогает найти стандартные и не очень решения. Кроме конкретики! Какие инструменты использовать, какой формат данных выбрать, как готовить датасет, каким пайпланом дообучать и пр.
Вообще даже близко не формат Хабра! А какой-то отчет о проделанной работе для руководителя, а не специалистов которые тут читают и делятся опытом...
Подскажите пожалуйста, а квантилизацию можно сделать в клон базы, в дополнение к чистым векторам чтобы получить скорость от квантилизации, но по необходимости иметь возможность в точность? Если так можно выразиться, как отдельный индекс?
В смысле я понимаю, что базу можно клонировать, и один клон квантилизировать, на другой нет. Мой вопрос скорее про такую возможность из коробки?
Из базы FAISS я именно так и делал, но там один файл и пара сотен тысяч векторов...
Можно не читать. Как чисто технически разворачивать ollama, openwebui — наверное многим может быть интересно/полезно. Однако поддержу комментарии выше!
Ожидал увидеть GPU решение, что кто-то нашел способ уложиться в 10$/мес, но увы слукавил. Инференс на CPU для сценария чат с моделью — это полный бред.
Предложенное решение может вменяемо обрабатывать какую-то малую задачу, с очередью сообщений, для которой не требуется минимальная задержка.
По итогу что? Кликбейтный заголовок для рекламы хостинга?
Попробуйте постобработкой с локальной llm. В промпт зашиваете специфические термины, и просьбу исправить после whisper который ошибся при распознавании.
Если все равно плохо выходит — увы только дообучать whisper под свою терминологию
Вы затронули LLM в статье, но из личного опыта могу сказать, что csv для моделей почему-то сложно 🤷🏻♂️ строки путают данные перемешивают и т.п. В тоже время json почти любая модель понимает от 7b и довольно внятно данными из json оперирует. А как Вы планируете «научить» LLM в свой формат?
Одного меня смущает, что FastAPI спроектирован для программирования API. И «прикручивание» фронтенда — рендеринга страниц, это бред!? Почему бы сразу не взять Flask например?
При всём уважении к автору и проделанной работе! Но данные модели сомнительный выбор для задачи OCR. Текущие модели в первую очередь llm и они лучше будут отвечать на вопросы что на изображении. Ну то есть, на вопрос "Какая фамилия автора?" — они все ответят прилично.
Рекомендую присмотреться:
Nanotes ocr
Deepseek ocr
Paddle ocr
Последний особенно четко распознает сложные структуры сканов/публикаций.
Поддержу предыдущих комментаторов, и задам вопрос более развернуто:
Подскажите пожалуйста, как вы боритесь с LLM выдумыванием? В своих наработках столкнулся с ситуацией когда сотрудники не перепроверяют документ, а получив ответ от бота верят ему. И даже если в найденном документе написано не то что бот суммаризировал в качестве ответа, сотрудники в большинстве случаев не перепроверяют...
В Вашей схеме красным "ответ найден?" — это фидбек от человека? или LLM-судъя? или иной механизм оценки?
Читал про ре-ранкер, и про жесткость промпта — в моем случае работает слабо, у меня документы на 3х языках, потому и уточняю данный технический вопрос...
Понимаю негодование комментаторов выше, однако минусую пост за отсутствие конкретики! Сама задача интересная, и осветить инструментарий, инструкции, техники обучения модели — это ценно! А вот это вот всё пространно описательное тратит время читателя в пустую. GPT так же может на пальцах раскидать любую задачку, и довольно неплохо помогает найти стандартные и не очень решения. Кроме конкретики! Какие инструменты использовать, какой формат данных выбрать, как готовить датасет, каким пайпланом дообучать и пр.
Вообще даже близко не формат Хабра! А какой-то отчет о проделанной работе для руководителя, а не специалистов которые тут читают и делятся опытом...
Подскажите пожалуйста, а квантилизацию можно сделать в клон базы, в дополнение к чистым векторам чтобы получить скорость от квантилизации, но по необходимости иметь возможность в точность? Если так можно выразиться, как отдельный индекс?
В смысле я понимаю, что базу можно клонировать, и один клон квантилизировать, на другой нет. Мой вопрос скорее про такую возможность из коробки?
Из базы FAISS я именно так и делал, но там один файл и пара сотен тысяч векторов...
После фразы:
Можно не читать. Как чисто технически разворачивать ollama, openwebui — наверное многим может быть интересно/полезно. Однако поддержу комментарии выше!
Ожидал увидеть GPU решение, что кто-то нашел способ уложиться в 10$/мес, но увы слукавил. Инференс на CPU для сценария чат с моделью — это полный бред.
Предложенное решение может вменяемо обрабатывать какую-то малую задачу, с очередью сообщений, для которой не требуется минимальная задержка.
По итогу что? Кликбейтный заголовок для рекламы хостинга?
Подскажите пожалуйста, почему Вы выбрали вариант Hermes и Deepseek в качестве парсеров?
Разве модель qwen3-14b не умеет сразу в strict json — т.е. сразу генерировать tool call формат?
Я пришёл к похожим выводам при переводе технической литературы, и схожим с автором способом "удерживаю" модель в контексте.
Однако по художественной литературе, согласен с Вами, работает сомнительно. Стилистика очень сильно скачет...
Поделитесь пожалуйста своими промптами и техниками 🙏
Кстати в whisper.cpp можно задать инициирующий промпт с терминологией:
./main -m models/ggml-large-v3.bin -f lecture.wav--language en --temperature 0 --beam-size 5
--initial-prompt "Today we discuss cardiology: myocarditis, troponin, echocardiography, ACE inhibitors, beta-blockers, atrial fibrillation, heparin, warfarin, NOACs..."
Попробуйте постобработкой с локальной llm. В промпт зашиваете специфические термины, и просьбу исправить после whisper который ошибся при распознавании.
Если все равно плохо выходит — увы только дообучать whisper под свою терминологию
Чудесная статья, только о чем она? О разработке? О программе?
Некая нонейм программа и в ней удобно маппить — ценность статьи нулевая, имхо.
Готов поделиться — делись! — GitHub например🤷🏻♂️
Не готов — зачем публикация?
🤔 у json как бы тоже есть возможность типизации, и последующей валидации например через json schema
Вы затронули LLM в статье, но из личного опыта могу сказать, что csv для моделей почему-то сложно 🤷🏻♂️ строки путают данные перемешивают и т.п. В тоже время json почти любая модель понимает от 7b и довольно внятно данными из json оперирует. А как Вы планируете «научить» LLM в свой формат?
При всём уважении, но тема не раскрыта!
Что из себя представляет Граф-знаний? И в каком формате передаётся в LLM? А главное какие LLM вообще воспринимают Графы-знаний?
Это скорее отчет о проделанной работе, нежели внятная статья.
Взяли, добавили, учли, потом ещё добавили, потом изменили и т.п.
Из серии: мы взяли буханку хлеба, и нехитрыми манипуляциями получили троллейбус 😅
Одного меня смущает, что FastAPI спроектирован для программирования API. И «прикручивание» фронтенда — рендеринга страниц, это бред!? Почему бы сразу не взять Flask например?
Планирую прикупить себе +/- похожую конфигурацию на 4ре 4070ti 16g. Подкиньте пожалуйста пару ссылок по настройке, я дилетант в этом вопросе...
Мне показалось, или вы тут классы переизобрели?
Технология выйдет в паблик? — чтобы можно было свою книжку/текст/подкаст озвучить?
я бы тоже почитал, тема достаточно интересная, а структурированный комплексный материал трудно найти...