Skip to content

Разработка на софтуер в Program Tom ООД

Място за кодене/програмиране/софтуерна архитектура, разработка и софтуер като цяло.

Menu
  • Blog
  • PDF Booklets
  • Dev Utils & Content
  • Java Spring Boot Or Web Apps
  • български
    • български
    • English
    • Español
    • Português
    • हिन्दी
    • Русский
    • Deutsch
    • Français
    • Italiano
    • العربية
  • About Us
Menu
Things nobody tell you about AI - from personal experience

Неща, които никой не Ви казва за AI – от личен опит

Posted on май 26, 2023юни 6, 2024 by Toma Velev

Изкуственият интелект е тенденция, за която има милиони мнения – положителни и отрицателни, така че като техническо лице реших да придобия малко личен опит с нея. Не съм ескперт в математиката или в машинното обучение, за това, ще представя моята гледна точка – на създаващ приложения за масовия потребител. https://www.youtube.com/watch?v=ZV6M0O_VITE

Да използвам ли Open AI или да не използвам Open AI

За да събера малко личен опит – тествах AI python код, който използва езикови модели с отворен код за:

  • преобразуване от текст в реч
  • преобразуване от говор към текст
  • извличаne на текстов отговор от машинния модел

Имам имплементирана обвивка на Open AI . https://programtom.com/dev/product/gpt-spring-boot-micro-service/. Но за този личен проект не исках да използвам API на OpenAI, за да минимизирам таксите и да си изцапам ръцете реално. В противен случай щях да бъда просто REST API Интегратор и нямаше да науча нищо от него.

Python страна

Всичко трябва да бъде разделено на най-малките градивни елементи – наричани още първи принцип във физиката. По отношение на изкуствения интелект това е:

  • Събиране на данни, които ще бъдат използвани за обучение на модел за машинно обучение
  • Трансформиране данните от реалния свят в математически модели, които ще се използват за бъдещи заявки
  • Инициализиране на моделите и получете желания резултат.

От всичко по-горе направих само третата стъпка, защото исках да имам готово приложение – по-бързо.

 Java/Kotlin Wrapper

Не владея Python, но съм достатъчно полиглот – за да свърша задачата си. Направих мини сървър – с няколко REST Endpoints на горното – така че моделите да останат в паметта и да бъдат по-бързи, и ги обвих в Java Web Приложение.
Като част от желаното от мен приложение разширих и предишен мой проект. Отворих REST крайна точка, която извиква API на Google Translate. Имаше известна сложност като:

  • Приложението беше написано с Kotlin
  • работи на GraaVM
  • Quarkus като основа за
    • Той е част от уеб приложението Vaadin – https://programtom.com/dev/product/poc-translations-manager-application/

На определени места – внедрих кеширане на заявки. Без значение дали някой използва API на трета страна или личен – кеширането ще подобри скоростта/изживяването при използване.

Приложение Flutter

Крайната цел на моя проект е приложение Flutter, което

  • записва гласа
  • преобразува го в текст
  • превежда го на други езици
  • изговаря текста

Това може да е полезно за изучаване на нови езици или (някак бавно, но – ) говорене с чужденци на техния език. Приложението използва:

  • Flutter Plugins – за iOS, Android и Windows за
  • Записване
  • Възпроизвеждане на аудио
  • sqlite3, flutter_bloc, flow_builder и др

Приложението ми за момента работи на Windows и iOS, но имам някои проблеми с Android. Имам и няколко UX елемента за коригиране, но се надявам скоро да успея да ги публикувам в магазините.

Заключения

Експериментирах и научих много с този проект.

  • AI изисква много и модерна изчислителна мощност. Имам стар компютър с надстроена RAM и SSD и все още – той е бавен за приложения за машинно обучение
  • Въпреки че научих много, експериментирайки с различни технологични стекове и библиотеки, преминах точката на сложност, която уби продуктивността
    • Подхождайте просто и глупаво – използвайки нещата, които знаете
  • Prompt-to-Production: How AI is Forcing Us to Build Higher Quality Software
  • Debug Web View Flutter App
  • Skipping AI? You’re a Relic – Time to Evolve or Perish!
  • 2026 Flutter Launch Blueprint: Your 10-Step Checklist to App Store Domination
  • Product Requirements Document – for different software development levels

Categories

  • Apps (25)
  • ChatGPT (27)
  • Choosing a Framework (38)
  • Flutter (281)
  • Graphical User Interface (14)
  • Marketing (119)
  • Software Development (292)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (14)
  • Uncategorized (4)
  • Vaadin (16)

Tags

Algorithms (9) crypto (29) flutterdev (39) General (86) Java (7) QR & Bar Codes (3) Software Dev Choices (33) Spring Boot (1) standards (1) Theme (3) User Authentication & Authorization (9) User Experience (10) Utilities (19) WordPress (11)

Product categories

  • Uncategorized (0)

Recent Posts

  • Prompt-to-Production: How AI is Forcing Us to Build Higher Quality Software
  • Debug Web View Flutter App
  • Skipping AI? You’re a Relic – Time to Evolve or Perish!
  • 2026 Flutter Launch Blueprint: Your 10-Step Checklist to App Store Domination
  • Product Requirements Document – for different software development levels

Post Categories

  • Apps (25)
  • ChatGPT (27)
  • Choosing a Framework (38)
  • Flutter (281)
  • Graphical User Interface (14)
  • Marketing (119)
  • Software Development (292)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (14)
  • Uncategorized (4)
  • Vaadin (16)