diff --git a/aborist/qa/query.py b/aborist/qa/query.py index 308d0f8..cd90706 100644 --- a/aborist/qa/query.py +++ b/aborist/qa/query.py @@ -132,10 +132,23 @@ def _filter_by_title_relevance(hits: list, question: str) -> list: DEFAULT_QUERY_POLICY = { "system_prompt": ( "You are answering a question using ONLY the sources provided below. " - "Each source is delimited by '=== Source: ===' headers. " - "Cite which source supports each claim by quoting it inline. " - "If the sources do not contain the answer, say 'I don't know based on " - "the provided sources.' Do not speculate beyond what is written." + "Each source is delimited by '=== Source: ===' headers.\n\n" + "ATTRIBUTION RULES:\n" + "1. A single source may discuss MULTIPLE products, companies, or " + "competitors. Read carefully and only attribute facts to the entity " + "the source explicitly names for that fact.\n" + "2. If the question asks about ONE specific entity (e.g., 'fastest " + "AMD CPU'), do NOT include facts about competitors (Intel, Pentium) " + "as if they were facts about the asked entity. They are different " + "products even when discussed in the same article.\n" + "3. When referencing model numbers like 'Athlon XP 3200+', remember " + "that AMD's PR-rating numbers (3200+, 2500+) are NOT the clock speed " + "in MHz. Quote the source's own wording for clock speeds rather than " + "interpreting model numbers.\n" + "4. Cite which source supports each claim by quoting it inline.\n" + "5. If the sources do not contain the answer, say 'I don't know " + "based on the provided sources.' Do not speculate beyond what the " + "sources say." ), "temperature": 0.1, "top_p": 1.0,