mirror of
https://github.com/VectifyAI/PageIndex.git
synced 2026-06-15 20:05:14 +02:00
feat(pifs): render browse results as records
This commit is contained in:
parent
3562d47fdb
commit
c63ebe573b
3 changed files with 226 additions and 3 deletions
|
|
@ -441,7 +441,7 @@ class PageIndexFileSystem:
|
|||
if len(rows) >= needed:
|
||||
break
|
||||
page_rows = rows[offset : offset + page_size]
|
||||
return {
|
||||
payload = {
|
||||
"mode": "files",
|
||||
"retrieval": f"{space}_vector",
|
||||
"query": query,
|
||||
|
|
@ -454,6 +454,9 @@ class PageIndexFileSystem:
|
|||
"has_more": len(rows) > offset + page_size,
|
||||
"data": page_rows,
|
||||
}
|
||||
if metadata_filter is not None:
|
||||
payload["where"] = self._metadata_filter_payload(metadata_filter)
|
||||
return payload
|
||||
|
||||
def folder_info(self, path: str = "/") -> dict[str, Any]:
|
||||
return self.store.folder_info(path)
|
||||
|
|
@ -1664,6 +1667,17 @@ class PageIndexFileSystem:
|
|||
return 0.0
|
||||
return round(max(0.0, min(1.0, score)), 4)
|
||||
|
||||
@staticmethod
|
||||
def _metadata_filter_payload(metadata_filter: Any) -> str:
|
||||
if isinstance(metadata_filter, str):
|
||||
return metadata_filter
|
||||
return json.dumps(
|
||||
metadata_filter,
|
||||
ensure_ascii=False,
|
||||
sort_keys=True,
|
||||
separators=(",", ":"),
|
||||
)
|
||||
|
||||
def _stable_file_locator(self, file_ref: str, entry: Any) -> str:
|
||||
source_path = str(getattr(entry, "source_path", "") or "").strip()
|
||||
if source_path:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue