GraphRAG decision record: ${CORPUS_NAME}
Template for PB-RAG-11-01. Copy it, fill every cell, and keep it with the project's design records.
Never paste prices from memory: convert tokens to cost with the prices checked on the date below.
1. Context
| Item |
Detail |
| Decision owner |
RAG lead (role) |
| Date |
YYYY-MM-DD |
| Corpus |
${CORPUS_NAME}: ${DOCUMENT_COUNT} documents, ${CORPUS_TOKENS} tokens |
| Evaluation slice |
${SLICE_TOKENS} tokens; covers every source document in the question set |
| Content change rate |
${CHANGED_TOKENS_PER_MONTH} tokens per month |
| Query volume |
${QUERIES_PER_MONTH} queries per month |
| Question set |
${QUESTION_FILE}: ${QUESTION_COUNT} questions |
| Answer model and judge |
${ANSWER_DEPLOYMENT} (${ANSWER_MODEL_AND_VERSION}, also used by the pilot); judge ${JUDGE_DEPLOYMENT} at threshold ${JUDGE_THRESHOLD} |
| Runs per option |
3 (team default); the go margin must hold in every run |
| Accuracy target per type |
${TARGET_ACCURACY} (agreed with the client on YYYY-MM-DD) |
| Approved pilot budget |
${PILOT_TOKEN_BUDGET} tokens (approved by the RAG lead on YYYY-MM-DD) |
| GraphRAG version tested |
${GRAPHRAG_VERSION} |
| Prices checked on |
YYYY-MM-DD |
2. Question mix
Paste the output of score_by_type.py --summary.
| Question type |
Questions |
High priority |
| one_place |
|
|
| connect_the_dots |
|
|
| whole_corpus_summary |
|
|
| All |
|
|
3. Accuracy per question type
Run score_by_type.py once for each run. In each cell, write the correct answers in runs 1, 2 and 3, for example 8 / 7 / 8 of 10. Every option answered the same questions over the same slice, with the same answer model and judge.
| Question type |
Questions |
Option A |
Option B |
Option C |
Option D |
Option E |
| one_place |
|
|
|
|
|
|
| connect_the_dots |
|
|
|
|
|
|
| whole_corpus_summary |
|
|
|
|
|
|
| high priority only |
|
|
|
|
|
|
| all |
|
|
|
|
|
|
4. Cost and speed
Write "not tried" for an option you did not run. Write every token count as prompt / generated, because they have different prices. Query tokens come from run 1.
| Measure |
Option A |
Option B |
Option C |
Option D |
Option E |
| Indexing tokens, slice (measured) |
|
|
|
|
|
| Indexing tokens, full corpus (extrapolated) |
|
|
|
|
|
| Refresh tokens per month, best case (changed content only) |
|
|
|
|
|
| Refresh tokens per month, worst case (full re-index) |
|
|
|
|
|
| Query tokens per 1,000 queries |
|
|
|
|
|
| Other charges (search, graph store, storage) |
|
|
|
|
|
| p95 latency (ms) |
|
|
|
|
|
| Cost: initial indexing |
|
|
|
|
|
| Cost: per month (refresh plus queries) |
|
|
|
|
|
| Cost: per 1,000 queries |
|
|
|
|
|
5. Risks accepted
| Risk |
Applies |
How it is handled |
| Preview features (for example, agentic retrieval query planning) |
yes / no |
|
| Microsoft GraphRAG is demonstration code in maintenance mode (README checked on YYYY-MM-DD) |
yes / no |
|
| Refresh may recompute much of the graph |
yes / no |
|
6. Decision
- Decision: go with Option ${OPTION} / no-go (stay with Option A or B) / extend the pilot
- Reason: one paragraph that cites the numbers in sections 3 and 4.
- Conditions: what must stay true for this decision to hold.
- Review date: YYYY-MM-DD, or earlier if an alert in PB-RAG-11-01 section 8 fires.
7. Sign-off
| Role |
Name |
Date |
| Author of this record |
${AUTHOR} |
YYYY-MM-DD |
| RAG lead |
${RAG_LEAD} |
YYYY-MM-DD |