No description
|
|
||
|---|---|---|
| .gitea | ||
| .github/workflows | ||
| migrations | ||
| seeds | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Dockerfile | ||
| README.md | ||
nxtgauge-ai-assistant
Backend-only Rust service for Nxtgauge AI workflows.
Scope (MVP)
- Job description generation
- Form filling assistance
- Help article retrieval
- Support ticket creation via chatbot
Stack
- Rust + Axum
- Ollama (default local runtime)
- Postgres scaffolding via
sqlx - Provider abstractions for future runtime swaps
Run
cp .env.example .env
cargo run
Endpoints
GET /healthPOST /api/v1/chat/messagePOST /api/v1/jobs/generate-descriptionPOST /api/v1/forms/extractPOST /api/v1/tickets/createPOST /api/v1/help/search
Environment
APP_HOSTAPP_PORTDATABASE_URLOLLAMA_BASE_URLOLLAMA_CHAT_MODEL(defaultsmollm2:360m)OLLAMA_EMBED_MODEL(defaultnomic-embed-text)HELP_CENTER_SEED_PATHTICKETS_SOURCE
Architecture
chat/: workflow-oriented orchestrationjobs/,forms/,tickets/: domain modulesproviders/llm:AiProvider+ Ollama implementationproviders/tickets:TicketProvider+ mock adapterproviders/help_center:HelpCenterProvider+ local seed implementationretrieval/embeddings: embedding abstraction + Ollama adapterdb/: DB connection, entities, repository helpersroutes/,handlers/: API layer
Notes
- Service starts even if Ollama model is unavailable; provider returns graceful fallback responses.
- STT (
faster-whisper) is intentionally deferred to phase 2.
CI (Woodpecker)
Required secrets:
REGISTRY_USERNAMEREGISTRY_PASSWORD