Architecture of Applications Powered by Large Language Models
Elizarov, Oleg (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024110727540
https://urn.fi/URN:NBN:fi:amk-2024110727540
Tiivistelmä
Fast advancements in generative AI and capabilities of large language models disrupt software development industry. Case company faced a challenge with providing relevant consultancy offering for LLM models integration and development of LLM powered applications. This study provides applied knowledge about LLMs, their strengths and limitations and explores architecture of LLM powered applications.
LLMs show exciting capabilities in processing and generating natural language, but they lack specific domain or up-to-date knowledge, reasoning capabilities, and abilities to interact with external services and APIs. Enhancing LLMs with memory and helper tools provides numerous opportunities for development of capable conversational applications and assistants, that can be considered as a new type of software.
Demo LLM powered application is developed as outcome of this thesis. Development starts with basic structure of LLM powered application, which is progressively enhanced with memory, external data store and ability to invoke custom actions. Application interface, monitoring and deployment are discussed as well and form a complete solution to the research problem. Finally, challenges faced during implementation and obtained results are discussed alongside with improvement suggestions.
LLMs show exciting capabilities in processing and generating natural language, but they lack specific domain or up-to-date knowledge, reasoning capabilities, and abilities to interact with external services and APIs. Enhancing LLMs with memory and helper tools provides numerous opportunities for development of capable conversational applications and assistants, that can be considered as a new type of software.
Demo LLM powered application is developed as outcome of this thesis. Development starts with basic structure of LLM powered application, which is progressively enhanced with memory, external data store and ability to invoke custom actions. Application interface, monitoring and deployment are discussed as well and form a complete solution to the research problem. Finally, challenges faced during implementation and obtained results are discussed alongside with improvement suggestions.