What this category of data looks like
Competitor pricing data comes primarily from public bidding platforms, internal enterprise historical tender archives, and tender documents shared by industry partners. Update frequency follows bidding project cycles, with new valid data added weekly or every ten days. Standard documents include three parts: a letter of tender, a detailed itemized quote sheet, and qualification attachment materials. Core fields include unique project number, full bidding entity name, itemized unit price and total price, delivery cycle, and qualification level. Units include CNY per item, ten thousand yuan, calendar days, and some documents include multilingual quote descriptions.
Constraints on multi-turn dialogue and prompt engineering
The scattered multi-field structure of competitor pricing data requires multi-turn dialogue to guide users to clarify core query conditions step by step. This avoids result deviations caused by missing fields. Data updates dynamically with each project, so dialogue context must retain key information like project numbers and bidding entities from past queries. This prevents cross-project mix-ups. The multi-attachment document structure means parsing must process both main text and attachments simultaneously. Prompts must clearly define rules for extracting attachment content. Different bidders use inconsistent quote units, so prompts must enforce unified output of specified units to avoid messy results.
How to set configurations
| Configuration Item | Recommended Value | Rationale |
|---|---|---|
maxContext | 12000–15000 characters | Competitor pricing documents often contain multiple sets of itemized quotes and qualification descriptions. Retain context information such as project numbers and units from multi-turn dialogue to avoid context overflow |
recallTopK | Top 8–12 entries | Competitor pricing data groups entries by project. Recall sufficient historical quote samples for the same project to cover quote ranges from different bidding entities |
similarityThreshold | 0.72–0.80 | Differentiate quote differences between different bidders for the same project. Avoid recalling invalid data from non-target projects |
PARSE_FILE_TIMEOUT_SECONDS | 300 seconds | Competitor pricing often includes multi-page qualification attachments. Reserve enough time to complete long document parsing |
promptTemplate | Explicitly specify the project number and currency unit before extracting quote data | Competitor pricing data has scattered fields. Use prompt constraints to require the AI to verify core field completeness before outputting results |
fileChunkSize | 800–1000 characters | Retain the logical integrity of single quote sets when splitting itemized quote details. Avoid losing the correspondence between unit price and total price after splitting |
The parameter values provided on this page are common recommended starting points for configuration. Actual values are affected by material format, data volume, and business rules. Analyze specific issues individually, and test on your own samples before finalizing settings.
Three common mistakes
- Symptom: Competitor pricing files uploaded during dialogue cannot be read, while the knowledge base file upload process operates normally. Cause: Temporary file parsing permissions in dialogue scenarios are not enabled. Temporarily uploaded files during local deployment fail to trigger the parsing logic.
- Symptom: Currency and unit confusion appears in competitor pricing output from multi-turn dialogue. Cause: The prompt does not explicitly require conversion to a specified unit. Context retention of project unit information from historical dialogue is not configured.
- Symptom: Vector index recalled competitor pricing data does not match the project number specified by the user. Cause: The number of recalled entries is set too high, and the similarity threshold is set too low. This includes quote data from other projects.
How to confirm correct configuration
- Upload a single competitor pricing document with itemized quotes to the knowledge base. Trigger parsing, then check if segmented text retains the correspondence between unit price and total price.
- Start a multi-turn dialogue. First specify the project number and target currency unit, then ask for the itemized quotes of a specific bidding entity. Check if the AI outputs the correct unit and amount using the context.
- Adjust the similarity threshold, then test recalling quotes from different bidders under the same project. Confirm recalled results are strongly related to the target project, with no irrelevant project data included.
- Upload a competitor pricing document with multi-page qualification attachments. Check if parsed text covers all attachment content, with no truncation or missing content.
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.