Skip to content

Sentient AIEP with all prototypes- Chatbot, Image recognition, Flashcards, Creative Writer, AI IDE, Flowchart Generator

License

Notifications You must be signed in to change notification settings

petroff69/sentient-aiep

Repository files navigation

ТЕМА НА ПРОЕКТА :

Sentient AI

Златимир Георгиев Петров

ПМПГ “Св. Климент Охридски“ гр. Монтана 12 клас

image banner CodeIDE

Съдържание:

1. Увод

2. Цели

3. Основни етапи в реализирането на проекта

4. Задачи

5. Логическо и функционално описание на решението

6. Ниво на сложност на проекта

7. Реализация

8. Описание на приложението

9. Заключение

Увод : Проектът "Sentient AI" има амбицията да промени бъдещето на изкуствения интелект (ИИ), като се фокусира върху създаването на полезни интернет приложения, в които са вложени ИИ помощници. В свят, където технологиите стават все по-неразделна част от ежедневието ни, какво би било, ако ИИ не само разбира думите, но ни помага и в изпълнението на различни ежедневни задачи?

Проектът предвижда да се утвърди като обучителен ресурс, предоставящ на учениците прозорец към ИИ и практическите умения за разработка. Използвайки най-модерни технологии като естествена езикова обработка (NLP), разбиране на естествен език (NLU), компютърно зрение и GPT(generative pre-trained) модели, този ИИ може да разбере не само думите, но и смисъла зад тях.

  1. Цели (предназначение, кратък анализ на потребностите и на съществуващите решения)

Целта на този проект е да изследва и разработи такива интелигентни системи, които не просто изпълняват алгоритми, а реагират адекватно на нашите желания и нужди. Що се отнася до образователната цел, проектът "Sentient AI" цели:

  • Да запознае учениците с изкуствения интелект и да ги научи как да използват различни ИИ технологии.
  • Да помогне на учениците да изградят основни знания за ИИ, като им предостави по- широка перспектива и интерес към тази иновационна област.
  • Да подпомогне обучението на учениците, като подпомага писането на есета и програмирането, изцяло в уеб среда.

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

  • Чатбот с гласов асистент (Modern Voice AI Assistant)
  • Генератор на блоксхеми (Flowchart Generator)
  • Генератор на флашкарти (Sentient AI Flashcards)
  • Интегрирана среда за разработка с вграден ИИ помощник (AI-Driven Code Editor)
  • ИИ Текстов редактор (AI-Driven Text Editor)
  • Интелигентна система за разпознаване на изображения (Sentient Image)
  • Книга, свързана с ИИ технологиите

Целта на чатбота с гласово разпознаване е да създаде по-интуитивни и естествени взаимодействия между хората и ИИ системите. Доста голям плюс за приложението е, че е с удобен интерфейс и е специализиран за гласово разпознаване, като има функция и за текстова комуникация. ➢ Осигуряване на работа без ръце и по-естествени модели на комуникация. ➢ Осигуряване на гъвкавост и мащабируемост, което го прави подходящ за различни устройства и платформи.

Целите на редакторът на код с ИИ са да повишат продуктивността на разработчиците и да оптимизират процеса на писане на код.

Оптимизиране на работния процес чрез AI помощ и преглед на кода в реално време. Интегрираната AI поддръжка и автоматичен анализ на кода подобряват ефективността на разработчиците. ➢ Предлагане на разширени функционалности за редактиране на код.Предоставяне на AI - базирани предложения и обяснения на кода.

Целите на AI Текстовия редактор са да подобри процеса на писане чрез изкуствен интелект, като комбинира традиционни функции за обработка на текст с AI-базирана помощ.

➢ Подобряване на процеса на писане чрез предоставяне на усъвършенствана
платформа, която съчетава традиционни функции за редактиране с възможности на
изкуствения интелект.
➢ AI асистирано редактиране , при което потребителите могат да въвеждат
промптове, за да насочват AI при редактирането и подобряването на текст.
Основните цели на проекта AI генератор на блок - схеми са:

Разработване на уеб - базирано приложение , което генерира блок-схеми от текстови описания. ➢ Интегриране AI модели за обработка на естествен език и автоматично създаване на блок- схеми. ➢ Реализиране на интуитивен потребителски интерфейс с поддръжка на множество езици и осигуряване на адаптивен дизайн.

Генератор на флашкарти

➢ Оптимизиране на процеса на представяне на сложни идеи и концепции чрез ясни, сбити и визуално привлекателни флашкарти, подпомагащи запаметяването и разбирането.

