# ADR-007 — چرا retrieval را با baseline شروع کنیم؟

Why begin retrieval with a baseline?

Status: proposed · Date: 2026-10-15

## مسئله / Context

embedding همیشه بهتر از جست‌وجوی دقیقِ نام، کد و شناسه نیست.

Embeddings do not always beat exact names, codes, and identifiers.

## گزینه‌ها / Alternatives

lexical؛ dense؛ hybrid+reranker؛ graph retrieval.

Lexical, dense, hybrid with reranking, or graph retrieval.

## انتخاب فعلی / Choice

baseline واژگانی؛ dense/hybrid تنها با بهبود Recall@k و کیفیت پاسخ روی holdout.

Lexical baseline; dense/hybrid only with holdout retrieval and answer-quality improvement.

## چرایی و trade-off / Rationale and trade-off

مقایسهٔ واقعی جلوی هزینهٔ embedding بی‌فایده را می‌گیرد؛ label، نسخه و ACL همچنان در همهٔ روش‌ها لازم‌اند.

Measurement avoids unhelpful embedding costs; labels, versions, and ACLs remain necessary for all methods.

## فرض‌ها / Assumptions

E04 یک میلیون سند؛ E05 چهار chunk؛ E06 بردار ۱۵۳۶بعدی فقط سناریوی ظرفیت است، نه مدل انتخاب‌شده.

E04 one million documents, E05 four chunks, E06 1536 dimensions are a capacity scenario, not a selected model.

## روش آزمون / Validation

lexical/dense/hybrid روی یک dataset ثابت؛ latency، recall، citation support و cost ثبت شوند.

Compare lexical/dense/hybrid on one pinned dataset; record latency, recall, citation support, and cost.

## بازنگری / Revisit

فقط وقتی queryهای چندمرحله‌ایِ رابطه‌ای شکست مستند دارند graph را اضافه کن.

Add graph retrieval only after documented failures on relational multi-hop queries.

DDIA: 3, 4, 11, 12
