What the documents look like
Knowledge-base maintenance handles pre-conversation reference material. FAQ entries, script templates, product parameter tables and escalation tickets form the main document set. In cross-border work these materials often exist in several language versions, and the same product parameter needs a consistent field definition across language entries. Updates move on a weekly or monthly rhythm, with new-product parameter synchronization and high-frequency question consolidation taking the most time. This step does not approve refunds directly. A mismatched answer can escalate complaints and cause customer-service training to fail.
Constraints at the model connections step
Before multilingual material enters retrieval, confirm the relationship between language identification and the index model. When Milvus is the vector store, full-text retrieval uses BM25 and the language identification engine is set by MILVUS_LANGUAGE_IDENTIFIER, which accepts lingua or whatlang. Other vector stores use MongoDB $text for full-text retrieval. Libraries built on different vector models cannot be associated together; first check the model identifier, exclude libraries that do not match, then record the retrieval result actually observed. A similarity score carries no permission or entity-isolation duty, and retrieval itself is not authorization.
Model connections depend on AI Proxy. From V4.17.0, both App and Admin services that reuse App/Service configuration must set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; missing either causes startup validation to fail. AIPROXY_API_ENDPOINT takes the service root address without /v1 appended. Legacy OpenAI environment variables or a single-model custom request address cannot replace these two settings. The system needs at least one language model and one index model to work normally.
Hypothetical paper exercise: a knowledge-base operator prepares a multilingual FAQ. The source text reads: "This batch product parameter table applies to Category A products listed from 1 March 2026 to 31 March 2026; parameter fields include material and dimensions; languages are Chinese and English." A proposed sentence reads: "This parameter table covers all products on sale." A handover request awaiting a decision reads: "Please connect the above parameter table to the index model and enable multilingual retrieval." The source text limits the time range, product category and field items; the proposed sentence widens the subject scope; the handover request does not state an authorization status.
Configuration and implementation checks
The settings below serve this page's primary task. The values are starting points for this hypothetical exercise, used to compare against other values of the same field, and are not official defaults.
| Configuration item | Hypothetical starting point | Reason and comparison object |
|---|---|---|
AIPROXY_API_ENDPOINT | AI Proxy root address | Compare against a form with /v1 appended; confirm no path is added |
AIPROXY_API_TOKEN | Non-empty administrator token | Compare against an application API key; confirm the application key is not used instead |
MILVUS_LANGUAGE_IDENTIFIER | lingua | Compare against whatlang; choose per the language-identification need of the multilingual material |
| Index model | One index model enabled | Compare against the not-enabled state; confirm the system has index capability |
| Language model | One language model enabled | Compare against the not-enabled state; confirm the system has conversation capability |
| Model status probe | 5-minute interval | Compare against 60 minutes; choose per the checking-frequency need |
Model mapping follows the configured upstream target. Availability probing and material authorization are separate checks; a successful probe does not show that the material has been authorized.
Three common errors
- Treating a similarity score as a permission filter. The input is one retrieval request; the comparison object is the permission ownership of returned records; the observable result is that score level has no corresponding relation to record authorization status. A score carries no entity-isolation duty, and retrieval is not authorization.
- Running a joint association across libraries on different vector models. The input is two knowledge bases with different model identifiers; the comparison object is their vector-model fields; the observable result is that the identifiers differ. Exclude the non-matching one and record the observation; do not infer an operating result after a joint association.
- Treating a handover request with no stated authorization as authorized for execution. The input is the request "Please connect the parameter table to the index model and enable multilingual retrieval"; the comparison object is the authorization-status field; the observable result is that the request states no approval. A pending review does not show that operating permission is absent, and it is not a basis for execution.
How to verify the setup
- Against the hypothetical source text, the input is "This batch product parameter table applies to Category A products listed from 1 March 2026 to 31 March 2026; parameter fields include material and dimensions; languages are Chinese and English." The comparison object is the subject scope in the proposed sentence "This parameter table covers all products on sale." The observable result is that the source text limits time, category and fields, while the proposed sentence widens coverage; the two take inconsistent values on the same field, and the proposed sentence is not supported by the source text.
- Against the handover request, the input is "Please connect the above parameter table to the index model and enable multilingual retrieval." The comparison object is the authorization-status record. The present request supplies no authorization record, so the authorization status remains to be checked; a missing record is not directly judged as pending review or as rejected. If execution is needed, an explicit authorization record must be added; when it is missing, record the evidence gap.
- Against the multilingual retrieval configuration, the input is an environment with an enabled index model and language model and
MILVUS_LANGUAGE_IDENTIFIERset tolingua. The comparison object is the index-model identifier against the vector-store model identifier. The observable result is that a joint association is permitted only when the identifiers match; when they differ, exclude that library and record the observation. For the empty-result case, the explicit paper input[]can check the downstream design; no claim is made that a fictional rule always returns[]for retrieval.