Nxtgauge AI Assistant
|
Some checks failed
build-and-release / build (push) Failing after 18s
Second failure: pushing to ci.nxtgauge.com/nxtgauge/nxtgauge-ai-assistant 404'd because no "nxtgauge" org exists on this Forgejo instance. The image this app actually runs (verified against the live k8s deployment) lives under ci.nxtgauge.com/ashwin/nxtgauge-ai-assistant, and the real GitOps target is apps/nxtgauge-ai-assistant/overlays/prod/release-patch.yaml in ashwin/nxtgauge-gitops (which Flux's image-automation-controller also tracks via its $imagepolicy marker), not base/deployment.yaml. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo | ||
| .gitea/workflows | ||
| .github/workflows | ||
| migrations | ||
| prompts/v1 | ||
| 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