Client per l'Integrazione di Modelli di Generative AI: un Approccio con Blazor
Creators: name: Giamboni, Simone
Publisher: name: Scuola Universitaria della Svizzera Italiana (SUPSI)
Year: 2024
Subjects: artificial intelligence
software

description: Il lavoro di diploma si concentra sullo sviluppo di un client per l'interazione con modelli di intelligenza artificiale generativi, in particolare ChatGPT di OpenAI e Gemini di Google, progettato per estendersi ad altri modelli in futuro. Il progetto si ispira a Chatbox, un client desktop sviluppato con React e Typescript. Per lo sviluppo è stato scelto di utilizzare il framework Blazor per sfruttare le capacità di C# sia su client che su server. Il software mira ad offrire un’interfaccia utente interattiva, con cui è possibile gestire più conversazioni con vari modelli. Esso deve consentire l’inserimento di API key per permettere di sfruttare le capacità generative delle API di OpenAI e Google Gemini. Inoltre, deve essere data all’utente la possibilità di configurare le conversazioni e il chatbot in modo da offrirgli un'ampia gamma di opzioni per adattare l'interazione alle sue esigenze specifiche. Il sistema deve anche permettere il salvataggio delle conversazioni nel cloud. Il lavoro realizzato, chiamato SmartBlaze (dove "Smart" richiama l'uso di modelli di intelligenza artificiale e "Blaze" richiama a Blazor, il framework utilizzato per il client), è un'applicazione Client-Server che consente l'interazione con i modelli di intelligenza artificiale di ChatGPT e Gemini. Attualmente, l’applicativo offre un'interfaccia attraverso la quale l'utente può gestire più conversazioni simultanee con i modelli AI per la generazione di testo e immagini. Inoltre, è possibile configurare diversi parametri fra cui la temperatura, che influisce sulla creatività e variabilità delle risposte generate dal chatbot, e l’istruzione di sistema, che orienta il comportamento del chatbot. Il sistema garantisce la persistenza delle sessioni di chat e le loro configurazioni nel cloud interagendo con l’API di Appwrite database, così che l'utente possa accedere alle sue conversazioni da dispositivi differenti. _____ This thesis focuses on the development of a client for interacting with generative artificial intelligence models, specifically OpenAI's ChatGPT and Google's Gemini, with the design intended to extend to other models in the future. The project is inspired by Chatbox, a desktop client developed using React and TypeScript. Blazor was chosen for the development framework to leverage C# capabilities on both the client and server sides. The software aims to offer an interactive user interface, allowing users to manage multiple conversations with various models. It should enable the input of API keys to utilize the generative capabilities of OpenAI and Google Gemini APIs. Additionally, users should be able to configure conversations and chatbots to provide a wide range of options to tailor the interaction to their specific needs. The system must also allow for the saving of conversations in the cloud. The completed work, named SmartBlaze (where "Smart" refers to the use of AI models and "Blaze" refers to Blazor, the framework used for the client), is a client-server application that enables interaction with the AI models of ChatGPT and Gemini. Currently, the application offers an interface through which the user can manage multiple simultaneous conversations with AI models for text and image generation. Furthermore, various parameters can be configured, such as temperature, which influences the creativity and variability of the chatbot's responses, and the system instruction, which guides the chatbot's behavior. The system ensures the persistence of chat sessions and their configurations in the cloud by interacting with the Appwrite database API, allowing users to access their conversations from different devices.