Анализатор на изображения
➢ Сканира изображения и извлича от тях описания и вграден текст.
➢ Тази технология може да има широки приложения, включително подобряване на уеб
достъпността за хора със зрителни увреждания.
➢ Полученото съдържание може да бъде използвано за алтернативен текст в уеб
продукти.

Книгата

➢ Книгата Sentient AI разглежда света на изкуствения
интелект по начин, който е лесен за разбиране,
обяснявайки историята, начините на работа и
бъдещето на ИИ.
➢ Книгата описва начина, по който ИИ се обучава,
както и невронни мрежи като конволюционни
невронни мрежи (CNN) за изображения и
рекурентни невронни мрежи (RNN) за обработка на
език.
➢ Тя разглежда приложенията на ИИ в различни
области.
  1. Основни етапи в реализирането на проекта

    • Събиране на информация.
    • Избор на технологии.
    • Проектиране.
    • Тестване.
    • Реализация.
    • Оптимизация.
    • Създаване на портален уебсайт и книгата “Sentient AI”.
  2. Задачи: При създаването на проекта си поставих следните задачи: ✓ Да създам свой собствен “чат-бот”. ✓ Да надградя възможностите на един обикновен и често срещан “чат-бот”, като създам по-интересна комуникация между човек и машина. ✓ Да измисля как да надградя “чат-бота” в онлайн апликация, която да има една идея по-различна функционалност от нещото, което срещаме в практиката си всеки ден. Да тествам и оптимизирам работата с ИИ, да следя “осъзнатостта” на ИИ под различни модели. ✓ Намиране на качествен хостинг, който да поддържа тежки процеси и предоставянето на “API“ за ползване на ИИ прототипите. ✓ Тестването на проекта и изследване на резултатите. ✓ Експериментиране и създаване на ощe прототипи, с вграден ИИ. ✓ Изследванията да достигнат до повече неспециалисти в областта на ИТ и ученици, за да вникнат в същността на ИИ. ✓ Създаване на книга.

  3. Ниво на сложност на проекта − основни проблеми при реализация на поставените цели

Проектът Sentient AI е изключително сложен поради обхвата си, който включва
множество аспекти на разработването на "осъзнат" изкуствен интелект (ИИ). Основните
предизвикателства при реализирането на целите на проекта включват:
➢ Бързо придобиване на знания и умения в нова и сложна област като ИИ.
➢ Трудности, свързани с програмирането на функционален чатбот, разработването
на различните по вид приложения и внедряването на разпознаване на глас,
проблеми при внедряването на ИИ, нуждата от качествен и достъпен дизайн.
➢ Научаване на нови технологии и различни библиотеки, методи, езици за
програмиране и писане на документация.
➢ Необходимост от последователност и упоритост за постигане на желаните
резултати.
  1. Логическо и функционално описание на решението – (архитектура, от какви модули е изградено, какви са функциите на всеки модул, какви са взаимодействията помежду им.)

Генераторът на Диаграми на използва технологичен стек и се състои от

няколко ключови модула. Основата на приложението разчита на интегрирането на Claude API от Anthropic. Ето разбивка на архитектурата, модулите и техните функции: ➢ Фронтенд: Изграден с React и стилови класове от Tailwind CSS, фронтендът осигурява потребителския интерфейс на приложението. o page.tsx: Това е основният компонент на страницата, който обработва входа от потребителя и генерирането на диаграми на потока. o sidebar.tsx: Компонент за странично меню, което управлява чатове и диаграми на потока. Може да се свива до лента за навигация в мобилни устройства. ➢ settings-modal.tsx: Това е модален компонент, използван за конфигуриране на API ключове и други настройки.

Бекенд: Изпълнен с помощта на Next.js API маршрути, които обработват заявки и
интегрират AI услуги.

➢ /api/generate-flowchart: Този маршрут обработва заявки към Claude API за генериране на диаграми на потока. ➢ /api/set-claude-key: Този маршрут управлява сигурното съхранение на API ключове. ➢ Визуализация: Библиотеката Mermaid.js се използва за рендиране на диаграмите на потока. Рендерирането на диаграмите динамично се променя, за да пасне на различни размери на екрана.

