Franchisee onboarding: model connections for copy drafting

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

What the documents look like

Franchisee training and opening coaching is a transfer of operating capability, distinct from the legal disclosure work of franchise registration. The daily materials are training sign-in sheets, opening checklists, SOP manuals, and assessment scores, drawn from the training system, supervisor app, store photos, and the headquarters SOP library. Copy drafting for products and marketing must cite these materials, and any promotional sentence must correspond to a fact that appears in the source text.

This page addresses model connection and configuration only: connecting a model channel so that the drafting step can call a language model to produce copy drafts. Whether a specific promotional sentence is supported by the materials belongs to a separate copy review task and is not developed here.

Constraints at the model connections step

Model connection depends on AI Proxy. The App and Admin services must each set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; missing either item causes startup validation to fail. Legacy OpenAI environment variables or a single-model custom request address cannot replace these two settings. AIPROXY_API_ENDPOINT takes the service root address without an appended /v1. The system requires at least one language model and one index model to operate normally, and only one speech recognition model takes effect.

Model channels are created on the administrator model provider page by filling in channel name, protocol type, model, model mapping, proxy address, and API key. The proxy address takes a BaseUrl, with attention to whether /v1 must be added. After a channel is created, a model test can run and outputs each model's test result and request duration.

Hypothetical drill sample: a chain brand training department is preparing a product introduction for opening coaching. The source text available for checking consists of three sentences. First, the training sign-in sheet states that on 10 March 2026 the franchisee of a given store completed sign-in for the cashiering and inventory course. Second, the opening checklist states that on 12 March 2026 the store's opening materials inspection passed. Third, the SOP manual states that cashiering actions follow Chapter 3. A draft sentence awaiting judgment reads: "The store has completed all opening coaching and passed the assessment." The materials do not state assessment scores, so the phrase "passed the assessment" in the draft has no corresponding evidence.

Configuration and implementation checks

The table below lists, around the sample above, the officially documented settings or implementation checks relevant to this feature and this task. Where a value is needed, it is a hypothetical starting value for this exercise, with the reason for choosing it and the comparison object stated.

Configuration itemHypothetical starting valueNote and checking method
AIPROXY_API_ENDPOINTAssume http://aiproxy:3000Official requirement is the root address without /v1. Check whether the value ends with /v1.
AIPROXY_API_TOKENAssume a non-empty value matching the serverOfficial requirement is non-empty and matching the server. Check whether it is empty and whether an application API key was used by mistake.
Language modelAssume one language model is enabledOfficial requirement is at least one language model. Check whether the model status is enabled.
Index modelAssume one index model is enabledOfficial requirement is at least one index model. Check whether the model status is enabled.
Channel proxy addressAssume the vendor BaseUrl is enteredOfficial requirement is a BaseUrl, with attention to whether /v1 is needed. Check whether a full request address was entered by mistake.
Model mappingAssume gpt-4o-test maps to gpt-4oOfficial example: FastGPT requests gpt-4o-test, and AI Proxy sends gpt-4o upstream. Check whether the mapping key and value correspond.

Three common errors

  1. Entering AIPROXY_API_ENDPOINT as a full request address ending in /v1. The input is the environment variable value; the comparison object is the official requirement of a root address without /v1; the observable result is that the value ends with /v1.
  2. Using an application API key as AIPROXY_API_TOKEN. The input is the token value; the comparison object is the official requirement of an administrator token matching the server; the observable result is that the value does not match the server administrator token.
  3. Entering a full model request address in the channel proxy address field. The input is the channel proxy address field; the comparison object is the official requirement to enter a BaseUrl; the observable result is that the field contains a specific endpoint path.

How to verify the setup

  1. For the sample draft sentence "The store has completed all opening coaching and passed the assessment," the input is the three source sentences and the draft sentence; the comparison object is whether the materials state assessment scores; the observable result is that no assessment score field appears in the materials, so the sentence is not supported. This is an expected outcome for the paper exercise, not a completed test.
  2. For the hypothetical AIPROXY_API_ENDPOINT value http://aiproxy:3000, the input is that value; the comparison object is the official root address requirement; the observable result is that it does not end with /v1, so the condition is met. This is an expected outcome for the paper exercise, not a completed test.
  3. For the hypothetical model mapping key and value gpt-4o-test to gpt-4o, the input is the mapping configuration; the comparison object is the official example; the observable result is that the request model and the upstream model correspond respectively, so the condition is met. If the mapping key and value do not correspond, record it as pending verification rather than judging the channel as failed. This is an expected outcome for the paper exercise, not a completed test.