Discuss and document architecture
Now that we're through the "R&D prototype" phase we can step back and reflect on the technology stack and architecture.
I spoke with @gridinoc today and we're thinking that the following high level architecture is where we would like to move:
- An LLM Deployment (possibly more in future, starting with one)
- A Python API / backend.
- A TypeScript client / frontend (React, possibly Vite as builder).
This would translate to three separate repositories (one per architecture component), each set up with their own CI / CD and deployment strategy.
The current prototype combines the backend and frontend into a single code base and application, so implementing this architecture will involve the following "major" steps:
- Converting the NextJS backend components into the python API and creating a swagger specification for the API.
- Converting the NextJS frontend components into the React / Vite context
- Selecting and then deploying the FOSS LLM
- Updating the python backend to use the new LLM