@startuml chat_rag class PyPDFLoader { } class HuggingFaceEmbeddings { } class CharacterTextSplitter { } class Chroma { } class LlamaCpp { } class LlamaModelSingleton { {static} get_instance() _load_llm() } PyPDFLoader --> HuggingFaceEmbeddings : uses HuggingFaceEmbeddings --> CharacterTextSplitter : uses CharacterTextSplitter --> Chroma : creates vectors LlamaCpp ..> LlamaModelSingleton : instance @enduml