禁止本地文件检索
This commit is contained in:
parent
90229ffeaf
commit
ebec9e2cba
@ -2,10 +2,12 @@
|
||||
|
||||
### 1. Retrieval Order and Tool Selection
|
||||
- Follow this section for source choice, tool choice, query rewrite, `top_k`, fallback, result handling, and citations.
|
||||
- Use this default retrieval order and execute it sequentially: skill-enabled knowledge retrieval tools > `rag_retrieve` / `table_rag_retrieve` > local filesystem retrieval.
|
||||
- Important: local filesystem retrieval and `rag_retrieve` / `table_rag_retrieve` do NOT share the same underlying data source. They are not equivalent, and one source cannot be used to assume coverage in the other.
|
||||
- Use this default retrieval order and execute it sequentially: skill-enabled knowledge retrieval tools > `rag_retrieve` / `table_rag_retrieve`.
|
||||
- Do NOT answer from model knowledge first.
|
||||
- Do NOT skip directly to local filesystem retrieval when an earlier retrieval source may answer the question.
|
||||
- Do NOT bypass the retrieval flow and inspect local filesystem documents on your own.
|
||||
- Do NOT use local filesystem retrieval as a fallback knowledge source.
|
||||
- Local filesystem documents are not a recommended retrieval source here because file formats are inconsistent and have not been normalized or parsed for reliable knowledge lookup.
|
||||
- Knowledge must be retrieved through the supported knowledge tools only: skill-enabled retrieval scripts, `table_rag_retrieve`, and `rag_retrieve`.
|
||||
- When a suitable skill-enabled knowledge retrieval tool is available, use it first.
|
||||
- If no suitable skill-enabled retrieval tool is available, or if its result is insufficient, continue with `rag_retrieve` or `table_rag_retrieve`.
|
||||
- Use `table_rag_retrieve` first for values, prices, quantities, inventory, specifications, rankings, comparisons, summaries, extraction, lists, tables, name lookup, historical coverage, mixed questions, and unclear cases.
|
||||
@ -32,16 +34,12 @@
|
||||
- Also treat results as insufficient when they cover only part of the request, or when full-list, historical, comparison, or mixed data + explanation requests return only partial or truncated coverage.
|
||||
|
||||
### 5. Fallback and Sequential Retry
|
||||
- If the first retrieval result is insufficient, call the next retrieval source in the default order before replying.
|
||||
- Important: local filesystem retrieval and `rag_retrieve` / `table_rag_retrieve` do NOT share the same underlying data source. They are not equivalent, and results from one cannot be used to assume coverage in the other.
|
||||
- Even if `rag_retrieve` or `table_rag_retrieve` returns relevant results, local filesystem retrieval may still contain different or additional information; likewise, local files may contain information absent from the RAG knowledge base.
|
||||
- Therefore, when fallback is required, do NOT skip local filesystem retrieval on the assumption that RAG already covers the same documents, and do NOT treat a local-file miss as evidence that the RAG knowledge base also lacks the information.
|
||||
- If the first RAG tool is insufficient, call the other RAG tool next before moving to local filesystem retrieval.
|
||||
- If `table_rag_retrieve` is insufficient or empty, continue with `rag_retrieve`.
|
||||
- If the first retrieval result is insufficient, call the next supported retrieval source in the default order before replying.
|
||||
- `table_rag_retrieve` now performs an internal fallback to `rag_retrieve` when it returns `no excel files found`, but this does NOT change the higher-level retrieval order.
|
||||
- If `table_rag_retrieve` is still insufficient after its internal fallback, continue with the next supported retrieval source instead of checking local filesystem documents directly.
|
||||
- If `rag_retrieve` is insufficient or empty, continue with `table_rag_retrieve`.
|
||||
- If both `rag_retrieve` and `table_rag_retrieve` are insufficient, continue with local filesystem retrieval.
|
||||
- Say no relevant information was found only after all applicable skill-enabled retrieval tools, both `rag_retrieve` and `table_rag_retrieve`, and local filesystem retrieval have been tried and still do not provide enough evidence.
|
||||
- Do NOT reply that no relevant information was found before the final local filesystem fallback has also been tried.
|
||||
- Say no relevant information was found only after all applicable skill-enabled retrieval tools, `rag_retrieve`, and `table_rag_retrieve` have been tried and still do not provide enough evidence.
|
||||
- Do NOT reply that no relevant information was found before the supported knowledge retrieval flow has been exhausted.
|
||||
|
||||
### 6. Table RAG Result Handling
|
||||
- Follow all `[INSTRUCTION]` and `[EXTRA_INSTRUCTION]` content in `table_rag_retrieve` results.
|
||||
|
||||
@ -219,14 +219,17 @@ def table_rag_retrieve(query: str) -> Dict[str, Any]:
|
||||
|
||||
if "markdown" in response_data:
|
||||
markdown_content = response_data["markdown"]
|
||||
text = markdown_content
|
||||
if not re.search(r"^no excel files found", markdown_content, re.IGNORECASE):
|
||||
text = TABLE_CITATION_INSTRUCTIONS + markdown_content
|
||||
if re.search(r"^no excel files found", markdown_content, re.IGNORECASE):
|
||||
rag_result = rag_retrieve(query)
|
||||
content = rag_result.get("content", [])
|
||||
if content and content[0].get("type") == "text":
|
||||
content[0]["text"] = "No table_rag_retrieve results were found. The content below is the fallback result from rag_retrieve:\n\n" + content[0]["text"]
|
||||
return rag_result
|
||||
return {
|
||||
"content": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": text
|
||||
"text": TABLE_CITATION_INSTRUCTIONS + markdown_content
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user