Add feedback loop: SQLite-backed rating system + MCP tools + GUI Training tab
New crate: soundgen-feedback - FeedbackDB with SQLite (rusqlite, bundled) - CRUD: add, update_rating, get_all, get_unrated, top_rated, delete - search_similar: keyword-based similarity for few-shot reference - export_jsonl: export rated examples for fine-tuning - 9 tests MCP server: 5 tools (was 3) - generate_batch: generate multiple sounds by name, store in DB - get_reference_sounds: search DB for highly-rated similar sounds - render_sound: now returns reference examples from DB in response - --db flag to specify feedback database path GUI: Training tab - Open/create feedback DB (file dialog) - Generate batch dialog (enter names, output dir) - Sound list with star rating (1-5), feedback text, play button - Export dataset as JSONL - Stats display (total/rated/avg rating) OpenCode config updated with --db feedback.db path
This commit is contained in:
+5
-1
@@ -8,6 +8,7 @@ members = [
|
||||
"crates/soundgen-mcp",
|
||||
"crates/soundgen-gui",
|
||||
"crates/soundgen-runtime",
|
||||
"crates/soundgen-feedback",
|
||||
]
|
||||
resolver = "2"
|
||||
|
||||
@@ -15,7 +16,7 @@ resolver = "2"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/emil/soundgen"
|
||||
repository = "https://github.com/emil28092005/Soundgen"
|
||||
|
||||
[workspace.dependencies]
|
||||
soundgen-core = { path = "crates/soundgen-core" }
|
||||
@@ -23,6 +24,7 @@ soundgen-fmt = { path = "crates/soundgen-fmt" }
|
||||
soundgen-io = { path = "crates/soundgen-io" }
|
||||
soundgen-seq = { path = "crates/soundgen-seq" }
|
||||
soundgen-runtime = { path = "crates/soundgen-runtime" }
|
||||
soundgen-feedback = { path = "crates/soundgen-feedback" }
|
||||
|
||||
hound = "3"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
@@ -32,3 +34,5 @@ cpal = "0.15"
|
||||
eframe = "0.28"
|
||||
egui = "0.28"
|
||||
egui-file-dialog = "0.6"
|
||||
rusqlite = { version = "0.31", features = ["bundled"] }
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
|
||||
Reference in New Issue
Block a user