Spaces:
Sleeping
Sleeping
Download mcp_tools/metadata_tools.py from EnvironmentalAI/WaterScopeAI-Search: direct link, hf CLI and curl.
- Browser
- Download file 1.15 kB
-
https://huggingface.co/spaces/EnvironmentalAI/WaterScopeAI-Search/resolve/main/mcp_tools/metadata_tools.py
- Command line
-
hf download hf://spaces/EnvironmentalAI/WaterScopeAI-Search/mcp_tools/metadata_tools.py
-
curl -L -o metadata_tools.py https://huggingface.co/spaces/EnvironmentalAI/WaterScopeAI-Search/resolve/main/mcp_tools/metadata_tools.py
1.15 kB
| """Metadata search MCP tool implementations.""" | |
| from __future__ import annotations | |
| import json | |
| from metadata_search.search_service import document_ids_from_ranks, search_metadata, search_score_mode | |
| def search_metadata_tool( | |
| query: str, | |
| top_k: int = 10, | |
| year_from: int | None = None, | |
| year_to: int | None = None, | |
| ) -> str: | |
| results = search_metadata( | |
| query, | |
| top_k=top_k, | |
| year_from=year_from, | |
| year_to=year_to, | |
| ) | |
| return json.dumps( | |
| {"query": query, "results": results, "score_mode": search_score_mode()}, | |
| indent=2, | |
| ) | |
| def select_papers_from_search_tool( | |
| query: str, | |
| ranks: list[int], | |
| top_k: int = 10, | |
| year_from: int | None = None, | |
| year_to: int | None = None, | |
| ) -> str: | |
| results = search_metadata( | |
| query, | |
| top_k=top_k, | |
| year_from=year_from, | |
| year_to=year_to, | |
| ) | |
| document_ids = document_ids_from_ranks(results, ranks) | |
| selected = [item for item in results if int(item["rank"]) in ranks] | |
| return json.dumps( | |
| {"query": query, "document_ids": document_ids, "papers": selected}, | |
| indent=2, | |
| ) | |