Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOSPOLI_LMS

This template should help get you started developing with Vue 3 in Vite.

Recommended IDE Setup

VS Code + Vue (Official) (and disable Vetur).

Recommended Browser Setup

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.

Customize configuration

See Vite Configuration Reference.

Project Setup

npm install

Compile and Hot-Reload for Development

npm run dev

Type-Check, Compile and Minify for Production

npm run build

Portable AI Navigation Stack

This project includes an isolated AI navigation-search stack described in goal.md and tz.md.

Main files:

ai-navigation-service/      # standalone HTTP API for navigation search
docker-compose.ai.yml       # AI service + llama.cpp embedding server
docker-compose.ai.mock.yml  # AI service only, mock embeddings for local API tests
qemu/                       # portable QEMU VM scripts and docs
models/                     # local GGUF model folder, ignored by git

Required model for the real embedding stack:

models/qwen3-embedding-4b-q5_k_m.gguf

Run local API mock mode without Docker/llama.cpp:

cd ai-navigation-service
npm install
npm run build
$env:EMBEDDING_MOCK="true"; npm start

Test:

curl http://localhost:3001/health
curl -X POST http://localhost:3001/api/navigation-search -H "Content-Type: application/json" -d '{"query":"войти","locale":"ru"}'

Run real AI stack inside the QEMU Linux VM after Docker and the model are available:

docker compose -f docker-compose.ai.yml up --build

See qemu/README.md for VM startup, SSH, Docker installation, model placement, and limitations.

Same-origin AI proxy

The frontend now calls the AI API through same-origin /api by default:

fetch('/api/navigation-search')

Local Vite development proxies /api to:

AI_NAVIGATION_UPSTREAM=http://localhost:3001

Production should proxy the LMS domain to the AI VM/Vast service, for example:

https://lms.example.com/api/navigation-search
  -> http://AI_VM_OR_VAST_IP:3001/api/navigation-search

See deploy/nginx/mospoli-lms-ai-proxy.conf.

AI Autodeploy

Deployment automation is provided for two targets:

deploy/vast/   # Vast.ai single-container deployment
deploy/vm/     # normal Ubuntu VM/VPS with Docker Compose

Vast.ai recommended mode is one Vast container with two processes inside:

llama.cpp :8080
ai-navigation-service :3001

Generic VM mode uses the existing two-container compose:

ai-navigation-service
llama-embedding-server

Both modes produce or imply the same upstream value for the LMS server proxy:

AI_NAVIGATION_UPSTREAM=http://AI_HOST:3001
VITE_AI_NAVIGATION_URL=

The browser should keep using same-origin /api/navigation-search.

About

СДО для Федерального государственного автономного образовательного учреждение высшего образования «Московский политехнический университет»

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages