What the documents look like
Cross-border independent-site payment risk work revolves around card-network disputes and receiving accounts. The daily material set includes payment chargeback notices, fraudulent order lists, invoices, and carrier proof-of-delivery records. These arrive from Stripe or PayPal back offices, Shopify orders, carrier delivery confirmations, and customer-service email. The same dispute may carry a cardholder name in one language, an order number in another format, and a currency field labelled differently across two documents. Retrieval therefore has to align by subject, object, and period rather than by surface wording.
Two industry facts shape this page. First, the material is multilingual and multi-currency, so an index model and a language model both matter for a retrieval entry point. Second, the update rhythm is daily and per-order, which means the configuration only needs to let the retrieval entry point read the current day's material. This page does not describe batch synchronization, transaction-triggered jobs, or any hidden scheduled mechanism.
Constraints at the model connections step
Model connections depend on AI Proxy. The App and Admin services must each set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN. Missing either one causes startup validation to fail. Legacy OpenAI environment variables cannot replace these two settings. The endpoint value is the AI Proxy service root address, and the documented example is http://aiproxy:3000, with no /v1 suffix and no /chat/completions path.
A model ID is globally unique. Model mapping translates the name FastGPT requests into the name sent upstream. The documented example maps gpt-4o-test to gpt-4o. The system requires at least one language model and one index model to operate. Semantic recall and relevance scores do not carry permission or entity-isolation duties. A retrieved chargeback notice is not an authorization to view or submit that record.
Hypothetical drill sample, clearly labelled as invented for this page: a payment chargeback notice dated 12 March 2026, subject being an independent-site merchant, object being a cardholder chargeback for order A-1042, status recorded as "accepted, awaiting evidence," valid scope 12 March 2026 to 26 March 2026. A second document, an invoice for the same order, is dated 28 February 2026 with complete amount and currency fields. The draft sentence under review reads: "This order's chargeback is closed; no proof of delivery needs to be submitted." The source text records only "accepted, awaiting evidence" and contains no wording about closure or an expired evidence deadline.
Configuration and implementation checks
The table below ties each row to the sample above. Every numeric value is a hypothetical starting point for this drill, chosen for a stated reason, and must be compared against the documented value or condition before use. None of these values is an official default unless the document states one.
| Configuration item | Hypothetical starting value | Reason and comparison method |
|---|---|---|
AIPROXY_API_ENDPOINT | Assume http://aiproxy:3000 | Documented requirement is the service root address without /v1; compare character by character with the documented example format |
AIPROXY_API_TOKEN | Assume a non-empty admin token | Documented requirement is non-empty and consistent with the server side; compare against the AI Proxy configuration |
| Index model | Assume one multilingual index model is enabled | Documented requirement is at least one index model; check its enabled state separately from the language model |
| Model mapping | Assume gpt-4o-test maps to gpt-4o | Documented example format; compare the requested name with the upstream actual model name |
HNSW_EF_SEARCH | Assume starting point 100 | Documented default value, effective only for PG, OceanBase, and openGauss; compare against the vector store type in use |
MILVUS_LANGUAGE_IDENTIFIER | Assume starting point lingua | Documented default value; full-text search uses BM25 only when the vector store is Milvus; compare against the vector store type |
Three common errors
- Writing
AIPROXY_API_ENDPOINTas a full request address with/v1or/chat/completions. The document requires the root address. An appended path causes connection validation and calls to fail. - Treating a semantic recall relevance score as a permission or entity-isolation control. A retrieved chargeback notice does not mean the record is authorized for viewing or external submission. Authorization state must be checked separately.
- Reading "accepted, awaiting evidence" as a closed chargeback. The sample source records only acceptance and pending evidence, with no closure or expired-deadline wording. The draft sentence's closure conclusion is unsupported.
How to verify the setup
- Input the sample source text and the draft sentence. Compare the draft's "closed" against the source's "accepted, awaiting evidence." When the source contains no closure wording, record the conclusion as unsupported and note the evidence gap. Do not supply authorization or effective clauses that the source lacks.
- Input the hypothetical
AIPROXY_API_ENDPOINTvalue and the documented examplehttp://aiproxy:3000. Compare whether an appended path such as/v1is present. If an appended path is present, record it as not meeting the documented requirement. If it is in root-address form, record it as pending joint confirmation with the AI Proxy side, without claiming an actual test was run. - Input the enabled states of the index model and the language model. Compare whether both have an enabled entry. If either is empty, record it as not meeting the system minimum. If both exist, record only the enabled state, without inferring that retrieval will hit or that an unrelated query will return empty. For the empty-result downstream design, a clearly labelled paper input of
[]can be used for comparison; do not claim that a fictional rule's retrieval necessarily returns[].
Across these checks, a pending request is not an approval, an offered option is not an execution, and an unsigned termination is not a completed termination. Where a document field is not provided, it remains unknown.