diff --git a/structurizr/workspace.dsl b/structurizr/workspace.dsl index 7dad566..7d19ef9 100644 --- a/structurizr/workspace.dsl +++ b/structurizr/workspace.dsl @@ -5,17 +5,11 @@ workspace "AIDocumentLibraryChat" "A project to show howto use SpringAI with Ope aiModel = container "OpenAI/Ollama AI Model" "The AI Model provides the Embeddings(OpenAI) and Answers to the questions based on the documents. The OpenAI is an external model Ollama is a local model." aiDocumentLibraryChat = container "AIDocumentLibraryChat" "Angular Frontend and Spring Boot Backend integrated." { angularFrontend = component "Angular Frontend" "The SPA imports/searches the documents and results." tag "Browser" - #backendMovieClient = component "Rest Client" "The rest client to import the movie data." - #backendJwtTokenFilters = component "Jwt Token Filters" "Provide the security based on Jwt Tokens." - #backendMovieActorControllers = component "Movie/Actor Controllers" "Provides the rest interfaces for Movies / Actors." - #backendAuthController = component "Auth Controller" "Provides the rest interfaces for Login / Signin / Logout." - #backendImportController = component "Import Controller" "Provides the rest interfaces to start movie related imports." - #backendKafkaConsumer = component "Kafka Consumer" "Consume the Kafka events." tag "Consumer" - #backendKafkaProducer = component "Kafka Producer" "Produce the Kafka events." tag "Consumer" - #backendMovieRelatedRepositories = component "Movie related Repositories" "Repositories forA Cast / Actor / Genere / Movie." - #backendUserTokenRepository = component "User/Token Repositories" "User / Token Repositories" - #backendMovieRelatedServices = component "Movie related Services" "Services for Cast / Actor / Genere / Movie." - #backendUserService = component "User Service" "User Service provides the logic for login / signin / logout." + backendDocumentController = component "Document Controller" "Provides the rest interfaces for document import/search." + backendDocumentVsRepository = component "Vectorstore repository for embeddings" "Repository to create/read/store embeddings. OpenAI embeddings are created by a service and Ollama embeddings are create with a library." + backendDocumentRepository = component "Jpa repository for the documents" "Repository stores the originals and the metadata of the documents." + backendChatClientServices = component "ChatClient for AI Answers" "The ChatClient generates answers with the OpenAI/Ollama models." + backendDocumentService = component "Document Service" "Document Service provides the logic for import/search of documents." } database = container "Postgresql Db" "Postgresql stores the relational and vector data of the system." tag "Database" } @@ -33,20 +27,11 @@ workspace "AIDocumentLibraryChat" "A project to show howto use SpringAI with Ope aiDocumentLibraryChat -> database "read/store document data" # relationships components - #angularFrontend -> backendMovieActorControllers "rest requests" - #angularFrontend -> backendAuthController "rest requests" - #angularFrontend -> backendImportController "rest requests" - #backendMovieActorControllers -> backendJwtTokenFilters - #backendAuthController -> backendJwtTokenFilters - #backendImportController -> backendJwtTokenFilters - #backendMovieActorControllers -> backendMovieRelatedServices - #backendAuthController -> backendUserService - #backendImportController -> backendMovieRelatedServices - #backendMovieRelatedServices -> backendMovieClient "import movie related data" - #backendKafkaConsumer -> backendUserService "process kafka events" - #backendUserService -> backendKafkaProducer "send kafka events" - #backendMovieRelatedServices -> backendMovieRelatedRepositories - #backendUserService -> backendUserTokenRepository + angularFrontend -> backendDocumentController "rest requests" + backendDocumentController -> backendDocumentService + backendDocumentService -> backendDocumentVsRepository + backendDocumentService -> backendDocumentRepository + backendDocumentService -> backendChatClientServices } views {