Pinduoduo seller campaigns: model connections for copy drafting

Review model connections for copy drafting in Pinduoduo seller campaigns. Check document scope, failure paths and source evidence through controlled tests.

What the documents look like

Copy drafting for low-price campaign shops on Pinduoduo draws on four document types: campaign registration forms, product cost calculation sheets, after-sales refund records, and platform in-app messages. Source data arrives from the merchant backend, ERP inventory, and logistics delivery confirmation. Records update daily or per campaign.

The material that matters here is narrow. A campaign registration form states the campaign window, the participating product, the campaign price, and the campaign inventory quantity. A cost calculation sheet states cost inputs. A refund record states an after-sales outcome. A platform message states a platform notice. Each drafted sentence must trace back to a field that one of these documents actually carries. Where a field is absent, the draft has no basis, and the correct outcome is a recorded evidence gap.

For this page, the task is product and marketing copy drafting at the model connection and configuration step. The documents above supply the wording that a draft may reuse and the boundary that a draft may not cross. Configuration decides whether the drafting request can be issued at all, and whether the retrieval step that supports it is available. Copy correctness and connection correctness are separate checks with separate evidence.

Constraints at the model connections step

Model access depends on AI Proxy. From V4.17.0, AI Proxy is a required dependency. The App service and any 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. Older OpenAI environment variables or a single-model custom request address cannot substitute for these two settings. The endpoint is a service root address and must not carry /v1.

The system needs at least one language model and one index model to function. Model ID and model display name are separate: the model ID is the value of the model field in the request body and is globally unique, while the model name is for display and can be customized. Model mapping lets a FastGPT-side request model resolve to a different upstream model. The documented example maps gpt-4o-test to gpt-4o. Channel priority ranges from 1 to 100, and a larger value is more likely to be selected first. Model call logs are documented as retained for 1 hour, configurable through an environment variable.

A hypothetical paper exercise sample follows. The material text is: "The registration window for this campaign runs from 1 March 2026 to 3 March 2026. The campaign product is storage box model A, the campaign price is 9.9 yuan, and the campaign inventory is 500 units. After-sales refunds follow platform rules." The draft sentence to be assessed is: "This product's campaign price is 9.9 yuan, the campaign inventory is 500 units, and the original price resumes after the campaign ends." The material does not state an original price or any post-campaign price arrangement, so the draft sentence exceeds what the material supports.

Configuration and implementation checks

The table below lists documented settings and implementation checks tied to model connection and copy review for this page's drafting task.

Configuration itemHypothetical trial starting valueReason and comparison method
AIPROXY_API_ENDPOINTAssume http://aiproxy:3000The document requires a service root address without /v1. Compare against a value carrying /v1 and check the root address format. Startup and invocation remain untested.
AIPROXY_API_TOKENAssume a non-empty administrator token matching the server sideThe document requires a non-empty token matching the server side. Compare against an empty value or an application API key and confirm the startup validation result.
Language modelAssume one enabled language model that has passed its testThe document requires at least one language model. Compare against a disabled state and confirm that a drafting request can be issued.
Index modelAssume one enabled index model that has passed its testThe document requires at least one index model. Compare against a disabled state and confirm the retrieval step is available.
Model mappingAssume gpt-4o-test mapped to gpt-4oThe documented example shows the request model and the upstream model can differ. Compare against no mapping and check the model field in the upstream log.
Channel priorityAssume 50The document states a range of 1 to 100, with larger values more likely to be selected. Compare against another channel's priority value and record the actual routing. A larger value is only more likely to be selected.

Three common errors

  1. Writing a price commitment that the material does not carry. In the sample, the material states only the campaign price of 9.9 yuan and the campaign inventory of 500 units, while the draft adds "the original price resumes after the campaign ends." The material states no original price and no post-campaign price arrangement, so the sentence is unsupported. The check takes the material text and the draft sentence as input, compares whether the draft cites only fields the material carries, and records a failure when a price arrangement absent from the material appears.
  2. Entering AIPROXY_API_ENDPOINT as a full request address carrying /v1. The document requires a service root address without /v1. The check takes the entered address as input, compares it against the documented requirement, and records a failure when the address ends with /v1 or /chat/completions.
  3. Treating model call logs as a long-term searchable record. The document states call logs are retained for 1 hour, configurable through an environment variable. The check takes the intended lookup time range as input, compares it against the retention duration, and records that an out-of-range entry is not retrievable. That absence cannot support a conclusion about whether the model was available at that time.

How to verify the setup

  1. For the hypothetical sample material and draft sentence, take the material text and the draft sentence as input, and compare whether the price, inventory, and campaign window in the draft each correspond to a field in the material. When the draft contains a price arrangement the material does not state, record the sentence as unsupported. When every field corresponds, record it as supported by the material. The expected result is that "the original price resumes after the campaign ends" is identified as lacking a material basis. No test is claimed to have been run.
  2. For AIPROXY_API_ENDPOINT and AIPROXY_API_TOKEN, take the two entered values as input, and compare whether the endpoint is a service root address without /v1 and whether the token is non-empty and matches the server side. When either item fails, record a configuration gap. When both pass, record only that the two configuration conditions are met. The expected result is confirmation that the two settings satisfy the documented requirements. No service startup is claimed.
  3. For model mapping and channel priority, take the FastGPT-side request model gpt-4o-test and the mapping configuration as input, and compare whether the model field in the upstream request log is gpt-4o. Take two channels' priority values as input, compare the priority settings, and record the actual routing without guaranteeing a single selection order. When the log field does not match the mapping, record the mapping as not taking effect. When it matches, record the mapping as executing per configuration. The expected result is a review of the mapping and priority settings. No upstream model invocation is claimed.