feat:修复投顾agent功能
This commit is contained in:
@@ -49,6 +49,32 @@ def build_cache_key(
|
||||
return f"nl2sql:{digest}"
|
||||
|
||||
|
||||
def build_question_cache_key(
|
||||
question: str,
|
||||
*,
|
||||
permission: dict[str, Any],
|
||||
data_scope: dict[str, Any] | None = None,
|
||||
page: int = 1,
|
||||
page_size: int = 100,
|
||||
sort_by: str | None = None,
|
||||
sort_order: str = "asc",
|
||||
) -> str:
|
||||
"""生成自然语言查询结果缓存键,覆盖问题、权限和数据范围。"""
|
||||
payload = {
|
||||
"question": " ".join((question or "").split()),
|
||||
"permission": _permission_payload(permission),
|
||||
"data_scope": data_scope or {},
|
||||
"page": page,
|
||||
"page_size": page_size,
|
||||
"sort_by": sort_by or "",
|
||||
"sort_order": sort_order,
|
||||
}
|
||||
digest = hashlib.sha256(
|
||||
json.dumps(payload, ensure_ascii=False, sort_keys=True, separators=(",", ":")).encode()
|
||||
).hexdigest()
|
||||
return f"nl2sql:question:{digest}"
|
||||
|
||||
|
||||
async def cache_get(redis, key: str) -> dict[str, Any] | None:
|
||||
"""读取缓存,Redis 异常或内容损坏时返回空结果。"""
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user