ПриветXin chàoHello

Кейс проекта

AI-переводчик геологической документации

Веб-приложение, предназначенное для контекстного перевода технической документации в области нефтяной геологии. Интегрирует OpenAI/Azure и локальные модели искусственного интеллекта в расширенную цепочку ИИ для генерации точных переводов, обеспечивая при этом безопасность корпоративных данных. Удобный интерфейс и поддержка форматированных файлов Docx упрощают процесс перевода для всех пользователей.

Введение

Приложение-переводчик — незаменимый инструмент для предприятий, которым требуется точный перевод технической документации. В то время как популярные инструменты текстового перевода, такие как Google Translate, и коммерческие решения на основе глубокого обучения, эффективны для перевода текстов на общие темы, они часто оставляют желать лучшего, когда речь идет о редко используемых языках или узкоспециализированной терминологии.

Например, международная компания, для которой разрабатывалось приложение, требует предоставления всей технической документации как на русском, так и на вьетнамском языках. К сожалению, существующие инструменты перевода часто выдают нечитаемый набор символов из-за использования узкой терминологии. Это приводит к необходимости выполнения значительного объема ручного труда для задачи, которая в противном случае могла бы быть автоматизирована.

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

Цели и Требования

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

Основные первоначальные требования:

  • Достичь точных переводов ✅, обеспечивая точность специфичной для компании терминологии в области нефтегазовой геологии
  • Внедрить надежные меры для гарантированной безопасности данных компании 🔏 на протяжении всего процесса перевода
  • Обеспечить перевод форматированных документов в формате Docx, сохраняя оригинальный макет и структуру технической документации
  • Разработать простой и интуитивно понятный пользовательский интерфейс, чтобы облегчить навигацию и работу для всех пользователей, независимо от технических знаний
  • Внедрить комплексную систему управления пользователями и токенами, обеспечивающую эффективное администрирование и контроль доступа и разрешений 🛂

Ключевые особенности

Этот проект объединяет различные важные элементы, которые вместе создают качественное и надежное решение, подходящее для коммерческих целей.

  1. Закрытый набор данных: Эксклюзивный доступ к тщательно подобранному набору данных перевода, хранящемуся в векторной базе данных.
  2. Безопасность: Аутентификация на основе JWT и авторизация с учетом ролей обеспечивают безопасность данных приложения.
  3. Профили с удобным интерфейсом: Функциональные пользовательские профили с простым сбросом пароля и управлением персональной информацией.
  4. Автоматизированные уведомления: Автоматизированные уведомления по электронной почте упрощают коммуникацию и взаимодействие с пользователями.
  5. Контейнеризированное развертывание: Настройка контейнера Docker для беспроблемного развертывания в любой среде.
  6. Дизайн с учетом мобильных устройств: Адаптивный дизайн, ориентированный на мобильные устройства, с плавной анимацией для удобства пользователей.
  7. Перевод в один клик: Интуитивно понятный процесс перевода в один клик, обеспечивающий простоту и удобство для пользователя.
  8. Сохранение формата при переводе .docx: Перевод документов .docx без потери форматирования или структуры файла.
  9. Администрирование на основе ролей: Простая система администрирование на основе ролей для эффективного управления пользователями.

Список технологий

Этот проект был разработан с использованием тщательно отобранного набора современных технологий и инструментов. Основные из них перечислены ниже. Для полного обзора всех зависимостей, включая точные версии, вы можете изучить детали в файле package.json для фронтенда и в файле package.json для бэкенда.

Бэкенд:

НазваниеПрименение
TypeScript BadgeПовышение качества кода и его поддерживаемости путем введения статической типизации в JavaScript.
Node.js BadgeСлужит средой выполнения для выполнения кода JavaScript на стороне сервера, обеспечивая масштабируемость и высокую производительность приложений.
Express BadgeУпрощение построения надежных и масштабируемых веб-приложений с помощью минимального и гибкого фреймворка веб-приложений для Node.js.
JSON Web Tokens BadgeПредоставление компактного и безопасного средства представления утверждений, обычно используемого для аутентификации и безопасного обмена информацией.
MongoDB BadgeПредоставление высокой производительности, масштабируемости и гибкости для работы с большим объемом данных с использованием базы данных NoSQL.
Mongoose BadgeУпрощение взаимодействия с базами данных MongoDB с помощью элегантного объектного моделирования MongoDB для Node.js.
TensorFlow BadgeОблегчение разработки и обучения моделей глубокого обучения с помощью открытого фреймворка машинного обучения.
Microsoft Azure BadgeПредоставление облачной платформы с различными услугами, включая вычислительную мощность, хранение и аналитику, для создания и развертывания приложений.
Docker BadgeАвтоматизация развертывания, масштабирования и управления приложениями в контейнерах с использованием платформы, разработанной для эффективности и согласованности.
Postman BadgeУпрощение тестирования и управления API с использованием совместной платформы для разработки API.
Swagger BadgeПредоставление набора инструментов для проектирования, создания и документирования RESTful API, обеспечивая согласованность и удобство использования.

