Skip to content

feat: add on-device AI with Ollama integration and comprehensive tests#33

Merged
rprabhat merged 1 commit intomainfrom
shelled-rubidium
Apr 7, 2026
Merged

feat: add on-device AI with Ollama integration and comprehensive tests#33
rprabhat merged 1 commit intomainfrom
shelled-rubidium

Conversation

@rprabhat
Copy link
Copy Markdown
Collaborator

@rprabhat rprabhat commented Apr 7, 2026

Summary

  • Add Ollama client for on-device LLM inference (qwen2.5-coder, nomic-embed-text)
  • Add NL-to-SQL translation for natural language queries
  • Add document ingestion pipeline (CSV/MD/JSON/TXT chunking)
  • Add ModelSettings component for model management
  • Add 263 Vitest tests with 46% coverage (app, api, nl-to-sensibleql, components)
  • Fix jsdom ESM compatibility by switching to happy-dom

Changes

Rust Backend (Tauri)

  • Added src/ollama/client.rs — OllamaClient with check_status, generate_embeddings, chat_completion, pull_model
  • Added src/commands/ollama.rs — Tauri commands: ollama_check_status, ollama_pull_model, generate_embeddings, translate_nl_to_sensibleql
  • Added src/commands/ingestion.rs — ingest_document, chunk_text, extract_entities_from_chunks

Frontend (SolidJS)

  • Added src/components/settings/ModelSettings.tsx — Ollama status, model download with progress
  • Updated src/components/chat/ChatView.tsx — LLM-based NL-to-SQL
  • Updated src/components/onboarding/ConnectionWizard.tsx — document ingestion pipeline
  • Updated src/components/sidebar/Sidebar.tsx — AI Models navigation

Testing

  • Added vitest.config.ts with happy-dom (fixes ESM compatibility)
  • Created 7 test files: stores, api, nl-to-sensibleql, ModelSettings, ChatView, ConnectionWizard, Sidebar
  • 263 tests passing

- Add Ollama client for on-device LLM inference (qwen2.5-coder, nomic-embed-text)
- Add NL-to-SQL translation for natural language queries
- Add document ingestion pipeline (CSV/MD/JSON/TXT chunking)
- Add ModelSettings component for model management
- Add 263 Vitest tests with 46% coverage (app, api, nl-to-sensibleql, components)
- Fix jsdom ESM compatibility by switching to happy-dom
@rprabhat rprabhat merged commit a3f944b into main Apr 7, 2026
13 of 17 checks passed
@rprabhat rprabhat deleted the shelled-rubidium branch April 7, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant