What the documents look like
Refund-only disputes differ from ordinary return-and-refund cases because goods frequently never re-enter a warehouse. The evidence therefore centres on dispatch, delivery and the claimed value of the product rather than on inbound inspection. Records arrive from the platform after-sales console, carrier tracking, customer-service chat and warehouse outbound logs. The working documents are the refund-only application, the dispatch receipt, the proof of delivery and the appeal pack. These materials are handled per order, and product-information and selection questions require that the source material and any drafted sentence be checked under the same subject, the same period and the same field.
A refund-only case can be filed, reviewed and decided while the goods remain with the buyer. That single fact shapes what a model connection has to support. The assistant is asked to read application text, dispatch and delivery evidence, and chat records, then answer questions about the product. It is not asked to decide the dispute. Nothing in the platform console, the carrier trace or a chat transcript authorises a refund, a write-back or an appeal submission.
Constraints at the model connections step
Model access depends on AI Proxy. From V4.17.0 the App and the Admin service must both set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; a missing value in either causes startup validation to fail. The endpoint is the service root address and must not carry /v1. Older OpenAI environment variables and single-model custom request addresses do not replace these two settings. The system requires at least one language model and one index model before it can run.
Channels, model IDs and model mappings are configured on the administrator model-provider page. Channel testing and model testing follow the on-screen steps and send a real request. A model mapping such as gpt-4o-test to gpt-4o means FastGPT requests gpt-4o-test and AI Proxy forwards gpt-4o upstream; the two fields are checked separately. Channel priority runs from 1 to 100, and a larger value is selected more readily. Model probing covers enabled system models only, retries a failed probe up to three additional times, and treats a single success in that round as valid; only four failed attempts produce an abnormal result.
Semantic recall and relevance scores do not perform permission or entity isolation. A retrieval result is not an authorisation. A library bound to one embedding model cannot be jointly associated with a library bound to a different embedding model; the identifiers are compared and non-matching libraries are excluded, and no runtime outcome is asserted beyond the observation recorded. An empty retrieval result can be checked downstream against the explicit paper input []; this checks the downstream design and does not assert that any retrieval rule must return an empty list.
Hypothetical walkthrough sample, marked as such and not drawn from any real record: the source material reads "Refund-only application A-2026-0417; the buyer claims the goods do not match the description and requests a refund only. The dispatch receipt shows outbound from a warehouse on 2026-04-10, and the carrier trace shows delivery on 2026-04-12. In the customer-service chat the buyer has not provided unboxing photographs." The sentence to be assessed is "The available material confirms that the goods do not match the description, and the refund-only request is approved." This request sits in a pending review state and no authorisation to execute has been granted.
Configuration and implementation checks
| Configuration item | Hypothetical starting value for this walkthrough | How it is checked and on what basis |
|---|---|---|
AIPROXY_API_ENDPOINT | Hypothetical value http://aiproxy:3000 | Inspect whether /v1 is appended; the documented requirement is the service root address |
AIPROXY_API_TOKEN | Hypothetical non-empty administrator token | Compare with the server-side value; an application API key does not substitute |
| Language model and index model | One of each enabled | The documents require at least one of each for normal operation |
| Model mapping | Hypothetical gpt-4o-test mapped to gpt-4o | Compare the requested model field with the upstream model field |
| Channel priority | Hypothetical starting value 50 | Range 1 to 100; compare against the other channel value in the same list |
| Probe interval | Hypothetical starting value 15 minutes | The documented range is an integer from 5 to 60 minutes |
The starting values above are hypothetical choices for this walkthrough, with the reason given in each row, and they are compared against the documented condition or against another configured value. They are not official defaults.
Three common errors
- Treating a pending refund-only application as an approved execution. The input is application A-2026-0417 together with its status field. The comparison is whether that status field reads as approved. Only an explicit approved value satisfies the condition; the sample material does not state that value, so the status remains pending and the drafted approval sentence is unsupported.
- Inferring a description mismatch from the absence of unboxing photographs in the chat. The input is the chat record and the buyer's claim. The comparison is whether an unboxing photograph or an inspection record exists. Both are absent here, which is a case of no supporting evidence; it is not a negative finding and not a conflict between two records.
- Reading a semantic recall result as a permission filter. The input is a returned passage. The comparison is whether the subject of that passage matches the subject of the current dispute. A passage belonging to a different subject is excluded and the exclusion is recorded; retrieval by itself grants no access right.
How to verify the setup
- Input the hypothetical source material above together with the drafted sentence "The available material confirms that the goods do not match the description, and the refund-only request is approved." Compare the conclusion of the drafted sentence against the recorded fact that no unboxing photograph was provided and no inspection record appears. The condition is satisfied only if the material contains inspection or photographic evidence supporting that conclusion. In this sample it is unsupported.
- Input the hypothetical
AIPROXY_API_ENDPOINTvalue and the hypotheticalAIPROXY_API_TOKENvalue. Compare whether the endpoint carries/v1and whether the token is non-empty. When both match the documented requirement, the connection settings pass this check; when either fails, the gap is recorded and startup validation is expected to fail. - Input the explicit paper empty result
[]together with the downstream answer design. Compare whether the downstream answer gives a clear notice when no reference is present. A notice appearing satisfies the empty-result handling design; a notice not appearing is recorded as a gap, and no claim is made about what a retrieval rule would return.
Across all three checks the pending review state, the missing unboxing photograph and the missing inspection record remain missing evidence. None of these checks has been run against a live system, and no approval, refund, appeal or write-back is asserted.