No description
Find a file
2026-04-19 18:21:20 +02:00
.gitea/workflows ci: fix docker login with --password-stdin 2026-04-19 18:13:55 +02:00
.github/workflows ci: fetch before push, use force-with-lease 2026-04-19 16:00:12 +02:00
migrations feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
seeds feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
src fix: use cluster Ollama URL and gemma3:270m model defaults 2026-04-15 19:55:03 +02:00
.env.example feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
.gitignore feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
Cargo.lock feat: wire NxtgaugeTicketProvider and NxtgaugeHelpCenterProvider to real backend APIs 2026-04-15 18:18:39 +02:00
Cargo.toml feat: wire NxtgaugeTicketProvider and NxtgaugeHelpCenterProvider to real backend APIs 2026-04-15 18:18:39 +02:00
Dockerfile ci: use rustup toolchain for musl builds 2026-04-17 03:10:13 +02:00
README.md ci: stop treating registry host as secret 2026-04-17 02:39:49 +02:00

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 /health
  • POST /api/v1/chat/message
  • POST /api/v1/jobs/generate-description
  • POST /api/v1/forms/extract
  • POST /api/v1/tickets/create
  • POST /api/v1/help/search

Environment

  • APP_HOST
  • APP_PORT
  • DATABASE_URL
  • OLLAMA_BASE_URL
  • OLLAMA_CHAT_MODEL (default smollm2:360m)
  • OLLAMA_EMBED_MODEL (default nomic-embed-text)
  • HELP_CENTER_SEED_PATH
  • TICKETS_SOURCE

Architecture

  • chat/: workflow-oriented orchestration
  • jobs/, forms/, tickets/: domain modules
  • providers/llm: AiProvider + Ollama implementation
  • providers/tickets: TicketProvider + mock adapter
  • providers/help_center: HelpCenterProvider + local seed implementation
  • retrieval/embeddings: embedding abstraction + Ollama adapter
  • db/: DB connection, entities, repository helpers
  • routes/, 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_USERNAME
  • REGISTRY_PASSWORD