Initialize Zvec with configuration options. This function must be called before any other operation. It can only be called once — subsequent calls raise a ``RuntimeError``. Parameters set to ``None`` are **omitted** from the configuration and fall back to Zvec's internal defaults,
(
*,
log_type: Optional[LogType] = None,
log_level: Optional[LogLevel] = None,
log_dir: Optional[str] = "./logs",
log_basename: Optional[str] = "zvec.log",
log_file_size: Optional[int] = 2048,
log_overdue_days: Optional[int] = 7,
query_threads: Optional[int] = None,
optimize_threads: Optional[int] = None,
invert_to_forward_scan_ratio: Optional[float] = None,
brute_force_by_keys_ratio: Optional[float] = None,
fts_brute_force_by_keys_ratio: Optional[float] = None,
memory_limit_mb: Optional[int] = None,
jieba_dict_dir: Optional[str] = None,
)
| 27 | |
| 28 | |
| 29 | def init( |
| 30 | *, |
| 31 | log_type: Optional[LogType] = None, |
| 32 | log_level: Optional[LogLevel] = None, |
| 33 | log_dir: Optional[str] = "./logs", |
| 34 | log_basename: Optional[str] = "zvec.log", |
| 35 | log_file_size: Optional[int] = 2048, |
| 36 | log_overdue_days: Optional[int] = 7, |
| 37 | query_threads: Optional[int] = None, |
| 38 | optimize_threads: Optional[int] = None, |
| 39 | invert_to_forward_scan_ratio: Optional[float] = None, |
| 40 | brute_force_by_keys_ratio: Optional[float] = None, |
| 41 | fts_brute_force_by_keys_ratio: Optional[float] = None, |
| 42 | memory_limit_mb: Optional[int] = None, |
| 43 | jieba_dict_dir: Optional[str] = None, |
| 44 | ) -> None: |
| 45 | """Initialize Zvec with configuration options. |
| 46 | |
| 47 | This function must be called before any other operation. |
| 48 | It can only be called once — subsequent calls raise a ``RuntimeError``. |
| 49 | |
| 50 | Parameters set to ``None`` are **omitted** from the configuration and |
| 51 | fall back to Zvec's internal defaults, which may be derived from the runtime |
| 52 | environment (e.g., cgroup CPU/memory limits). Explicitly provided values |
| 53 | always override defaults. |
| 54 | |
| 55 | Args: |
| 56 | log_type (Optional[LogType], optional): Logger destination. |
| 57 | - ``LogType.CONSOLE`` (default if omitted or set to this) |
| 58 | - ``LogType.FILE`` |
| 59 | - If ``None``, uses internal default (currently ``CONSOLE``). |
| 60 | log_level (Optional[LogLevel], optional): Minimum log severity. |
| 61 | Default: ``LogLevel.WARN``. |
| 62 | Accepted values: ``DEBUG``, ``INFO``, ``WARN``, ``ERROR``, ``FATAL``. |
| 63 | If ``None``, uses internal default (``WARN``). |
| 64 | log_dir (Optional[str], optional): |
| 65 | Directory for log files (only used when ``log_type=FILE``). |
| 66 | Parent directories are **not** created automatically. |
| 67 | Default: ``"./logs"``. |
| 68 | If ``None``, internal default is used. |
| 69 | log_basename (Optional[str], optional): |
| 70 | Base name for rotated log files (e.g., ``zvec.log.1``, ``zvec.log.2``). |
| 71 | Default: ``"zvec.log"``. |
| 72 | log_file_size (Optional[int], optional): |
| 73 | Max size per log file in **MB** before rotation. |
| 74 | Default: ``2048`` MB (2 GB). |
| 75 | log_overdue_days (Optional[int], optional): |
| 76 | Days to retain rotated log files before deletion. |
| 77 | Default: ``7`` days. |
| 78 | query_threads (Optional[int], optional): |
| 79 | Number of threads for query execution. |
| 80 | If ``None`` (default), inferred from available CPU cores (via cgroup). |
| 81 | Must be ≥ 1 if provided. |
| 82 | optimize_threads (Optional[int], optional): |
| 83 | Threads for background tasks (e.g., compaction, indexing). |
| 84 | If ``None`` (default), uses the same environment-aware default as |
| 85 | ``query_threads``. |
| 86 | invert_to_forward_scan_ratio (Optional[float], optional): |
no outgoing calls
no test coverage detected