What the documents look like
Fruit-store procurement materials centre on four document types: purchase orders, acceptance records, pesticide-residue test reports, and loss records. A purchase order carries a stall quotation and an ordered quantity. An acceptance record carries the delivered grade and the actually received weight. A test report carries a batch-level test conclusion. A loss record carries the quantity of spoilage recorded at the store.
These materials update daily or per batch. One batch of fruit can produce a purchase order, an acceptance record, and a test report at the same time, and the subject, batch, and date across the three documents need to correspond to one another. Compared with convenience-store fresh-food ordering, fruit procurement depends on wholesale-market conditions and on grade acceptance at the point of delivery, and it lacks a head-office standard meal specification. The same supplier may quote different prices for different batches on the same day, and the acceptance grade is determined by on-site visual inspection.
Document chunking therefore needs to preserve identity fields that can be traced back to the source text, such as batch number, supplier name, date, and grade. Without those fields, a later comparison cannot locate the specific document that a statement came from.
Constraints at the document chunking step
Chunking follows the structure of each material. The quotation terms of a purchase order, the grade description of an acceptance record, and the test conclusion of a report each stand as separate segments. A conditional clause and the content it governs cannot be split across different data chunks. One set of source data can correspond to multiple indexes, so a long acceptance description can be mapped to several vectors, and retrieval of any one of those vectors brings back the whole set of source data. Source data is stored in the MongoDB dataset.datas table, and vectors are stored in the PostgresSQL vector field. Retrieval first recalls vectors and then uses the vector ID to fetch the source content.
Hypothetical drill sample. A store keeps one acceptance record with the following text: "Supplier: Qinghe stall; batch: 2026-03-11-A; item: mandarin orange; acceptance grade: grade one; received weight: 320 kg; acceptance date: 11 March 2026; accepting person: store fresh-produce supervisor." A purchase order exists with the following text: "Supplier: Qinghe stall; batch: 2026-03-11-A; item: mandarin orange; quotation: 6.4 yuan per kg; quotation validity: valid on 11 March 2026 only." The draft sentence to be assessed reads: "The acceptance grade for Qinghe stall batch 2026-03-11-A mandarin oranges is grade one, and the supply period runs to 31 March 2026." The supply period in this draft sentence appears in neither source text.
Configuration and implementation checks
| Configuration item | Hypothetical starting value for this drill | Reason for the choice and comparison method |
|---|---|---|
| Search mode | Hybrid search | Batch numbers and supplier names are exact queries, while grade descriptions are semantic queries; hybrid search uses semantic recall and full-text recall together and merges them through RRF |
| Minimum relevance | 0.35 | This is a hypothetical starting value for this drill, not an official default; compare with 0.5 to observe whether low-relevance fragments are filtered out |
| Reference limit | 800 tokens | This is a hypothetical starting value for this drill; compare with 400 tokens to observe whether acceptance condition text is truncated |
| Question optimisation | Enabled | Completes references when batch differences are followed up across turns; compare hit results with the disabled state |
| Result reranking | ReRank enabled | When candidates are numerous, re-sorts by rerank score; compare the ranking position of the same batch before and after reranking |
| Image retrieval | Not enabled for now | The sample materials are plain text with no image input, so the image-description and image-vector paths are not triggered |
Three common errors
- Merging the grade description of an acceptance record and the quotation terms of a purchase order into one data chunk. The input is the two source texts; the comparison object is the chunk boundary after parsing; the observable result is whether the grade condition and the quotation condition fall inside the same data chunk. If one chunk holds both kinds of condition, a later comparison cannot distinguish which field came from which document.
- Treating the supply period in the draft sentence as a stated fact. The input is the draft sentence and the two source texts; the comparison object is the supply-period field; the observable result is whether that field exists in the source texts. Neither source text states a supply period, so the field is unsupported and cannot be judged as contradicting the source.
- Using the minimum-relevance setting to exclude other suppliers or unauthorised records. The input is the minimum-relevance value and the retrieval results; the comparison object is the subject field of the returned records; the observable result is whether returned records include a supplier other than the target. Minimum relevance is a filtering threshold and does not perform subject or permission isolation.
How to verify the setup
- Input the hypothetical acceptance record and purchase order; the comparison object is the batch number, supplier name, and date fields retained after parsing; the observable result is whether those fields can be traced back to the source text. If the batch number is lost after chunking, retrieval cannot locate by batch.
- Input the draft sentence and the two source texts; the comparison object is the supply-period field; the observable result is whether the source texts state that field. When the source texts do not state it, record it as unsupported, keep the evidence gap open, and do not supply an authorisation or effective clause.
- Input batch number "2026-03-11-A" as a full-text query and "mandarin orange acceptance grade" as a semantic query; the comparison object is the correspondence between returned data chunks and the source text; the observable result is whether the two query types recall the same set of source data. Retrieval returns candidate content only and does not constitute authorisation or approval. After a material change, check the actual training and index state; a successful upload does not mean retrieval has updated.
This page addresses only fruit-store procurement, contract and transaction material comparison, and document parsing and chunking. At operational handover, which materials, operations, or requests sit at which authorisation state must be confirmed separately; retrieval and forms are not authorisation execution.