No description
- Add NxtgaugeTicketProvider: calls /api/support/tickets/ai/create with service key auth - Add NxtgaugeHelpCenterProvider: calls /api/kb/articles for help search - Add ExternalService error variant for HTTP call failures - Add NXTGAUGE_USERS_URL config env var |
||
|---|---|---|
| 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.