2026-09-09 20:00:06 +08:00
|
|
|
"""快速测试 fin_* Milvus 检索(需先 build_collections 灌库)。"""
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
2026-09-09 18:32:00 +08:00
|
|
|
import sys
|
2026-09-09 20:00:06 +08:00
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
sys.path.insert(0, str(ROOT))
|
2026-09-09 18:32:00 +08:00
|
|
|
|
|
|
|
|
from app.tool.embedding_tool import get_embedder
|
|
|
|
|
from app.tool.milvus_tool import get_milvus_client
|
|
|
|
|
|
|
|
|
|
e = get_embedder()
|
|
|
|
|
m = get_milvus_client()
|
|
|
|
|
|
2026-09-09 20:00:06 +08:00
|
|
|
try:
|
|
|
|
|
v = e.embed("R3中风险产品有哪些")
|
|
|
|
|
hits = m.search("fin_product", v, top_k=3)
|
|
|
|
|
print("=== 产品检索 ===")
|
|
|
|
|
for h in hits:
|
|
|
|
|
print(f"score={h.get('score', 0):.4f} | {(h.get('chunk_text') or '')[:100]}")
|
2026-09-09 18:32:00 +08:00
|
|
|
|
2026-09-09 20:00:06 +08:00
|
|
|
v2 = e.embed("开户需要什么材料")
|
|
|
|
|
hits2 = m.search("fin_faq", v2, top_k=3)
|
|
|
|
|
print("\n=== FAQ 检索 ===")
|
|
|
|
|
for h in hits2:
|
|
|
|
|
print(f"score={h.get('score', 0):.4f} | {(h.get('chunk_text') or '')[:100]}")
|
2026-09-09 18:32:00 +08:00
|
|
|
|
2026-09-09 20:00:06 +08:00
|
|
|
v3 = e.embed("投资者适当性匹配规则")
|
|
|
|
|
hits3 = m.search("fin_policy", v3, top_k=3)
|
|
|
|
|
print("\n=== 政策检索 ===")
|
|
|
|
|
for h in hits3:
|
|
|
|
|
print(f"score={h.get('score', 0):.4f} | {(h.get('chunk_text') or '')[:100]}")
|
|
|
|
|
finally:
|
|
|
|
|
m.close()
|