mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-06-06 21:59:46 +00:00
29 lines
903 B
Python
29 lines
903 B
Python
from typing import Any
|
|
|
|
from documents.management.commands.base import PaperlessCommand
|
|
from documents.tasks import llmindex_index
|
|
from paperless_ai.indexing import llm_index_compact
|
|
|
|
|
|
class Command(PaperlessCommand):
|
|
help = "Manages the LLM-based vector index for Paperless."
|
|
|
|
supports_progress_bar = True
|
|
supports_multiprocessing = False
|
|
|
|
def add_arguments(self, parser: Any) -> None:
|
|
super().add_arguments(parser)
|
|
parser.add_argument("command", choices=["rebuild", "update", "compact"])
|
|
|
|
def handle(self, *args: Any, **options: Any) -> None:
|
|
if options["command"] == "compact":
|
|
llm_index_compact()
|
|
return
|
|
llmindex_index(
|
|
rebuild=options["command"] == "rebuild",
|
|
iter_wrapper=lambda docs: self.track(
|
|
docs,
|
|
description="Indexing documents...",
|
|
),
|
|
)
|