feat: semantic search with Qdrant + Ollama embeddings

- Add SemanticSearchService with embed() + searchQdrant() methods
- Add GET /api/search/semantic endpoint (?q=query&k=5)
- Wire SemanticSearchService into router and cmd/server/main.go
- Add SemanticSearch React page with results + similarity scores
- Add 'Semantic Search' nav link in App.tsx
- Add unit tests with mocked Ollama + Qdrant HTTP servers (4 tests, all passing)
- Add GitHub issue templates (bug report, feature request)
- Add pull request template
This commit is contained in:
Christopher Mayor
2026-04-24 11:13:50 -07:00
parent 97c502a5f9
commit 468519fde1
9 changed files with 646 additions and 0 deletions

57
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,57 @@
name: Bug Report
description: Report something that is broken or not working as expected
labels: ["bug"]
title: "[Bug] "
body:
- type: markdown
attributes:
value: |
## Bug Description
Describe what broke and what you expected to happen.
- type: textarea
id: repro
attributes:
label: Steps to Reproduce
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
placeholder: What should happen instead.
- type: textarea
id: actual
attributes:
label: Actual Behavior
placeholder: What actually happens.
- type: input
id: version
attributes:
label: UMM Version / Commit
placeholder: e.g., v2.0 or git commit hash
- type: textarea
id: logs
attributes:
label: Relevant Logs
description: Paste any error messages or relevant log lines
- type: textarea
id: env
attributes:
label: Environment
description: OS, Docker version, database version, etc.
placeholder: |
- OS:
- Docker:
- PostgreSQL:
- Go (if running locally):