27 lines
817 B
Python
27 lines
817 B
Python
"""知识库检索路由(独立 Blueprint)
|
||
|
||
POST /retrieval/search 向量检索
|
||
"""
|
||
from flask import Blueprint, request, jsonify
|
||
from insurance.kb.service import KBService
|
||
from insurance.middleware.auth_middleware import jwt_required
|
||
|
||
retrieval_bp = Blueprint("retrieval", __name__)
|
||
kb_service = KBService()
|
||
|
||
|
||
@retrieval_bp.route("/search", methods=["POST"])
|
||
@jwt_required
|
||
def retrieval_search():
|
||
"""向量检索接口:独立于对话,直接检索知识库。"""
|
||
data = request.get_json()
|
||
query = data.get("query", "")
|
||
filters = data.get("filters", {})
|
||
top_k = data.get("top_k", 5)
|
||
|
||
if not query:
|
||
return jsonify({"code": 1001, "message": "请输入搜索内容", "data": None}), 400
|
||
|
||
result = kb_service.retrieval_search(query, filters, top_k)
|
||
return jsonify(result)
|