What the documents look like
Franchise filing management works with legal disclosure records and the commerce department filing system. It does not handle site engineering for a specific premises. The material set for this page covers the franchise contract, the operations manual, filing submissions, and information disclosure documents, drawn from business licences, store lists, and contract ledgers. Updates are irregular or annual.
For product material and selection questions, each document must be checked for its own subject, period, and field. A filing completion state cannot be replaced by a contract review state. The documents arrive as separate records with separate status fields, and the model connection step determines whether those records can be retrieved and compared at all.
Constraints at the model connections step
From V4.17.0, AI Proxy is a required dependency. Both the App and any Admin service that reuses App/Service configuration must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN. Missing either one causes startup validation to fail. Legacy OpenAI environment variables or a single-model custom request address do not substitute for these two settings. The system needs at least one language model and one index model to operate.
A model ID is the value of the model field in the request body and is globally unique. A model name is for display and can be customised. A model channel corresponds to a provider protocol. Model mapping maps the model FastGPT requests to the model actually provided. For example, the FastGPT model is gpt-4o-test, the request to AI Proxy is also gpt-4o-test, and AI Proxy sends gpt-4o upstream.
The index model's defaultToken sets the default split token and maxToken sets the maximum token. A language model's context, output, image, and tool capabilities must be checked against actual upstream support; a field example does not substitute for capability evidence. Automatic probing covers only enabled system models, retries up to 3 times after a first failure for at most 4 attempts per round, and counts one success as valid.
Hypothetical paper sample: a franchisor headquarters legal team reviews a filing submission in March 2026. The source text reads: "Party A holds the trademark corresponding to internal drill code TM-F (not a real registration number), the licence term runs from 1 January 2024 to 31 December 2027, and the licensed region is East China." A separate contract ledger records that the store's contract was signed on 10 February 2026 with contract status pending review. The proposed sentence is: "This store has completed filing, and the licence term covers the contract signing date." The question is whether the proposed sentence is supported by the source text.
Configuration and implementation checks
| Configuration item | Hypothetical trial starting value | Reason and comparison object |
|---|---|---|
AIPROXY_API_ENDPOINT | http://aiproxy:3000 | Documentation requires the service root address without /v1; compare against the actual AI Proxy listening address |
AIPROXY_API_TOKEN | A non-empty token assumed to match the server | Documentation requires non-empty and matching the server; compare against the AI Proxy server configuration value |
Language model maxContext | Fill according to the selected model's actual supported limit | 125000 is a documentation field example, not confirmed for the selected model; also measure material token volume |
Index model defaultToken | 512 is a documentation field example, used only as a check starting point | Compare against the selected index model configuration and actual chunking before use |
| Model status probe interval | Assumed set to 30 minutes | Documentation supports integers from 5 to 60 minutes; compare against operational tolerance for alert delay |
| Alert webhook address | An assumed HTTP callback address | Documentation supports HTTP/HTTPS; compare against the actual alert-receiving server address |
Three common errors
- Entering
AIPROXY_API_ENDPOINTas a full model request address with/v1or/chat/completionsappended. Documentation requires the service root address without these paths. Check: inspect whether the input string ends with/v1or/chat/completions; if it does, the documentation requirement is not met. - Treating the display name as the model ID. First check the FastGPT request identifier, then check the upstream target against the configured mapping. A valid mapping may use different names, so two different values alone do not show the mapping was not established.
- Inferring filing status from a contract pending review. The source gives a contract review stage and holds no filing completion record. Filing and contract review are different fields, so a filing claim remains unverified. This does not support the opposite conclusion that filing is incomplete.
How to verify the setup
- Input the filing excerpt, the contract ledger, and the proposed sentence. List contract review, trademark licence, and filing completion as three separate items. The first two have source text; filing completion has no record, so related claims remain unverified. Do not treat different fields as mutually exclusive.
- Input the licence term "1 January 2024 to 31 December 2027" and the contract signing date "10 February 2026" from the hypothetical sample. Compare whether both dates fall within the same time range. If the signing date falls inside the licence term, the date coverage relation holds. Expected result: date coverage is confirmable, while filing completion status still requires separate verification.
- Input an empty reference list
[]as the retrieval result. Check whether downstream records that no material was recalled this time and preserves the evidence gap. An empty reference cannot support a business conclusion. Expected result: downstream output clearly marks no matching material and does not generate a definitive conclusion. If retrieval returns non-empty results, check each record's subject, period, and field against the question; records that do not match are non-conforming items.