Функционалности на системата:
➢ Интерпретиране на вход от потребителя.
➢ Генериране на код за диаграма на потока: Claude API генерира код, съвместим с
Mermaid. Подканите насочват ИИ-то при генерирането на този код.
➢ Рендиране на диаграми на потока: Библиотеката Mermaid.js рендира генерирания
код като визуална диаграма на потока.
➢ Взаимодействия между модулите: Фронтендът изпраща вход от потребителя към
бекенда, който комуникира с Claude API за генериране на код за диаграма на потока.
След това бекендът изпраща този код обратно към фронтенда, където се рендира
като диаграма на потока чрез Mermaid.js.

Гласовият асистент:

Архитектура : Клиент-сървър архитектура. ➢ Ключови технологии :

  • Next.js 14.1.0 с App Router за сървърно рендиране и API маршрути.
  • React 18 за изграждане на потребителски интерфейс.
  • TypeScript за по-сигурно и предсказуемо развитие.
  • Groq SDK за генериране на текст от AI.
  • Cartesia API за висококачествено синтезиране на реч.
  • Web Audio API за обработка на гласов вход на клиентската страна.
  • Framer Motion за анимиран потребителски интерфейс.
  • Tailwind CSS за стилове и отзивчивост.
Ключови компоненти :
  1. Главен компонент ( app/page.tsx): Рендира потребителския интерфейс, управлява състоянието, записването на глас и комуникацията с API.
  2. API обработващ маршрут ( app/api/route.ts): Обработва входа на потребителя, управлява взаимодействието с AI и преобразуването на текст в реч.
  3. Компонент съобщения ( app/components/ChatMessage.tsx): Визуализира съобщенията с анимации.
  4. Компонент настройки ( app/components/Settings.tsx): Предоставя възможности за персонализиране.
  5. Компонент за гласов вход ( app/components/VoicePrompt.tsx): Показва състоянието на гласовия вход. 6. Анимиран компонент на звукова вълна ( app/components/Waveform.tsx): Предоставя визуална обратна връзка по време на реч. 7. Hook за възпроизвеждане на аудио ( app/lib/usePlayer.ts): Управлява възпроизвеждането на отговори от AI.
Функционалност :
  • Обработка на гласов вход : Използва Web Audio API за записване на глас от микрофона на потребителя и изпращане на аудиофайла за обработка на сървъра.
  • Обработка на естествен език : Обработва заявките на потребителя (текстови или транскрибирани от аудио) чрез Groq SDK, което генерира контекстно осъзнати отговори.
  • Синтез на реч : Преобразува отговорите на AI в естествено звучаща реч чрез Cartesia API.
  • Потребителски интерфейс : Изграден с React и Tailwind CSS, използвайки Framer Motion за динамични анимации.

Интегрирана среда за разработка с вграден AI помощник

Архитектура : Модерна уеб архитектура.
Ключови технологии :
  • Frontend: React, Next.js и Tailwind CSS за създаване на интуитивен и отзивчив потребителски интерфейс.
  • Code Editor: Monaco Editor като мощна база за редактиране на код.
  • AI интеграция : Groq API за обработка на естествен език и генериране на код.
  • Управление на състоянието : React Hooks и Context API за ефективно управление на данни.
  • Език : Персонализиран hook useTranslation за поддръжка на множество езици.
Ключови компоненти :
  1. Главно приложение ( app/page.tsx): Управлява взаимодействията между файлове, редактора и AI асистента.
  2. Странична лента ( components/sidebar.tsx): Осигурява навигация, управление и преглед на файловете.
  3. AI асистент ( components/ai-assistant.tsx): Интерфейс за взаимодействие с AI за помощ в програмирането.
  4. Помощник по код ( components/code-helper.tsx): Предоставя контекстуално чувствителна помощ и генериране на код.
  5. Текст генератор ( components/text-writer.tsx): Автоматично създава коментари и документация.
Функционалност :
  • Разширени възможности за редактиране на код : Подсветка на синтаксис, автоматично довършване, откриване на грешки.
  • AI- базирани предложения за код : Предлага предложения, обяснения и помощ, чувствителна към контекста.
  • Изпълнение на код : Изпълнява код директно в редактора.
  • Управление на файлове и проектни структури : Поддържа организирането и управлението на файлове.

AI Текстов Редактор

Архитектура : Модерна уеб технологична платформа.

Ключови технологии :

  • Frontend Framework: React и Next.js за сървърно рендиране и генериране на статични уебсайтове.
  • UI компоненти : shadcn/ui, колекция от многоизползвани компоненти, базирани на Radix UI и Tailwind CSS.
  • Текстови редактор : Tiptap, разширяем rich text редактор съвместим с React.
  • AI интеграция : Groq API, използвайки модела Mixtral 8 x 7 B за обработка на естествен език.

