What the documents look like
Copy drafting for a Tmall flagship store draws on four document families: the product publishing page, the brand authorization letter, the delivery commitment record, and after-sales work orders. The brand authorization letter determines which brand words and flagship-store identity statements may appear in drafted copy. The delivery commitment record sets the boundary for time-related statements. After-sales work orders show which statements have already produced disputes. These materials update daily and per order, but the model connection and configuration step concerns whether materials can be correctly referenced before they reach the model, and whether drafted output stays inside the range the materials support.
A brand authorization letter typically carries a subject (the store), an object (the brand), and a validity period. A delivery commitment record carries a promised handling time. A drafted sentence that adds qualifiers absent from those documents sits outside the supported range, regardless of how the model connection is configured. The connection step therefore matters because a correctly connected model can still produce unsupported phrasing if the drafting request does not constrain it to the supplied sources.
Constraints at the model connections step
Copy drafting requires a model with language generation capability. Reading product main images or scanned authorization letters requires image input support. The system needs at least one language model and one index model to operate normally. Models connect through AI Proxy. App and Admin must both set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; missing either causes startup validation to fail. Legacy OpenAI environment variables or a single-model custom request address cannot substitute for these two settings.
The model ID is globally unique and is the value of the model field in request bodies. The model name is for display and can be customized. Model mapping translates the model FastGPT requests into the model actually sent upstream. For example, a mapping of gpt-4o-test to gpt-4o means FastGPT requests gpt-4o-test, and AI Proxy sends gpt-4o upstream. Model probing covers only currently enabled system models. A probe retries at most three times after a first failure, so a single round makes at most four attempts; only four failed attempts produce an abnormal verdict.
Hypothetical exercise sample: the source material reads "This store is the XX brand Tmall flagship store, authorization valid from January 1, 2026 to December 31, 2026" and "the page promises shipment within 48 hours after payment." The drafted sentence under review is "This store is the XX brand official flagship store, shipping every day of the year without interruption." The subject under review is the store, the objects are brand authorization and delivery commitment, and the effective range is the 2026 year. The words "official" and "every day of the year without interruption" do not appear in the source material and are unsupported.
Configuration and implementation checks
| Configuration item | Hypothetical starting value for this exercise | Reason and comparison object |
|---|---|---|
| AIPROXYAPIENDPOINT | The AI Proxy root address, with no /v1 appended | Matches the documented requirement; compare whether a path was wrongly added |
| AIPROXYAPITOKEN | A non-empty token consistent with the server side | Matches the documented requirement; compare whether an application API key was used instead |
| Language model | One enabled model supporting text generation | Compare against the documented minimum requirement |
| Index model | One enabled index model | Compare against the documented minimum requirement |
| Model mapping | Map the drafting model ID to the upstream model | Compare the model field before and after mapping |
| Model probing | Automatic probing enabled, interval set to an integer between 5 and 60 minutes | Compare against the documented permitted range |
The starting values above are exercise inputs, not official defaults. Each is chosen so that a comparison against the documented condition is possible. The AIPROXY_API_ENDPOINT value must be a root address; appending /v1 or a full request path is the comparison failure to look for. The AIPROXY_API_TOKEN must be the AI Proxy administrator token; substituting an application API key is the comparison failure to look for.
Three common errors
- Setting
AIPROXY_API_ENDPOINTto a full request address with/v1appended. Input: the address string with a path. Comparison: the documented requirement for a root address without/v1. Observable result: whether startup validation passes. - Using an application API key in place of
AIPROXY_API_TOKEN. Input: the application-side key. Comparison: the AI Proxy administrator token required by the document. Observable result: whether the call is rejected. - Treating "official" and "every day of the year without interruption" in the drafted sentence as supported by the materials. Input: the drafted sentence together with the authorization letter and delivery commitment record. Comparison: the source text of those documents. Observable result: whether those words appear in the source text.
How to verify the setup
- Input the authorization letter text from the hypothetical sample and the drafted sentence. Compare whether the word "official" appears in the authorization letter text. If it does not appear, the statement is unsupported. This is an expected outcome for the exercise, not a completed test.
- Input the delivery commitment record text and the drafted sentence. Compare whether "every day of the year without interruption" appears in the record. If it does not appear, the statement is unsupported. This is likewise an expected outcome, not an observed result.
- Input the model mapping configuration and the
modelfield in the request log. Compare the value before and after mapping. If the values differ, record the item as pending verification and do not infer upstream behavior. A pending request is not approval, and an offered option is not execution.
Each verification question above carries its own hypothetical evidential context. Where a field is not provided in the source documents, the value remains unknown. The relevance of a retrieved passage does not establish authorization or entity isolation, and retrieval is not authorization. An empty reference result can be checked downstream against a clearly specified paper input, but no fictional rule should be claimed to return an empty result. Where two documents use different vector models, their identifiers should be checked and non-matching items excluded; no cross-model retrieval comparison should be run to measure missed recall. The optional paths in the overall document flow diagram do not all execute on every request: image retrieval requires a corresponding image input and model capability, and reranking requires a model enabled by configuration.