What the documents look like
Convenience-store fresh food is ordered by the store at short shelf-life and high frequency, and it is not handled as a concession-counter revenue share. Each day or each shift produces an order sheet, a loss report, a near-expiry handling sheet, and a temperature record. In a cross-border setting the same batch of material may exist in Chinese, Japanese, and English versions at the same time, and a store manager or regional supervisor needs retrieval to locate the matching document. The material updates daily or per shift, so retrieval configuration has to match that rhythm. The documents that matter most for this page are the fresh-food order sheet, the loss report, the near-expiry handling sheet, and the temperature record.
Constraints at the model connections step
Model connections depend on AI Proxy. From V4.17.0, AI Proxy is a required dependency. App and Admin must both set AIPROXY_API_ENDPOINT and a non-empty AIPROXY_API_TOKEN; a missing item causes startup validation to fail. The endpoint holds the service root address and does not carry /v1. 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 indexing model to work normally. Only one speech recognition model takes effect, so only one needs to be configured. A retrieval dataset can be associated together only when the query uses the same vector model; datasets built on different vector models cannot be associated together, and the identifier is checked first so that non-matching datasets are excluded. A relevance score does not carry permission or entity isolation, and retrieval does not constitute authorization.
Hypothetical paper exercise sample: a convenience-store regional supervisor receives a Japanese order sheet. The supplied source text, translated into English, reads "October 8, 2026; Bento A; order quantity: 40 units; delivery deadline: the morning of October 9, 2026". The same batch contains a Chinese loss report. Its supplied source text, translated into English, reads "October 8, 2026; Bento A; loss quantity: 3 units; reason: near expiry". The proposed sentence for review is "On October 8, Bento A was ordered in full for 40 units and delivery was completed". The question is whether that proposed sentence is consistent with the two source texts.
Exact reproducible test inputs are the three JSON string literals below. Decode each literal once with a JSON parser. The decoded original-language text is the test input; the English translations above are explanatory glosses. These are hypothetical input fixtures, not product configuration fields.
Japanese order sheet (exact original string):
"2026\u5e7410\u67088\u65e5 \u4fbf\u5f53A \u767a\u6ce8\u6570 40\u500b \u7d0d\u54c1\u671f\u9650 2026\u5e7410\u67089\u65e5 \u5348\u524d"
Chinese loss report (exact original string):
"2026\u5e7410\u67088\u65e5 \u4fbf\u5f53A \u62a5\u635f 3\u4efd \u539f\u56e0\uff1a\u4e34\u671f"
Chinese proposed sentence (exact original string):
"\u4fbf\u5f53A\u572810\u67088\u65e5\u5df2\u630940\u4efd\u5168\u90e8\u8ba2\u8d27\u5e76\u5b8c\u6210\u4ea4\u4ed8"
Configuration and implementation checks
| Configuration item | Hypothetical starting point for this exercise | Reason for the choice and the comparison object |
|---|---|---|
AIPROXY_API_ENDPOINT | http://aiproxy:3000 | Official example form without /v1; compared against an address that contains a path |
AIPROXY_API_TOKEN | A non-empty administrator token | The official requirement is non-empty; compared against an application API key, which is not interchangeable |
Indexing model defaultToken | 512 | Official field example value; compared against the length of the Japanese short sentence to be retrieved |
Indexing model maxToken | 3000 | Official field example value; compared against the length of a document paragraph |
| Vector model identifier of the retrieval dataset | The same identifier as the query | The official requirement is that only the same model can be associated together; compared against the identifier of another dataset |
MILVUS_LANGUAGE_IDENTIFIER | lingua | Official default value; compared against whatlang, and it takes effect only for Milvus BM25 |
Three common errors
- Writing
AIPROXY_API_ENDPOINTas a full request address that contains/v1. Check: read the environment variable value and compare it word for word against the official statement that/v1is not appended; the presence of/v1is a mismatch. The input is the configured value, the comparison is the documented endpoint form, and the observable result is whether a path segment appears. - Using an application API key as
AIPROXY_API_TOKEN. Check: inspect the source field of the token and compare it against the administrator-token statement; a token whose source is the application side is a mismatch. The input is the token and its origin, the comparison is the documented administrator token, and the observable result is the stated origin. - Treating a relevance score as a permission filter. Check: inspect whether the retrieval configuration uses a score to exclude unauthorized records, and compare that against the statement that retrieval does not constitute authorization; such a setting is a mismatch. The input is the retrieval configuration, the comparison is the documented role of the score, and the observable result is whether a permission rule is present.
How to verify the setup
The following checks use the hypothetical sample above. All of them are paper comparisons and none of them has been executed.
- Decode the Japanese order sheet literal and the Chinese proposed-sentence literal above, then compare the original fields; use the English glosses only as explanations. The source states an order quantity of 40 and a delivery deadline of the morning of October 9, 2026. The proposed sentence says the order was placed in full for 40 and that delivery was completed. The comparison objects are the delivery deadline and completed delivery. The source gives only a deadline and does not state that delivery was completed, so that part of the proposed sentence is unsupported.
- Decode the Chinese loss report literal and compare it with the decoded proposed sentence. The source states a loss of 3 units. The proposed sentence does not mention loss. The comparison object is the loss field for the same subject and the same date, October 8, 2026. The proposed sentence omits that field, which is unsupported.
- Retrieval check: decode the Japanese order sheet JSON literal above and use that exact original string as the query input and observe whether the returned result contains that document. If the result is empty, check whether the downstream design accepts an explicit empty input
[]; do not infer that a fictional rule necessarily returns empty. If another language version is returned, check whether its vector model identifier matches the query, exclude the ones that do not match, and record the actual observation.