What the documents look like
Product compliance work takes place before listing and before import. The evidence base is product safety and label material, and the working documents are product test reports, English-language labels, MSDS files and platform prohibited-item lists. Sources include platform policy centers, testing laboratory reports, destination-country regulation libraries and supplier material. Updates are irregular, and each new product launch can produce a new version of a document.
For copy drafting, the practical requirement is that source material and proposed sentences sit inside one reviewable scope so that a reviewer can compare them sentence by sentence. The model connection and configuration step exists to make that comparison possible at the level of individual material items. This page addresses cross-border product compliance and labeling, the task of product and marketing copy drafting, and the feature of model connections and configuration. Whether a specific promotional sentence in product copy is supported by the material is a separate question from enterprise identity verification, and that separate question is not handled here.
Constraints at the model connections step
From V4.17.0 onward, 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 item causes startup validation to fail. Legacy OpenAI environment variables and single-model custom request addresses do not substitute for these two settings. AIPROXY_API_ENDPOINT holds the AI Proxy service root address, for example http://aiproxy:3000, without an appended /v1. AIPROXY_API_TOKEN must match the server-side configuration and must not be empty; an application API key is not a substitute.
Model channels are configured on the administrator model provider page. A model ID is the value of the model field in the interface request body and is globally unique. Model capabilities are checked against the input the application requires; multimodal input, tool calling and reasoning configuration are verified separately. Application parameters are set in the application or node configuration, and there is no basis for assuming that a same-named field on a compatible chat interface overrides orchestration.
Hypothetical exercise sample: the supplier material for a batch of skincare products reads, "This product has completed a skin irritation test, report number LAB-2024-0312, tested object is the finished formula, issue date 12 March 2024, conclusion: no irritation reaction observed." The proposed sentence is, "This product passed the skin irritation test and is suitable for sensitive skin." The question to decide is whether "suitable for sensitive skin" is supported by the above material. The material covers only the irritation test conclusion and does not address sensitive-skin suitability.
Configuration and implementation checks
| Configuration item | Hypothetical starting value for this exercise | Reason for the choice and comparison method |
|---|---|---|
AIPROXY_API_ENDPOINT | http://aiproxy:3000 | Documented example root address without /v1; compare character by character against the documented description |
AIPROXY_API_TOKEN | A non-empty administrator token | Documentation requires non-empty and server-consistent; compare against the AI Proxy server configuration |
| Model ID | Filled according to the channel model | Documentation states the model ID is globally unique; compare against the channel model list |
| Model capability | Checked against the input the copy task requires | Documentation requires separate verification of multimodal and tool calling; compare against task input |
| Application parameters | Set in the application or node configuration | Documentation states that a same-named field does not override orchestration; compare against node configuration |
| Model probe | Enabled as needed, interval an integer between 5 and 60 | Documentation gives that range; compare against the probe configuration page |
Three common errors
- Writing
AIPROXY_API_ENDPOINTas a full request address that includes/v1. The documentation requires the service root address, and an appended path leads to startup validation or call failure. The check is to read the environment variable value, compare it against the documented example format, and observe whether it ends at the root address. - Using an application API key in place of
AIPROXY_API_TOKEN. The documentation requires an administrator token that matches the server. The check is to compare the App-side and AI Proxy server-side token values and observe whether they are identical and non-empty. - Writing content the material does not address as though it were supported. In the hypothetical sample, the material covers only the irritation test, and the proposed sentence adds "suitable for sensitive skin." The check is to split the proposed sentence into assertions, compare each against the material text, and observe whether each assertion has corresponding source wording.
How to verify the setup
For the hypothetical sample, run the following comparisons item by item. No claim is made that testing has been performed.
- Input the material text "This product has completed a skin irritation test, report number LAB-2024-0312, tested object is the finished formula, issue date 12 March 2024, conclusion: no irritation reaction observed" and the proposed sentence "This product passed the skin irritation test and is suitable for sensitive skin." Compare subject, object, status and validity scope. The expected result is that "passed the skin irritation test" is supported by the material and "suitable for sensitive skin" is not supported, recorded as pending verification.
- Input the configured values of
AIPROXY_API_ENDPOINTandAIPROXY_API_TOKENand compare them against the documented description. The expected result is a root address without/v1and a token that is non-empty and matches the server. If either item does not match, record the configuration as not satisfied. - Input the model ID and model capability settings in the model channel and compare them against the input the copy task requires. The expected result is a model ID consistent with the channel model and separately checked image input or tool calling capability. If the model is not enabled or a capability is missing, record it as pending and do not infer a call result.
Retrieval checks observe the returned and failure branches only, and do not guarantee a first-item hit or full recall. An empty result can be checked against a clearly written paper input [] to verify downstream design. Libraries across different vector models cannot be associated together; verify the identifier first and exclude non-matching ones, and do not run cross-model retrieval to compare missed recall. A relevance score is not a category, entity or permission filter, and retrieval is not authorization.