init
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user