Marketplace advertising: model connections for product questions

Review model connections for product questions in Marketplace advertising. Check sources, input boundaries, error handling and repeatable test evidence.

What the documents look like

Platform advertising and on-site traffic work runs on a small set of operating documents. A delivery plan states which campaigns are live, their budgets and their targeting. A keyword report records spend, conversions and return on investment by plan and by day. Audience package descriptions define which user groups a plan addresses. A conversion attribution table links orders back to the traffic source that produced them. Data sources named in the brief include Juliang Qianchuan, JD Kuaiche, Alimama and store transaction data, with refresh at daily or hourly intervals.

Two features of this category shape the model connection task. First, pricing moves with traffic and conversion in near real time, so the review step that governs a platform promotion campaign is thinner here. An incorrect model connection therefore shows up as wasted ad spend and distorted return figures rather than as a rejected submission. Second, the question-answering task this page covers is product material and selection questions, meaning the system must read the delivery plan, keyword report, audience package description and attribution table and answer questions about them. The model connection and configuration work described below serves that reading and answering task only. It does not create business functions that the documents do not support.

Constraints at the model connections step

In FastGPT v4.17.2, AI Proxy is a required dependency. Both the App service and the Admin service must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN. Missing either one causes startup validation to fail. Legacy OpenAI environment variables and single-model custom request addresses cannot substitute for these two settings.

Within a model channel, the proxy address field takes a BaseUrl, not a complete model request address. The model ID is the value of the model field in the request body and is globally unique. 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, AI Proxy receives gpt-4o-test, and the upstream provider receives gpt-4o.

Model status probing applies only to system models that are currently enabled. Disabled models are not probed and produce no history. After a first probe failure the system retries up to three more times, so a single round makes at most four attempts. One success in that round is enough to treat the model as valid; only four failed attempts mark it abnormal. A successful probe with latency at or below 30 seconds is normal, a successful probe above 30 seconds is high latency, and four consecutive errors are abnormal.

Retrieval and relevance scores do not perform permission or entity isolation. A similarity score is not a filter for unauthorized records or unrelated businesses. Retrieval is not authorization. Datasets built on different vector models cannot be associated together. Full-text retrieval behavior depends on the vector store: Milvus uses BM25 through the modeldata_v2 single table, while other vector stores use MongoDB $text.

Configuration and implementation checks

The table below lists documented settings and implementation checks tied to this page's sample. Values shown as starting points are hypothetical choices for this paper exercise, with the reason for the choice and the comparison method stated.

ItemSetting or checkRelation to this page's sample
AIPROXY_API_ENDPOINTAI Proxy service root address, no /v1 appendedThe sample question request is forwarded through AI Proxy to the model
AIPROXY_API_TOKENNon-empty administrator token matching the server configurationAn application API key does not replace this value
Channel proxy addressA BaseUrl, not a complete model request addressThe keyword report questions depend on this channel
Model ID and model mappingModel ID is globally unique; mapping translates the FastGPT request into the upstream modelThe model field in the sample request must match the configuration
Model status probingEnabled models only; up to three retries after first failure; four failed attempts mark abnormalChannel availability checks for the sample reference probe status
Vector store full-text retrievalMilvus uses BM25; other vector stores use MongoDB $textThe product material retrieval path depends on the vector store type

Hypothetical paper exercise sample: On 12 October 2026 a delivery specialist hands over a keyword report. The report text reads: "Plan A spent 3,200 yuan on 11 October, produced 48 orders, return on investment 2.1. Plan B spent 1,800 yuan on the same day, produced 12 orders, return on investment 0.9." The draft sentence awaiting review is: "Plan B has a lower return on investment than Plan A, so pausing Plan B is recommended." This request is pending review. No delivery supervisor approval has been granted, and no pause has been executed.

A hypothetical starting value for the probe interval in this paper exercise is 30 minutes, chosen because the brief describes data refresh at daily or hourly intervals and a 30-minute probe cycle sits inside that range. This is a hypothetical starting point for the exercise, not an official default. The comparison method is to read the configured interval value and check whether it is an integer between 5 and 60 minutes as documented.

Three common errors

  1. Setting AIPROXY_API_ENDPOINT to a complete request address that includes /v1 or /chat/completions. The input is the environment variable value. The comparison is against the documented requirement of a service root address with no /v1 appended. A value containing /v1 does not meet the requirement.
  2. Treating a single probe failure as an abnormal model status. The input is the probe configuration and the probe result record. The comparison is against the documented retry behavior of up to three retries after the first failure, with four failed attempts required to mark a model abnormal. Marking a model abnormal after one failure does not meet the requirement.
  3. Treating a retrieval relevance score as a permission or entity filter. The input is the retrieval request and the returned results. The comparison is against the documented statement that retrieval and relevance do not perform permission or entity isolation. Excluding unauthorized records on the basis of a similarity score does not meet the requirement.

How to verify the setup

  1. Check whether AIPROXY_API_ENDPOINT and AIPROXY_API_TOKEN are both set and non-empty. The input is the environment variable configuration. The comparison is against the documented requirement that both are mandatory and that missing either one fails startup validation. The condition is satisfied when both are present and the token is non-empty. If either is absent, startup validation failure is the expected outcome and the missing value remains unknown until supplied.
  2. Check whether the channel proxy address is a BaseUrl without a complete request path. The input is the proxy address field in the channel configuration. The comparison is against the documented instruction to enter a BaseUrl and to consider whether /v1 is needed. The condition is satisfied when the address takes a root address form.
  3. Check whether the draft sentence "Plan B has a lower return on investment than Plan A" matches the report text. The input is the draft sentence and the report text. The comparison is against the report values of 0.9 for Plan B and 2.1 for Plan A. The numeric comparison holds when 0.9 is less than 2.1. The clause "pausing Plan B is recommended" is a business recommendation, not a completed action. The request is pending review, so it does not constitute an approved or executed pause. Whether the pause should occur remains undetermined by the supplied materials.

For the retrieval path, a paper exercise can supply an explicit empty input of [] and check how the downstream design handles an empty result. This does not establish that any particular retrieval rule returns an empty list. Where the vector store type is not yet confirmed, the retrieval path remains unknown and should be recorded as a gap rather than assumed. Cross-model dataset association should be checked by first verifying the model identifier and excluding non-matching datasets; no cross-model retrieval should be run to compare recall.