Фронтенд:

НазваниеПрименение
TypeScript BadgeПовышение структурированности и поддерживаемости кода на фронтенде за счет предоставления статической типизации.
Vite BadgeСлужит в качестве быстрого, оптимизированного инструмента сборки для разработки веб-приложений, целью которого является предоставление более быстрого и легкого опыта разработки.
React BadgeЯвляется библиотекой JavaScript для построения пользовательских интерфейсов, предоставляя декларативный и эффективный способ создания интерактивных пользовательских интерфейсов.
Chart.js BadgeПредоставление простой, но гибкой библиотеки JavaScript для создания интерактивных графиков дизайнерами и разработчиками.
Figma BadgeИспользуется как онлайн-совместный инструмент для создания дизайна пользовательского интерфейса и прототипов.
Tailwind CSS BadgeПрименяется как фреймворк CSS, ориентированный на утилиты, упрощающий проектирование и разработку современных адаптивных веб-интерфейсов.

Вызовы и Решения

Несомненно, этот проект представил для меня значительное испытание, особенно в тех областях, где руководства из учебных пособий, документации, Stack Overflow или обсуждений на GitHub были недостаточными. Тем не менее необходимость находить решения самостоятельно и быстро адаптироваться к новым технологиям сделала работу над этим проектом невероятно увлекательной!

Основным препятствием было обеспечение максимального качества и точности переводов. Именно эта особенность выгодно отличает проект от конкурентов. Следовательно, я продолжаю вкладывать время и усилия в эксперименты и улучшения, несмотря на то, что уже было реализовано множество идей.

Вызов 1: Качество переводов

Общий способ улучшить результаты модели ИИ - предоставление соответствующих примеров. Так что я начала со сбора обширного набора образцов переводов, связанных с геологией и написанных на русско-вьетнамском языках. Сбор данных был сложным из-за несогласованности в доступных источниках, как с точки зрения форматирования информации, так и содержания. Для автоматизации процесса были использованы макросы VBA и скрипты JS, но ручная работа по-прежнему была необходима как завершающий этап очистки данных.

Во-вторых, я очень много экспериментировала с различными структурами запросов, длиной контекста и настройками моделей. Акцент был сделан на оптимизации производительности приложения по соотношению цена/качество.

Вызов 2: Крутая кривая обучения новым технологиям и недостаток документации

Мое любопытство распространяется на понимание тонкостей всего процесса, начиная от запуска npm run dev и заканчивая передачей данных через аппаратное обеспечение и Wi-Fi-соединение. Диплом по компьютерным наукам закладывает прочную основу, но он не охватывает последние технологические достижения. Таким образом, чтобы справиться с этим проектом, я посвятила бесчисленные ночи просмотру руководств, чтению документации и глубокому погружению в работу моделей искусственного интеллекта, а также передовых инструментов, таких как Langchain. И это было так весело — загляните в один из моих любимых источников теоретических знаний, StatQuest с Джошем Стармером.

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

Основные выводы 🍬

Приложение AI Translator изначально задумывалось как эксперимент во время подъема искусственного интеллекта, но со временем превратилось в проект с впечатляющими результатами и многообещающими перспективами в своей нише.

Достигнутые результаты

В течение первых трех месяцев использования приложение набрало значительную популярность, регистрируя в среднем использование 2,000,000 токенов Azure API в месяц. Этот растущий показатель подчеркивает растущее распространение приложения, поскольку все больше сотрудников внедряют его в свои повседневные рабочие процессы.

Положительные отзывы пользователей подчеркнули полезность приложения: сотрудники сообщили о сокращении времени, необходимого для выполнения задач по переводу документов, на 80%.

Использование API составляет значительную часть операционных расходов приложения. Эти расходы были минимизированы до 8 долларов США или 200,000 VND в месяц. Общие результаты показывают более чем пятикратное снижение затрат на перевод документации, значительную экономическую выгоду приложения.

Извлеченные уроки

Главный урок из этапа разработки этого проекта подчеркивает критическую важность полной документации. Простая и актуальная документация служит ориентиром на этапе обслуживания, особенно в контексте многозадачных проектов.

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

Планы на будущее

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

Подход, ориентированный на пользователя, остается приоритетом: планируется добавить функции, позволяющие редактировать перевод вручную, чтобы адаптировать переводы к конкретным потребностям и предпочтениям. Полный список предстоящих изменений можно найти в дорожной карте проекта.

Последнее обновление: 7 октября 2024 г.