feat: score-based search, LLM re-ranking endpoint, video title search, pipeline module

Core search changes:
- Replace RRF with score-based merge (max of semantic/keyword/identity)
- Add video title ILIKE search for brand/name queries (score 0.9)
- Add /api/v1/search/llm-smart endpoint with Gemma 4 re-ranking
- Fix LLM JSON parsing (markdown fences, empty responses)

Infrastructure:
- Rebuild Qdrant collection (clear 347K contaminated points)
- Add dotenv loading to main.rs for config parity
- Implement store_pre_chunk in postgres_db.rs

Pipeline module (WordPress):
- store-asrx, rule1, vectorize, phase1, complete endpoints
- CLI commands for pipeline operations

Docs:
- SEARCH_SCORE_IMPROVEMENT.md (score-based merge proposal)
This commit is contained in:
Accusys
2026-06-04 07:40:41 +08:00
parent e1572907ae
commit 834b0d4865
14 changed files with 835 additions and 31 deletions

View File

@@ -16,12 +16,17 @@ fn init_tracing() {
.init();
}
fn load_env() {
let _ = dotenv::from_filename("/Users/accusys/momentry_core_0.1/.env");
}
use cli::*;
use processing::handlers::*;
/// Main entry point
#[tokio::main]
async fn main() -> Result<()> {
load_env();
init_tracing();
let cli = Cli::parse();
@@ -41,12 +46,21 @@ async fn main() -> Result<()> {
Commands::Chunk { uuid } => {
handle_chunk(&uuid).await?;
}
Commands::StoreAsrx { uuid } => {
handle_store_asrx(&uuid).await?;
}
Commands::Story { uuid } => {
handle_story(&uuid).await?;
}
Commands::Vectorize { uuid } => {
handle_vectorize(&uuid).await?;
}
Commands::Phase1 { uuid } => {
handle_phase1(&uuid).await?;
}
Commands::Complete { uuid } => {
handle_complete(&uuid).await?;
}
Commands::Play { target } => {
handle_play(&target).await?;
}