What the documents look like
Closure settlement handles exit and asset recovery, the reverse direction from site selection and store opening. The material set comes from POS inventory, the fixed-asset system, lease contracts and financial ledgers. The typical documents are closure approval forms, inventory clearance sheets, lease termination agreements and asset count sheets. These materials update by store and not on a fixed schedule. Within one store, inventory quantities, asset status and lease clauses sit in different systems, so product material and selection questions need to cite several documents at once before an answer can be assembled.
That fragmentation shapes the model connection step. A question about one store's closure status may draw on an approval form, a count sheet and a termination agreement that were written at different times by different roles. The model does not resolve those differences by itself; it returns text that a person still has to compare against the source fields.
Constraints at the model connections step
Model access depends on AI Proxy. From V4.17.0, AI Proxy is a required dependency. Both the App and an Admin service that reuses App/Service configuration must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; missing either one causes startup validation to fail. Older OpenAI environment variables and single-model custom request addresses cannot replace these two settings. AIPROXY_API_ENDPOINT holds the AI Proxy service root address, for example http://aiproxy:3000, and does not carry /v1.
The system needs at least one language model and one index model to work. The model ID is the value of the model field in the request body and is globally unique; the model name is for display and can be customized. Model mapping can map a model requested in FastGPT to the actual upstream model, for example mapping gpt-4o-test to gpt-4o. A channel test sends a real request and reports each model's result and request duration.
Retrieval and authorization are separate matters. Knowledge base retrieval returns relevant text blocks; it does not decide whether a particular operations or finance user may view a given store's lease. Permission judgment needs a separately connected system implementation. Libraries under the same vector model can be associated together; libraries under different vector models cannot be jointly associated, and in that case the only step is to check identifiers and exclude the ones that do not match.
Configuration and implementation checks
The following uses a hypothetical drill sample. The values are starting points for this drill and need comparison against documented defaults or actual observations.
Hypothetical drill sample: the source text reads "Store A closure approval form states: closure date 2025-06-30, status pending regional operations review. Asset count sheet states: shelving 12 units, status counted. Lease termination agreement states: termination effective date 2025-07-31, both signature fields blank." The draft sentence to be judged reads "Store A completed closure on 2025-06-30 and the lease has been terminated."
| Configuration item | Setting or check action on this page | Basis and comparison method |
|---|---|---|
| AIPROXYAPIENDPOINT | Enter the AI Proxy root address without /v1 | Documented as required and without /v1 |
| AIPROXYAPITOKEN | Enter a non-empty admin token | Documented as required and not empty |
| Language model | Enable at least one language model | Documented minimum system requirement |
| Index model | Enable at least one index model | Documented minimum system requirement |
| Model mapping | Check the correspondence between the FastGPT model ID and the actual upstream model | Documented example maps gpt-4o-test to gpt-4o |
| Channel test | On the channel page, run the model test and observe each model's result and request duration | Documented that the test sends a real request |
Three common errors
- Treating a pending-review status as completed. The closure approval form status reads pending regional operations review, while the draft sentence writes completed closure. The input and comparison object is the approval form status field against the completion wording in the draft sentence; the observable result is that the two do not match.
- Treating blank signature fields as a terminated lease. The lease termination agreement signature fields are blank, while the draft sentence writes that the lease has been terminated. The input and comparison object is the agreement signature fields against the termination wording in the draft sentence; the observable result is that the draft sentence lacks signature evidence.
- Extending same-vector-model library association to external systems. Suppose two knowledge bases use different vector models; after checking identifiers, joint association across them should be excluded. This does not support an inference that an external business registration site must also use the same model.
How to verify the setup
- Verification one: input the hypothetical drill sample source text and the draft sentence, compare the draft sentence's "completed closure" against the approval form's pending regional operations review, and observe that the two statuses do not match, so the draft sentence is not supported.
- Verification two: input the lease termination agreement source text and the draft sentence "the lease has been terminated," compare the blank signature fields against the termination wording, and observe that signature evidence is missing, so the wording remains to be verified.
- Verification three: input two knowledge base identifiers that use different vector models, check the vector model field, and observe that the identifiers do not match, so joint association should be excluded and no cross-library retrieval comparison is performed.
An empty-result handoff can use the explicit paper input [] to check downstream design; it cannot claim that a fictional rule retrieval will necessarily return []. The model probe alert webhook fires on state edge changes, with event types model_status_error or model_status_recovered, and belongs to a business action that needs a separately connected system implementation.