Модуль інтеграції вебзастосунків із штучним інтелектом
Тетяна Мартинюк, Олена Войцеховська, Оксана Городецька, Андрій РижковВ роботі досконалено метод інтеграції серверної частини вебзастосунку для організації дієти та системи тренувань зі штучним інтелектом ChatGpt, що дало змогу покращити User Experience при використанні серверної частини вебзастосунку та збільшити швидкодію обробки запитів штучним інтелектом та пришвидшити роботу користувача зі штучним інтелектом. Проаналізовано сучасні технології для зв’язку серверної частини веб-додатку із базою даних, реалізації авторизації з метою впровадження захисту серверної частини від зловмисників, а також методи інтеграції веб-застосунку з штучним інтелектом. За результатами аналізу обрано стек технологій, зокрема для розробки серверної частини використано Web-API, для зв’язку серверної частини вебзастосунку із базою даних було використано технологію Entity Framework, авторизацію забезпечено за допомогою JWT Tokens. Розроблено серверну частину веб-застосунку для організації тренувань та дієти мовою програмування C#, з урахуванням принципів об’єктно-орієнтовного програмування SOLID. Під час розробки використано багаторівневу архітектуру для розподілення різних функціональних можливостей між різними модулями серверної частини. Налаштовано зв’язок серверної частини вебзастосунку з базою даних для отримання та збереження інформації. Реалізовано механізм авторизації на JWT-Токенах, що дозволило захистити методи для інтеграції з штучним інтелектом від зловмисників та дало можливість тільки авторизованим користувачам використовувати штучний інтелект для побудови тренувань та дієти. Спроектовано базу даних MSSQL, в якій зберігаються персональні дані користувача, що використовуються для побудови дієти та системи тренувань штучним інтелектом ChatGpt. Запити до бази даних оптимізовані за рахунок використання техніки Eager Loading та запитів Deferred Execution.
Використані джерела
[1] Introducing APIs for GPT-3.5 Turbo and Whisper. (2024). Retrieved from https://openai.com/blog/introducing-chatgpt-and-whisper-apis .
[2] Think Qwik. (n.d.). Retrieved from https://qwik.builder.io/docs/concepts/think-qwik.
[3] Understanding multilayer architecture. (n.d.). Retrieved from https://www.csharpcorner.com/UploadFile/1492b1/understanding-multilayered-architecture-in-net.
[4] Ak, H. (2019). A multi-layer back-end application architecture in.NET Core. Retrieved from https://hamzaak.medium.com/a-multi-layer-back-end-application-architecture-in-net-core-c08898f2427e
[5] Introduction to Entity Framework. (2020). Retrieved from https://www.partech.nl/nl/publicaties/2020/11/introduction-to-entity-framework.
[6] Voytsekhovska, O.V., Horodetska, O.S., & Ryzhkov, A.K. (2023). Analysis of authorization methods in the design of the server part of a web application. In Proceedings of the international scientific and practical Internet conference “Electronic information resources: creation, use, access” (pp. 225-227). Vinnytsia: VNTU.
[7] Authentication and authorization in Web API. (n.d.). Retrieved from https://dotnettutorials.net/lesson/authentication-and-authorization-in-web-api.
[8] Introduction to authorization in ASP.NET Core. (2022). Retrieved from https://learn.microsoft.com/en-us/aspnet/core/security/authorization/introduction?view=aspnetcore-7.0.
[9] JSON Web Tokens. (n.d.). Retrieved from https://auth0.com/docs/secure/tokens/json-web-tokens.
[10] Prompt engineering. (n.d.). Retrieved from https://platform.openai.com/docs/guides/prompt-engineering.
[11] Embeddings. (n.d.). Retrieved from https://platform.openai.com/docs/guides/embeddings.