What the data for this category looks like
Duty-free yield-related data is primarily sourced from daily operating reports of offshore duty-free business operators, aggregated passenger clearance data from customs authorities, and supplier settlement data from brand partners. Data is aggregated and released for the prior day each early morning. Each daily report document is split by store or SKU, with each row representing one record. Fields include report date, store code, product code, supply cost, terminal selling price, exemption amount, and same-store daily yield, among others. No percentage units are used, and all monetary fields use Chinese Yuan as the unit.
Constraints for Multi-turn Dialogue and Prompt Engineering
First, data is aggregated by calendar day. Users must specify a clear report date during multi-turn dialogue, otherwise the corresponding dataset cannot be located. This prevents the model from using ambiguous dates or the latest available data, which would cause result deviations. Second, the dataset includes multi-dimensional operating and settlement information. Prompts must explicitly define filtering rules for returned fields to avoid the model returning redundant or irrelevant content. Third, data comes from multiple integrated sources. Field names may have minor variations across different data sources. Prompts must establish a unified field mapping logic to ensure consistent parsing. Fourth, each daily report has a moderate number of records. The number of recalled documents must be limited to prevent content truncation from exceeding the dialogue context window.
Configuration Settings
| Configuration Item | Recommended Value Range/Setting | Rationale |
|---|---|---|
maxContext | 8000–12000 characters | A single record from a duty-free daily report is approximately 1000 characters. This range can accommodate 8-12 historical dialogue turns and 3-5 recalled documents, which aligns with standard multi-turn dialogue length requirements |
recallTopK | Top 3 results | Duty-free data has clear dimensions and strong relevance. Retrieving 3 results covers core yield data for key stores or regions, while avoiding context overload |
similarityThreshold | 0.75–0.85 | Filters irrelevant historical daily report data, retaining content that precisely matches user queries. This range fits the field relevance characteristics of duty-free data |
PARSE_FILE_TIMEOUT_SECONDS | 300 seconds | A single duty-free daily report file may contain data for multiple stores and SKUs. This duration covers standard file parsing and vectorization workflows |
promptTemplate | Structured prompt that explicitly specifies report date, filtering dimensions, and returned fields. Example: "Please use the duty-free daily report data for {date} to return the yield information for {store}'s {sku} with the specified fields. Respond only using the provided knowledge base content" | Clearly defines the scope of model responses, reducing ambiguity and field confusion during multi-turn dialogue |
streamResponse | Enabled | Daily report data has a large volume. Streaming responses improves user waiting experience, and aligns with the trigger logic of AI response components in workflows |
The parameter values provided on this page are common starting points for configuration setup. Actual values are affected by material format, data volume, and business rules. Specific scenarios require individual analysis. It is recommended to test with your own samples before finalizing settings.
Three Common Configuration Errors
- Symptom: The knowledge base returns empty content during dialogue, while the full document is visible in the knowledge base page. Cause: The vector database was not re-synced after migrating the knowledge base, or the configured knowledge base was not linked to the current dialogue application.
- Symptom: Yield data returned by the model during multi-turn dialogue does not match the specified date. Cause: The prompt did not explicitly require binding the report date. The model defaults to using the latest data or performing ambiguous date matching, leading to result deviations.
- Symptom: The annotation for the AI response component in the workflow does not trigger as expected. Cause: The stream response switch was not enabled. Annotations only trigger after stream response completion, so the corresponding logic cannot run without this switch enabled.
How to Verify Correct Configuration
- A test duty-free daily report document is uploaded, a dialogue query for specified data within the document is triggered, and the model’s returned content is verified to match the document records.
- Multiple consecutive queries are initiated, and confirmation is obtained that the model retains filtering conditions and report dates from the previous dialogue turn, without requiring re-entry of details.
- Vector database synchronization logs are reviewed, and confirmation is obtained that the test document has completed vectorization and import processes, with no error records.
- The AI response component in the workflow is triggered, and confirmation is obtained that the annotation executes after response completion, aligning with preset logic.
Question material comes from public community discussions. Configuration values are common starting points and should be measured against your own samples. Verified on 2026-09-14.