What the documents look like
Customer-service knowledge maintenance prepares reference material before questions reach an agent. It works on FAQ entries, reply templates, product parameter tables and escalation tickets, and it does not approve refunds. The copy-drafting task assembles product parameters, after-sales wording and template material into a quotable draft that a person checks before it enters the knowledge base. Sources are the customer-service system, product detail pages, after-sales issue statistics and quality spot checks; updates run on weekly or monthly cycles.
Two features of this material shape the model-connection step. First, the drafting evidence is scattered across several document types, so a language model writes the draft while an index model retrieves the supporting passages. The system needs at least one language model and one index model to work normally, and only one speech-recognition model takes effect. Second, a retrieval result reflects semantic closeness only. It does not enforce permissions or separate one product from another, so a draft is usable only when the retrieved material and the proposed sentence share the same subject, the same object and the same field.
A model ID is the value of the model field in the request body and is globally unique; the model name is for display. Channel protocol, model mapping and proxy address are configured in the model channel, where the proxy address is a BaseUrl and the question of whether to append /v1 must be checked. From V4.17.0, AI Proxy is a required dependency: AIPROXY_API_ENDPOINT holds the service root address without /v1 or /chat/completions, and AIPROXY_API_TOKEN must be non-empty and match the server. Model probing covers enabled models only, retries at most three times after a first failure, judges an error only when all attempts fail, and records a successful response above 30s as high latency.
Constraints at the model connections step
The following sample is a hypothetical paper exercise, not a real customer record and not an executed test.
Hypothetical exercise sample. the source material reads "This insulated bottle has a capacity of 500 milliliters, the material is 316 stainless steel, and the applicable temperature range is minus 20 degrees Celsius to 120 degrees Celsius." After-sales wording: "For leakage of the bottle body that is not caused by human damage, a replacement may be requested within 30 days of signing for delivery." Proposed draft sentence to be judged: "This insulated bottle uses a 316 stainless steel inner liner, has a capacity of 500 milliliters, can be used from minus 20 degrees Celsius to 120 degrees Celsius, and leakage within 30 days of signing can be replaced."
The sample concerns one bottle as the subject, with capacity, material, temperature range and after-sales period as the fields. The draft sentence keeps the capacity and temperature range, adds the word "inner liner" that the source does not state, and drops the qualifiers "not caused by human damage", "bottle body" and the request stage from the after-sales wording. The 30-day figure matches; that match alone does not support an unconditional replacement statement.
Configuration and implementation checks
The values below are starting points for this hypothetical exercise, chosen so they can be compared against the source material or a probe result. They are not official defaults.
| Configuration item | Hypothetical starting point | Check method |
|---|---|---|
AIPROXY_API_ENDPOINT | Hypothetical value http://aiproxy:3000 | Confirm the root address carries no /v1 or /chat/completions |
AIPROXY_API_TOKEN | Hypothetical non-empty value matching the server | Confirm it is non-empty and is not an application API key |
| Language model | Hypothetical single enabled model that passed a channel test | Observe the returned result and request duration in the model test |
| Index model | Hypothetical single enabled model that passed a channel test | Confirm it is a different model type from the language model and is enabled |
| Model mapping | Hypothetical mapping of gpt-4o-test to gpt-4o | Check whether the request identifier follows the configured mapping to the upstream target |
| Model probing | Hypothetical interval of 30 minutes | Compare against the documented 5 to 60 minute range and observe the status chart |
Three common errors
- Treating a display name as the model ID. Check the model the FastGPT request carries against the selected model ID, then check the upstream target against the configured mapping. A legitimate mapping may use a different name, so two differing values alone do not prove an error. A channel test result also does not by itself show which capability the draft used.
- Treating a retrieval result as a permission or entity boundary. A similarity score does not exclude unrelated business lines or unauthorized records. The visible failure is a draft that cites another product or another period's after-sales wording. Check method: take the proposed sentence and the retrieved material, compare subject, field and validity period, and record the sentence as unsupported when the subject or field differs.
- Filling a draft sentence with a field the material does not state. The sample source gives capacity, material, temperature range and the replacement period; it does not give heat-retention duration or a target user group. The visible failure is a promotional point that the source does not contain. Check method: compare the draft sentence with the source line by line, and record any field absent from the source as pending verification rather than as a contradiction.
How to verify the setup
- Take the full hypothetical source material and the proposed sentence, and check capacity 500 milliliters, material 316 stainless steel and the temperature range item by item. The source does not state that the material is used for an inner liner, so "316 stainless steel inner liner" in the draft remains pending verification. Keep the figures that are supported; the material name does not supply the part name.
- Take the full after-sales source, "For leakage of the bottle body that is not caused by human damage, a replacement may be requested within 30 days of signing for delivery", with the draft sentence "leakage within 30 days of signing can be replaced". The draft omits the not-caused-by-human-damage condition, the bottle-body location and the request stage, so those qualifiers must be restored. The matching period does not support an unconditional replacement statement.
- Take a paper input of an empty reference list
[]together with a downstream draft design, and check whether the design states that evidence is insufficient and keeps the pending items when no reference is returned. If the design does not describe that branch, record the gap. These steps are paper checks only; no deployment, model call or approval was performed.
The retrieval result does not grant authorization. Forms collect values, and business verification, approval, database writes and external synchronization require their own stated downstream implementation. Where a documented error code or an actual observation is absent, describe what to compare and leave the outcome unknown.