Publicação
Digital assistant with artificial intelligence techniques
| authorProfile.email | biblioteca@isel.pt | |
| datacite.subject.fos | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática | |
| dc.contributor.advisor | Ferreira, Artur Jorge | |
| dc.contributor.advisor | Leite, Nuno Miguel da Costa de Sousa | |
| dc.contributor.author | Dias, Dinis Rodrigues | |
| dc.date.accessioned | 2026-02-05T08:54:41Z | |
| dc.date.available | 2026-02-05T08:54:41Z | |
| dc.date.issued | 2025-11-19 | |
| dc.description.abstract | Abstract The design, implementation, and assessment of a modular Digital Assistant (DA), developed in Python, that can process natural language in speech and text, being optimized for the Windows desktop environment are presented in this dissertation. The DA performs tasks like retrieving weather data and launching applications, where the system combines Large Language Models (LLM) to interpret user requests and dynamically choose between conversational responses and function execution. To ensure modularity, extensibility, and maintainability, a layered architecture was used to organize the functionality, reasoning engine, conversation handling, and graphical user interface modules. To maintain responsiveness and user control even during lengthy operations, the assistant uses asynchronous execution, supports both text and voice input, and can output speech synthesis. The implementation places a strong emphasis on sound software engineering techniques, such as modular contracts, interface-first design, and reliable error handling. The secure handling of Application Programming Interface (API) keys and the lack of persistent memory protect privacy are also addressed. Experimental evaluation shows near real-time responses from contemporary LLM backends, sub-second latency for functionality modules, and high accuracy in differentiating between function calls and conversations. Additionally, qualitative validation verifies that the system satisfies its non-functional requirements for modularity, robustness, and user experience, and that the Graphical User Interface (GUI) is responsive and the speech features are usable. In conclusion, the project produces a useful, expandable, and intuitive digital assistant that connects conversational Artificial Intelligence (AI) and desktop task automation, providing a solid basis for upcoming improvements like cross-platform deployment, sophisticated speech recognition, and runtime model selection. | eng |
| dc.description.abstract | Esta dissertação apresenta o projeto, implementação e avaliação de um Assistente Digital (AD) modular, desenvolvido em Python e otimizado para o ambiente Windows, capaz de processar linguagem natural em texto e voz. O sistema realiza tarefas como a obtenção de dados meteorológicos e o lançamento de aplicações, combinando Modelos de Linguagem de Grande Escala (LLM) para interpretar pedidos do utilizador e escolher dinamicamente entre respostas conversacionais e a execução de funcionalidades. Para assegurar modularidade, extensibilidade e facilidade de manutenção, foi adotada uma arquitetura em camadas que organiza os módulos de funcionalidades, motor de raciocínio, tratamento de conversação e interface gráfica. Para manter a responsividade e o controlo do utilizador mesmo durante operações prolongadas, o assistente utiliza execução assíncrona, suporta entrada por texto e voz e gera saída através de síntese de fala. A implementação dá particular ênfase a boas práticas de engenharia de software, incluindo contratos modulares, design orientado a interfaces e tratamento robusto de erros. A privacidade é salvaguardada através do manuseamento seguro de chaves de Interfaces de Programação de Aplicações (API) e da ausência de memória persistente. A avaliação experimental demonstra respostas quase em tempo real dos LLM modernos, latência inferior a um segundo nos módulos de funcionalidades e elevada precisão na distinção entre conversação e chamadas de função. A validação qualitativa confirma que o sistema cumpre os requisitos não funcionais de modularidade, robustez e experiência do utilizador, verificando-se ainda que a interface gráfica é responsiva e as funcionalidades de voz são utilizáveis. Em suma, o projeto apresenta um assistente digital útil, expansível e intuitivo, que alia a inteligência artificial conversacional à automação de tarefas em ambiente desktop, constituindo uma base sólida para futuras melhorias, como a portabilidade entre plataformas, reconhecimento de fala avançado e seleção dinâmica de modelos. | por |
| dc.identifier.tid | 204179858 | |
| dc.identifier.uri | http://hdl.handle.net/10400.21/22640 | |
| dc.language.iso | eng | |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject | Digital assistant | |
| dc.subject | External function calling | |
| dc.subject | Large language models | |
| dc.subject | Natural language processing | |
| dc.subject | Assistente digital | |
| dc.subject | Chamada externa de funções | |
| dc.subject | Modelos de linguagem de grande escala | |
| dc.subject | Processamento de linguagem natural | |
| dc.title | Digital assistant with artificial intelligence techniques | eng |
| dc.type | master thesis | |
| dspace.entity.type | Publication | |
| thesis.degree.name | Dissertação para obtenção do grau de Mestre em Engenharia Informática e de Computadores |