Функционалност :

  • AI подпомогнато редактиране : Потребителите могат да въвеждат промптове, за да насочват AI в редактирането и подобряването на текст, като регулират параметри като "температура" и максимален брой токени.
  • Управление на файлове : Поддържа създаване, редактиране и организиране на множество файлове и папки.
  • История на версиите : Позволява на потребителите да проследяват промените и да възстановяват предишни версии на документи.
  • Тъмна тема : Включва тъмна тема за по-добра видимост.
  • Отзивчив дизайн : Интерфейсът е напълно отзивчив за използване както на десктопи, така и на мобилни устройства.
  1. Реализация − обосновка за използвани технологични средства, алгоритми, литература, програмни приложения и др.
  • Среда за разработка : Visual Studio Code & v0.
  • AI модели и API : o GPT- 4 се използва чрез OpenAI API. o Модели като LLaMA 3.1 с библиотеката Hugging Face Transformers. o Groq API се използва за бързо генериране на отговори. o Claude API се използва за анализ на изображения и текст.
  • Уеб разработка : o React, TypeScript, JavaScript, JSON, HTML5 и CSS3 се използват за разработване на уеб интерфейса. o Next.js се използва като основен framework.
    • Използвани програми: o Microsoft Office o Phyton, TensorFlow o PyCharm, NumPy, PyTorch
  • Други библиотеки и инструменти : o FastAPI се използва за трансформиране на чатбота в уеб услуга.
  • Хостинг : Vercel се използва за хостинг.

Проектът също така използва алгоритми и библиотеки за:

  • Обработка на естествен език ( NLP) и ( NLU).
  • Разпознаване на глас и синтез на реч.

Използвана е следната литература:

  • "Изкуствен срещу естествен интелект" от Фабио Скардили (2024).

  • "Разработка на приложения с GPT-4 и ChatGPT. Създаване на интелигентни чатботове, генератори на съдържание и много други" от Мари-Алис Блете, Оливие Кейлън (2024).

  • "HTML 5 & CSS 3 - практическо програмиране" от Денис Колисниченко (2018).

  • "Machine Learning for Beginners" от Christian Sebastien (2021-2022).

  • "AI: The Basics" от Kevin Warwick (2011).

  • "Make Your Own Neural Network" от Tariq Rashid (2016).

  • "Artificial Intelligence: A Modern Approach, Global Edition (4th Edition)" от Stuart Russell и Peter Norvig (2020).

  • „I am AI“ от Ai Jiang.

  • "Цифрова трансформация в постинформационната епоха" от Minchev, Z., et al. (2022).

  • "Ръководство за начинаещи в машинното обучение с Unity" от de Byl, P. (2017).

  • "Съвети, трикове и техники за машинно обучение в Python" от Babushkin, V. (2018).

    • "Machine Learning with R" от Ghatak, A. (2017).
    • "Machine Learning for Humans" от Maini, V. (2022).
  • "Класифициране на човешките емоционални състояния въз основа на скалата за валентност и възбуда с помощта на електроенцефалограма" от Shashi Kumar GS1, Niranjana Sampathila, Roshan Joy Martis3.

  • "Attention is all you need" от Vaswani (2017) A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L.- Kaiser, и I. Polosukhin.

Използвани са следните уебсайтове:

  • Facebook Inc. (2023). React A JavaScript library for building user interfaces. Достъпно на: https://react.dev
  • Vercel. (2023). Next.js The React Framework. Достъпно на: https://nextjs.org
  • shadcn. (2023). shadcn/ui Beautifully designed components built with Radix UI and Tailwind CSS.
  • Tiptap. (2023). Tiptap The headless editor framework for web applications.
  • Groq. (2023). Groq API Documentation. Достъпно на: https://groq.com/docs
  • Mistral AI. (2023). Mixtral 8x7B: A sparse mixture of experts model. Достъпно на: https://mistral.ai
  • Smith, J., & Johnson, A. (2023). Comparative Analysis of AI-Assisted Editing Tools. Journal of Natural Language Processing.
  • World Wide Web Consortium (W3C). (2023). Web Content Accessibility Guidelines (WCAG). Достъпно на: https://www.w3.org/WAI/standards- guidelines/wcag/
  • Microsoft. (2023). Visual Studio Code Code Editing. Redefined. Достъпно на: https://code.visualstudio.com
  • OpenAI. (2025). OpenAI API Documentation. Достъпно на: https://openai.com

