This commit is contained in:
2026-03-02 15:35:02 +08:00
parent a158cbbe9c
commit 460c2e87b8
26 changed files with 2040 additions and 265 deletions
+13 -5
View File
@@ -11,6 +11,7 @@ class TemplateMatcher:
self._ragflow = RagflowClient()
cfg = Config.get_section("ragflow")
self._dataset_id = (cfg.get("table_retrieval_dataset_id") or "").strip()
self._top_k = int(cfg.get("retrieval_top_k", 3))
def _validate(self) -> None:
if not self._dataset_id:
@@ -20,17 +21,24 @@ class TemplateMatcher:
"""返回匹配的表名与原始响应"""
self._validate()
try:
response = self._ragflow.retrieve(normalized_text, top_k=3, dataset_id=self._dataset_id)
response = self._ragflow.retrieve(normalized_text, top_k=self._top_k, dataset_id=self._dataset_id)
except Exception as e:
return {"table_name": None, "raw": {"error": str(e)}}
candidates = []
data = response.get("data") if isinstance(response, dict) else None
records = []
if isinstance(data, list):
for item in data:
table_name = extract_table_name(item)
if table_name:
candidates.append(table_name)
records = data
elif isinstance(data, dict):
chunks = data.get("chunks")
if isinstance(chunks, list):
records = chunks
for item in records:
table_name = extract_table_name(item)
if table_name:
candidates.append(table_name)
matched = candidates[0] if candidates else None
return {"table_name": matched, "raw": response}