Channel receivables: document chunking for product questions

Review document chunking for product questions in Channel receivables. Check document scope, failure paths and source evidence through controlled tests.

What the documents look like

Channel receivables collection covers credit and cash recovery after sales on account. The material comes from finance systems, bank receipts, distributor orders and sales contracts. Routine documents include the accounts receivable aging table, dunning letters, credit agreements and shipment freeze notices, with weekly or monthly update frequency. These materials combine structured tables with fixed clause text. Parsing must preserve the full meaning of fields such as aging bracket, credit limit and freeze trigger condition. If chunking separates the limit condition in a credit agreement from its exemption note, retrieval can return only half of the condition, and product selection questions then cite an incomplete clause.

Constraints at the document chunking step

The aging table updates weekly or monthly. Chunking keeps row-level meaning by distributor and aging period combination, and avoids merging across distributors. A dunning letter carries a specific amount and a due date. Chunking keeps amount, deadline and recipient inside one data block. Limit, guarantee method and effective condition in a credit agreement form one constraint group. Separation prevents retrieval from pointing back to the complete clause. A shipment freeze notice contains a trigger reason and a release condition, and chunking keeps both together. In FastGPT, one group of source data can map to multiple indexes, and one data block can produce several vector groups; a hit on any index recalls that data group. Knowledge base search operates at the knowledge base level, while a collection serves classification management only. Vector retrieval uses the PostgresSQL PG Vector plugin with an HNSW index, and the MongoDB dataset.datas table stores source data together with the indexes field. Retrieval recalls vectors first, then uses vector IDs to fetch source data from MongoDB; entries mapping to the same source data group merge, and the highest score is taken.

Configuration and implementation checks

The following settings relate to the document parsing and chunking task on this page. Each row states either a documented setting or an implementation check.

Configuration itemHypothetical trial starting valueReason and comparison method
Search modeHybrid searchThe aging table contains identifiers and natural language questions. Hybrid search uses semantic and full-text recall, then merges through RRF. Compare identifier hit behavior against semantic search alone
Reference limitHypothetical starting value 3000 tokensAging table and credit agreement blocks run long and need room for complete clauses. Compare against 1500 tokens for truncation of condition text
Minimum relevanceHypothetical starting value 0.4This value takes effect only under semantic search or result reranking. Compare against 0.2 for reduction of unrelated fragments
Question optimizationEnabledFollow-up questions about aging definitions need reference completion. Compare against disabled for short-question recall completeness
Result rerankingReRank enabledHybrid search produces many candidates and needs a second ordering with filtering by rerank score. Compare against disabled for ordering stability
Chunk completeness reviewManual checkVerify that credit agreement conditions and exemption notes stay in one block, and that aging table row-level meaning is preserved

Three common errors

  1. Splitting the limit condition and the exemption note of a credit agreement into different data blocks. A retrieval hit on the limit condition then cannot return the exemption note, and the product selection answer cites an incomplete clause. Check: enter a query containing the limit condition, and compare whether the recalled block contains the original exemption note text.
  2. Treating a successful upload as an updated retrieval index. After a material change, the actual training and index state is not checked, and retrieval still returns the old block. Check: after the change, search with a new term and compare whether the returned content matches the changed source text.
  3. Using minimum relevance to exclude unrelated businesses or unauthorized records. This value is a filtering threshold and does not perform permission or entity isolation. Check: enter a cross-distributor query and compare whether results still contain other distributors' data; permission needs a separate system implementation.

How to verify the setup

Hypothetical exercise sample: the source material reads "Distributor A, as of March, aging ninety days, credit limit five hundred thousand yuan, shipment frozen for exceeding the credit limit, release condition is repayment back within the limit." The sentence to be assessed is "Distributor A has repaid back within the limit, and the freeze can be released." Assessment requires the same subject, the same period and the same field. The source states only the release condition and does not state a repayment fact. The drafted sentence is unsupported, and the evidence gap is recorded.

  • Verification one: enter "Distributor A credit limit freeze release condition" and compare whether the recalled block contains the limit, the freeze and the release condition together. The expectation is a recalled block matching the source text, with no guarantee of a first-position hit.
  • Verification two: enter "Distributor A has repaid" and compare whether the returned content contains a repayment record. The expectation is that the returned result does not contain a repayment fact. If records of another distributor appear, the chunking and permission settings need review.
  • Verification three: after changing the aging table, search with the new aging period and compare whether the returned content matches the changed source text. The expectation is a returned block reflecting the change. If the old block still returns, record the training and index state as pending review.

For empty-result handling, a paper input of [] can be used to check downstream design, without claiming that a fictional rule search necessarily returns []. Knowledge bases using different vector models cannot be associated together. Check the identifier first, exclude non-matching bases, and record the actual observation.