From c2da78b8d56d22d89779823c5930931233e58c41 Mon Sep 17 00:00:00 2001 From: Viswamedha Nalabotu Date: Thu, 26 Mar 2026 00:25:46 +0000 Subject: [PATCH] Made changes based on recommendations --- report/report.tex | 113 ++++++++++++++++++++++++++-------------------- 1 file changed, 65 insertions(+), 48 deletions(-) diff --git a/report/report.tex b/report/report.tex index 25fce30..05f2325 100644 --- a/report/report.tex +++ b/report/report.tex @@ -34,40 +34,19 @@ I declare that Large Language Models (LLMs) and Chat Completion APIs were used in the preparation of this report and for -assisting with coding the project. +assisting with coding the project. See Appendix~\ref{appendix:ai-use} for full details. -\textbf{Scope of AI Usage.} AI was used to assist in the structural organization, grammatical refinement, and syntactic formatting of the prose and technical descriptions. +\section*{Project Summary}\label{project-summary} -\textbf{Prototyping \& Feasibility Research.} LLMs were employed during the R\&D phase to \textbf{scope technical requirements and perform feasibility checks}. This included generating "throwaway" boilerplate code to test the viability of specific architectural branches (e.g., comparing custom fine tuning against LangGraph API) and validating the compatibility of the Model Context Protocol (MCP) with the existing Django environment. +\textbf{Context.} Corporate onboarding imposes a recurring productivity tax on senior staff, who must repeatedly deliver role-specific knowledge transfer to new hires. This problem is acute in small teams where training capacity is limited and inconsistency compounds over time. -\textbf{Originality of Content.} All core architectural concepts, the design of the \emph{Dynavera} system, the "Distributed Agentic Pattern" logic, and the specific implementation strategies are my own original works. +\textbf{Problem.} Existing onboarding tools either rely on static documentation or generic chatbots that lack role awareness, session continuity, and the ability to generate structured curricula from internal organisational knowledge. -\textbf{Fact-Checking and References.} Any external information or technical claims used to ground the AI\textquotesingle s output have been verified against the primary sources listed in the References section. +\textbf{Solution.} Dynavera is a distributed agentic onboarding platform built on Django and MCP, comprising four specialist agents (Curriculum, Knowledge, Assessment, and Progress Monitor) that collaborate to deliver adaptive, role-grounded training from privately hosted documents using local LLM inference. -\textbf{Human Oversight.} I have critically reviewed, edited, and refined all AI-generated suggestions to ensure technical accuracy and alignment with the project's objectives. +\textbf{Impact and Results.} The system is fully deployed and benchmarked: LLM inference is the dominant latency contributor at roughly 8--12\,s per turn, while retrieval and tool-call overhead remain negligible, confirming that the distributed architecture correctly isolates high-latency work from the responsive application layer. -\section*{Inspector Access Details}\label{inspector-access-details} - -The public deployment for evaluation is available at: -\url{https://fyp.viswamedha.com} - -Register as a manager (with code \texttt{MANAGER2026}) or use the following credentials for testing: - -\begin{center} -\begin{tabular}{p{0.22\linewidth} p{0.46\linewidth} p{0.22\linewidth}} -\toprule -Role & Email & Password \\ -\midrule -Admin & admin@example.com & admin \\ -Manager & haleisaac@example.com & password \\ -User & j.thompson@example.com & password \\ -\bottomrule -\end{tabular} -\end{center} - -\textit{Note: The public site should always be available, but the GPU node -runs on my PC and can go offline. For reliable testing, -I recommend running my development compose stack on a CUDA-enabled machine with a GPU.} +\textbf{Conclusion.} Dynavera demonstrates that a production-viable, privacy-preserving agentic training runtime can be built on consumer-grade hardware within a standard web framework, establishing a concrete foundation for controlled onboarding studies and further empirical validation. Inspector access details are provided in Appendix~\ref{appendix:inspector}. \section{Introduction}\label{introduction} @@ -302,10 +281,10 @@ human-only onboarding preserves expert nuance but scales poorly and imposes recurring opportunity cost on senior staff. Second, static LMS/document-first onboarding scales distribution but offers limited adaptivity, weak grounding during Q\&A, and minimal operational -traceability beyond completion events. Third, a single general chatbot +traceability beyond completion events \cite{vanlehn2011}. Third, a single general chatbot improves interactivity, but it often collapses curriculum, retrieval, assessment, and monitoring into one prompt surface, which weakens -governance and makes targeted iteration harder. +governance and makes targeted iteration harder \cite{wu2023autogen,guo2024massurvey}. The Dynavera architecture chooses a middle path: specialized agent roles within one orchestrated runtime, retrieval-grounded generation, and @@ -556,15 +535,7 @@ PostgreSQL/pgvector as a unified data plane. \subsubsection{Knowledge Ingestion Workflow}\label{knowledge-ingestion-workflow} -Figure~\ref{fig:embedding-data-flow} shows the ingestion data flow between the User/UI, Django REST -API, Celery worker, PostgreSQL/pgvector database, and GPU endpoint. - -\begin{figure}[H] -\centering -\includegraphics[height=3.8in]{diagrams/embedding-data-flow.png} -\caption{Knowledge ingestion data flow diagram, illustrating the interaction between the user, REST API, Celery worker, pgvector database, and GPU endpoint.} -\label{fig:embedding-data-flow} -\end{figure} +The ingestion data flow between the User/UI, Django REST API, Celery worker, PostgreSQL/pgvector database, and GPU endpoint is shown in Figure~\ref{fig:embedding-data-flow} (Appendix~\ref{appendix:diagrams}). \underline{Asynchronous processing with Celery (Redis broker)}\\ When a manager uploads a training file from the UI, the file is sent to @@ -593,14 +564,7 @@ similarity search in one query path \subsubsection{Agent Orchestration Workflow (Simplified)}\label{agent-orchestration-workflow-simplified} -\begin{figure}[H] -\centering -\includegraphics[width=6.15132in,height=6.00619in]{diagrams/agent-orchestration-loop.png} -\caption{Agent orchestration data flow diagram, illustrating the interaction between the user/UI, WebSocket consumer, MCP router, GPU endpoint, and pgvector database.} -\label{fig:agent-orchestration-loop} -\end{figure} - -Figure~\ref{fig:agent-orchestration-loop} summarizes the orchestration path used during live onboarding. +Figure~\ref{fig:agent-orchestration-loop} (Appendix~\ref{appendix:diagrams}) summarizes the orchestration path used during live onboarding. The runtime is implemented as a Django Channels WebSocket consumer (/ws/onboarding/\textless session\_uuid\textgreater/), which maintains a persistent two-way connection so the UI can receive real-time status updates @@ -777,7 +741,7 @@ production-grade observability/safety hardening. \subsection{Quantitative Evaluation}\label{quantitative-evaluation} -An automated benchmark suite is included in the repository at \path{apps/accounts/management/commands/benchmark.py} and can be run via \texttt{manage.py benchmark}. It measures LLM inference latency across representative prompt types, embedding generation latency, semantic chunking throughput, and pgvector retrieval latency. Full results from a 10-run execution are recorded at \path{benchmarks/results\_2026-03-24\_13-29-55.md}. +An automated benchmark suite is included in the repository at \path{apps/accounts/management/commands/benchmark.py} and can be run via \texttt{manage.py benchmark}. It measures LLM inference latency across representative prompt types, embedding generation latency, semantic chunking throughput, and pgvector retrieval latency. Full results from a 10-run execution are recorded at \path{benchmarks/results_2026-03-24_13-29-55.md}. The results confirm that LLM inference is the dominant latency contributor in the system, while retrieval and tool-call overhead remain negligible by comparison --- consistent with the architectural claim that the distributed split between the application layer and inference layer correctly isolates the high-latency work from the responsive orchestration path. @@ -836,5 +800,58 @@ operational hardening, and richer adaptivity: \bibliographystyle{unsrtnat} \bibliography{references} +\appendix + +\section{AI Use Declaration}\label{appendix:ai-use} + +\textbf{Scope of AI Usage.} AI was used to assist in the structural organization, grammatical refinement, and syntactic formatting of the prose and technical descriptions. + +\textbf{Prototyping \& Feasibility Research.} LLMs were employed during the R\&D phase to \textbf{scope technical requirements and perform feasibility checks}. This included generating "throwaway" boilerplate code to test the viability of specific architectural branches (e.g., comparing custom fine tuning against LangGraph API) and validating the compatibility of the Model Context Protocol (MCP) with the existing Django environment. + +\textbf{Originality of Content.} All core architectural concepts, the design of the \emph{Dynavera} system, the "Distributed Agentic Pattern" logic, and the specific implementation strategies are my own original works. + +\textbf{Fact-Checking and References.} Any external information or technical claims used to ground the AI\textquotesingle s output have been verified against the primary sources listed in the References section. + +\textbf{Human Oversight.} I have critically reviewed, edited, and refined all AI-generated suggestions to ensure technical accuracy and alignment with the project's objectives. + +\section{Detailed Data Flow Diagrams}\label{appendix:diagrams} + +\begin{figure}[H] +\centering +\includegraphics[height=3.8in]{diagrams/embedding-data-flow.png} +\caption{Knowledge ingestion data flow diagram, illustrating the interaction between the user, REST API, Celery worker, pgvector database, and GPU endpoint.} +\label{fig:embedding-data-flow} +\end{figure} + +\begin{figure}[H] +\centering +\includegraphics[width=6.15132in,height=6.00619in]{diagrams/agent-orchestration-loop.png} +\caption{Agent orchestration data flow diagram, illustrating the interaction between the user/UI, WebSocket consumer, MCP router, GPU endpoint, and pgvector database.} +\label{fig:agent-orchestration-loop} +\end{figure} + +\section{Inspector Access Details}\label{appendix:inspector} + +The public deployment for evaluation is available at: +\url{https://fyp.viswamedha.com} + +Register as a manager (with code \texttt{MANAGER2026}) or use the following credentials for testing: + +\begin{center} +\begin{tabular}{p{0.22\linewidth} p{0.46\linewidth} p{0.22\linewidth}} +\toprule +Role & Email & Password \\ +\midrule +Admin & admin@example.com & admin \\ +Manager & haleisaac@example.com & password \\ +User & j.thompson@example.com & password \\ +\bottomrule +\end{tabular} +\end{center} + +\textit{Note: The public site should always be available, but the GPU node +runs on my PC and can go offline. For reliable testing, +I recommend running my development compose stack on a CUDA-enabled machine with a GPU.} + \end{document}