From 729cd3544a18fba14a3a41d87298f2c3a32b3c2f Mon Sep 17 00:00:00 2001 From: zhuyongxin Date: Tue, 28 Jul 2026 09:50:15 +0800 Subject: [PATCH] chore(rag): remove obsolete PowerShell rebuild script --- scripts/rebuild-hybrid-knowledge.ps1 | 157 --------------------------- 1 file changed, 157 deletions(-) delete mode 100644 scripts/rebuild-hybrid-knowledge.ps1 diff --git a/scripts/rebuild-hybrid-knowledge.ps1 b/scripts/rebuild-hybrid-knowledge.ps1 deleted file mode 100644 index d359888..0000000 --- a/scripts/rebuild-hybrid-knowledge.ps1 +++ /dev/null @@ -1,157 +0,0 @@ -<# -.SYNOPSIS - 清空 hybrid 知识库(Milvus biz_hybrid + MySQL api_document + L0),并从 knowledge_base 全量重建。 - -.DESCRIPTION - 对应 dense+BM25 混合检索上线后的数据迁移步骤: - - 1) 检查服务健康 - 2) 可选:查看当前 /api/knowledge/stats - 3) POST /api/knowledge/rebuild-hybrid?confirm=REBUILD - - drop + recreate milvus.collection(默认 biz_hybrid) - - 清空 MySQL api_document - - 清空内存 L0 索引 - - 扫描 knowledge_base/**/*.md 强制导入并写入 dense+BM25 - - 不会删除旧的 legacy collection `biz`(知识主路径已不再使用它)。 - -.PARAMETER BaseUrl - 服务根地址,默认 http://localhost:9900 - -.PARAMETER Confirm - 必须为 REBUILD 才会真正执行(防止误触) - -.PARAMETER SkipStats - 跳过重建前后的 stats 查询 - -.EXAMPLE - # 先启动 Spring Boot,再执行: - .\scripts\rebuild-hybrid-knowledge.ps1 -Confirm REBUILD - -.EXAMPLE - .\scripts\rebuild-hybrid-knowledge.ps1 -BaseUrl http://127.0.0.1:9900 -Confirm REBUILD -#> - -[CmdletBinding()] -param( - [string]$BaseUrl = "http://localhost:9900", - [ValidateSet("REBUILD")] - [Parameter(Mandatory = $true)] - [string]$Confirm, - [switch]$SkipStats -) - -$ErrorActionPreference = "Stop" - -function Write-Step([string]$Message) { - Write-Host "" - Write-Host "==> $Message" -ForegroundColor Cyan -} - -function Invoke-Json { - param( - [Parameter(Mandatory = $true)][string]$Method, - [Parameter(Mandatory = $true)][string]$Url, - [int]$TimeoutSec = 3600 - ) - try { - $resp = Invoke-WebRequest -Method $Method -Uri $Url -TimeoutSec $TimeoutSec - $body = $resp.Content - if ([string]::IsNullOrWhiteSpace($body)) { - return @{ statusCode = [int]$resp.StatusCode; body = $null } - } - return @{ - statusCode = [int]$resp.StatusCode - body = $body | ConvertFrom-Json - } - } - catch { - $status = $null - $raw = $null - if ($_.Exception.Response) { - $status = [int]$_.Exception.Response.StatusCode - try { - $stream = $_.Exception.Response.GetResponseStream() - $reader = New-Object System.IO.StreamReader($stream) - $raw = $reader.ReadToEnd() - } - catch { } - } - throw "HTTP $Method $Url failed (status=$status): $($_.Exception.Message)`n$raw" - } -} - -$BaseUrl = $BaseUrl.TrimEnd("/") - -Write-Host "Hybrid knowledge rebuild" -ForegroundColor Green -Write-Host " BaseUrl : $BaseUrl" -Write-Host " Confirm : $Confirm" -Write-Host " Source : knowledge_base/ (server-side knowledge.base-path)" -Write-Host "" -Write-Host "This will DESTROY data in:" -ForegroundColor Yellow -Write-Host " - Milvus collection milvus.collection (default: biz_hybrid)" -Write-Host " - MySQL table api_document" -Write-Host " - In-memory L0 knowledge index" -Write-Host "Then re-import all markdown under knowledge_base." -Write-Host "" - -# 1) health -Write-Step "Check service health" -try { - $health = Invoke-Json -Method GET -Url "$BaseUrl/milvus/health" -TimeoutSec 30 - Write-Host (" milvus health status={0}" -f $health.statusCode) - if ($health.body) { - $health.body | ConvertTo-Json -Depth 6 | Write-Host - } -} -catch { - Write-Host " WARN: /milvus/health failed: $_" -ForegroundColor Yellow - Write-Host " Continue if app is up but milvus health endpoint has issues." -} - -# 2) stats before -if (-not $SkipStats) { - Write-Step "Knowledge stats (before)" - try { - $before = Invoke-Json -Method GET -Url "$BaseUrl/api/knowledge/stats" -TimeoutSec 30 - $before.body | ConvertTo-Json -Depth 6 | Write-Host - } - catch { - Write-Host " WARN: stats before failed: $_" -ForegroundColor Yellow - } -} - -# 3) rebuild -Write-Step "POST /api/knowledge/rebuild-hybrid?confirm=REBUILD" -$rebuildUrl = "$BaseUrl/api/knowledge/rebuild-hybrid?confirm=$Confirm" -$rebuild = Invoke-Json -Method POST -Url $rebuildUrl -TimeoutSec 7200 -Write-Host (" HTTP {0}" -f $rebuild.statusCode) -$rebuild.body | ConvertTo-Json -Depth 12 | Write-Host - -if (-not $rebuild.body.success) { - Write-Host "" - Write-Host "Rebuild reported failure. Inspect details above." -ForegroundColor Red - exit 2 -} - -# 4) stats after -if (-not $SkipStats) { - Write-Step "Knowledge stats (after)" - try { - $after = Invoke-Json -Method GET -Url "$BaseUrl/api/knowledge/stats" -TimeoutSec 30 - $after.body | ConvertTo-Json -Depth 6 | Write-Host - } - catch { - Write-Host " WARN: stats after failed: $_" -ForegroundColor Yellow - } -} - -Write-Host "" -Write-Host "Done." -ForegroundColor Green -Write-Host "Next:" -Write-Host " 1) Ensure application.yml has:" -Write-Host " milvus.collection: biz_hybrid" -Write-Host " retrieval.search.mode: hybrid" -Write-Host " 2) Smoke test lookup_knowledge / chat with a known doc query" -Write-Host " 3) Optional: drop legacy collection 'biz' manually in Zilliz console if no longer needed" -exit 0