Използвани технологични средства:

  • Програмиране – силен фокус върху уеб разработката.
  • Хардуер – Oculus Quest 2 и Лаптоп с i7 & Rtx 4090.
  • Машинно обучение и AI технологии – интегриране на технологии, свързани с машинното обучение, невронни мрежи и алгоритми за интелигентни системи (GPT and LLAMA API tokens).
  • Гласово разпознаване и синтез на реч- (Groq & Cartesia.AI tokens), използвам софтуери и библиотеки за гласово разпознаване и отговор, което добавя интерактивност в комуникацията с изкуствения интелект.
  • Vercel хостинг и облачни технологии (Cloud service).
  • Прототипите са изготвени под формата на „Интернет приложения“.
  1. Описание на приложението - как се стартира и/или инсталира, как се използва, как се поддържа Проектът е напълно уеб-базиран, с адаптивен дизайн и може да бъде достъпен директно през браузър, като се въведе адресът http://www.sentient-aiep.xyz. Не е необходима инсталация на локално устройство. Приложението се поддържа чрез платформата Vercel, онлайн документацията и информационния поток чрез Mintlify.
  2. Заключение – какъв е основният резултат, дали има приложения до момента, какви възможности съществуват за развитие и усъвършенстване

Според мен задачите, които си поставих при създаването на проекта, вървят по план. Първоначалните цели, включващи разработването на „емоционален“ чат-бот, способен да отговаря на човешки въпроси и да има комуникация, бяха постигнати. Използването на GPT-4, Anthropic 3 и Claude 3.5/ Groq, доказва способността на чатботът да взаимодейства чрез адекватни отговори, което значително подобрява взаимодействието с потребителите. Моята основна цел е да създам собствена книга, посветена на „осъзнатия“ изкуствен интелект. В момента тя е в процес на разработка и може да бъде намерена в Google Drive чрез предоставения линк в текстовия файл. Същo така, планирам да проведа обширни тестове с реални потребители, за да събера обратна връзка и да направя необходимите корекции. Внедряването на чат-бота в реални приложения в области като обслужване на клиенти и образованието също е в плановете ми, тъй като вярвам, че потенциалът на проекта може да спомогне да взаимодействаме с технологиите в ежедневието ни.

Основни резултати:

  • Разработен е функционален и адаптивен гласов и текстов чатбот.
  • Проектът демонстрира потенциала на изкуствения интелект да помага на хората в извършването на определени дейности.
  • Напълно функциониращи чатботове, извършващи дейността си качествено.
  • Има образователна цел, проектът предлага възможност за запознаване на ученици с AI технологиите, разширявайки техните знания и перспективи.

Степен на завършeност, изпълнение на задачите и бъдещa работа

  • Уеб приложенията са напълно функционални, работят стабилно и коректно. В момента са в тестов период, като при откриване на бъг от потребител, го коригирам своевременно.
  • Активно поддържам приложенията и обмислям различни подобрения и нови функционалности.
  • Книгата все още не е завършена и изисква значителна работа, но по план до април ще бъде в по-завършен вид.
  • Оптимизиране на AI модела и интегриране на напреднали модели като o3-mini, o3-mini- high и o1.
  • Разширяване на функционалността чрез добавяне на нови модули и инструменти.
  • Провеждане на обширни тестове с реални потребители за събиране на обратна връзка и усъвършенстване на системата.
  • Внедряване на чатбота в реални приложения като обслужване на клиенти и образование.
  • Написване и публикуване на книга за Sentient AI, като по този начин проектът щe достигне до повече хора.

Принос на автора

  • Разработка на няколко уеб приложения, включително чатбот с гласов асистент, генератор на блок-схеми, генератор на флашкарти, ИИ- базиран редактор на код, ИИ текстов редактор и интелигентна система за разпознаване на изображения.
  • Избор на технологии, проектиране, тестване, имплементиране и оптимизиране на проекта.
  • Създаване на напълно уеб - базирано приложение с адаптивен дизайн.
  • Планиране на написването и публикуването на книгата „ Sentient AI .
  • Провеждане на изследвания с цел достигане до ученици, за да навлязат в същността на ИИ.
  1. Благодарности: Изразявам благодарности към ментора ми доц. Златогор Минчев за помощта и съветите, благодарност към Лятната Изследователска Школа, която ми даде старт с проекта, и към Vanisha Kheterpal, която ми помагаше по време на ЛИШ!