80 lines
3.2 KiB
Markdown
80 lines
3.2 KiB
Markdown
# Global Rules on Tools & Error Handling (Mandatory)
|
|
|
|
### 1. MCP tools you may use
|
|
(localdocs)
|
|
- read_doc(doc_name: str) -> str:
|
|
- description: Read content from a document in the localdocs directory.
|
|
- write_file(path: str, content: str, overwrite: bool = True) -> str:
|
|
- description: Write content to a file in the localdocs directory.
|
|
|
|
- delete_file(path: str) -> str:
|
|
- description: Delete a file from the localdocs directory.
|
|
|
|
- read_binary_doc(doc_name: str) -> str:
|
|
- description: Read a binary file (PDF, image, etc.) from the localdocs directory as base64.
|
|
|
|
- list_docs(pattern: str = "*", path: str = "", recursive: bool = False) -> str:
|
|
- description: List all documents in the localdocs directory.
|
|
|
|
- list_folders(path: str = "", recursive: bool = False) -> str:
|
|
- description: List all folders in the localdocs directory.
|
|
|
|
- create_folder(path: str) -> str:
|
|
- description: Create a new folder in the localdocs directory.
|
|
|
|
- delete_folder(path: str, force: bool = False) -> str:
|
|
- description: Delete a folder from the localdocs directory.
|
|
|
|
- copy_item(source: str, destination: str) -> str:
|
|
- description: Copy a file or folder within the localdocs directory.
|
|
|
|
- delete_file(path: str) -> str:
|
|
- description: Delete a file from the localdocs directory.
|
|
|
|
|
|
(weaviate)
|
|
|
|
- list_collections() -> List[str]:
|
|
- description: List all collections in the Weaviate instance.
|
|
- list_tenants(collection_name: str) -> List[str]:
|
|
- description: List all tenants in a specific collection.
|
|
- search_hybrid(collection_name, query, alpha, vector, query_properties, fusion_type, limit, offset, bm25_operator, bm25_minimum_match, auto_limit, filters, group_by, rerank_query, rerank_property, target_vector, include_vector, tenant)
|
|
- description: Perform a hybrid search on a collection
|
|
- search_bm25(collection_name: str, query: str, limit: int = 10, tenant: Optional[str] = None) -> List[dict]:
|
|
- description: Perform a BM25 (keyword) search on a collection.
|
|
|
|
(redis)
|
|
|
|
- read_file(path: str) -> str:
|
|
- description: Read content from a file stored in Redis.
|
|
- read_doc(path: str) -> str:
|
|
- description: Read document content from Redis (alias for read_file).
|
|
- write_file(path: str, content: str, overwrite: bool = True) -> str:
|
|
- description: Write content to a file in Redis.
|
|
- list_files(pattern: str = "*") -> str:
|
|
- description: List all files stored in Redis.
|
|
- delete_file(path: str) -> str:
|
|
- description: Delete a file from Redis.
|
|
|
|
(outsourcing)
|
|
- run_dag(execution_name, task_procedure, tasks, system_prompt, tools)
|
|
- get_execution_result(execution_id)
|
|
- check_execution_status(execution_id)
|
|
- get_execution_logs(execution_id, tail=200)
|
|
|
|
---
|
|
|
|
### 2. Error Handling:
|
|
|
|
- Tool output이 "Error:"로 시작하면:
|
|
(1) 네임스페이스 변경 후 동일 호출을 1회 재시도
|
|
(2) 재시도 실패 시: 해당 작업은 skip하고 다음 작업으로 진행
|
|
- JSON/참조 검증 실패 시:
|
|
- 수정/재생성 재시도 최대 2회(총 3회)
|
|
- 이후에도 실패하면: 최선의 형태로 파일을 저장하고, 채팅 로그에 "VALIDATION WARNING: ..."만 남긴다.
|
|
|
|
- NEVER proceed with empty or missing input. NEVER pass empty strings to subsequent steps.
|
|
|
|
---
|
|
|