diff --git a/pyproject.toml b/pyproject.toml
index 4569424d..5edb45e9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -75,6 +75,7 @@ dev = [
"pytest>=9.0.2",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.0.0",
+ "pytest-recording>=0.13.2",
"ruff>=0.14.8",
]
diff --git a/tests/cassettes/test_qa/test_qa_anthropic.yaml b/tests/cassettes/test_qa/test_qa_anthropic.yaml
new file mode 100644
index 00000000..34eb64a0
--- /dev/null
+++ b/tests/cassettes/test_qa/test_qa_anthropic.yaml
@@ -0,0 +1,722 @@
+interactions:
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - identity
+ connection:
+ - keep-alive
+ method: HEAD
+ uri: https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/resolve/main/tokenizer_config.json
+ response:
+ body:
+ string: ''
+ headers:
+ accept-ranges:
+ - bytes
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ connection:
+ - keep-alive
+ content-disposition:
+ - inline; filename*=UTF-8''tokenizer_config.json; filename="tokenizer_config.json";
+ content-length:
+ - '274'
+ content-security-policy:
+ - default-src 'none'; sandbox
+ content-type:
+ - text/plain; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ location:
+ - /api/resolve-cache/models/Qwen/Qwen3-Embedding-0.6B/c54f2e6e80b2d7b7de06f51cec4959f6b3e03418/tokenizer_config.json?%2FQwen%2FQwen3-Embedding-0.6B%2Fresolve%2Fmain%2Ftokenizer_config.json=&etag=%227345216a0785dc7086e8c245b2a9d3896ce2b756%22
+ ratelimit:
+ - '"resolvers";r=4993;t=78'
+ ratelimit-policy:
+ - '"fixed window";"resolvers";q=5000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin, Accept
+ status:
+ code: 307
+ message: Temporary Redirect
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - identity
+ connection:
+ - keep-alive
+ method: HEAD
+ uri: https://huggingface.co/api/resolve-cache/models/Qwen/Qwen3-Embedding-0.6B/c54f2e6e80b2d7b7de06f51cec4959f6b3e03418/tokenizer_config.json
+ response:
+ body:
+ string: ''
+ headers:
+ accept-ranges:
+ - bytes
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ age:
+ - '3633044'
+ connection:
+ - keep-alive
+ content-disposition:
+ - inline; filename*=UTF-8''tokenizer_config.json; filename="tokenizer_config.json";
+ content-length:
+ - '9706'
+ content-security-policy:
+ - default-src 'none'; sandbox
+ content-type:
+ - text/plain; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ etag:
+ - '"7345216a0785dc7086e8c245b2a9d3896ce2b756"'
+ ratelimit:
+ - '"resolvers";r=4998;t=122'
+ ratelimit-policy:
+ - '"fixed window";"resolvers";q=5000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin
+ status:
+ code: 200
+ message: OK
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ method: GET
+ uri: https://huggingface.co/api/models/Qwen/Qwen3-Embedding-0.6B/tree/main/additional_chat_templates?recursive=False&expand=False
+ response:
+ headers:
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ connection:
+ - keep-alive
+ content-length:
+ - '64'
+ content-type:
+ - application/json; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ etag:
+ - W/"40-09f9IAqP13xarAhQxFS2W8rvRkM"
+ ratelimit:
+ - '"api";r=995;t=78'
+ ratelimit-policy:
+ - '"fixed window";"api";q=1000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin
+ parsed_body:
+ error: additional_chat_templates does not exist on "main"
+ status:
+ code: 404
+ message: Not Found
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '4851'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - |-
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+ Initial Launch of Candidates' Campaign Plans on September 1
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+ - |-
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+ Rallies and Persuasion
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+ Debates: Clashes Between Visions and Policies
+ - |-
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+ Voter Engagement: Making Every Vote Count
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+ Campaign Financing: Transparency and Accountability
+ - |-
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+ Before Election Day: Submit Final Appeals Now
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+ Polling Day: The Final Act of Campaign Activities
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+ - Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an
+ exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in
+ shaping our collective futures.
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ - embedding: 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
+ index: 1
+ object: embedding
+ - embedding: 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
+ index: 2
+ object: embedding
+ - embedding: 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
+ index: 3
+ object: embedding
+ - embedding: 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
+ index: 4
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 858
+ total_tokens: 858
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '2679'
+ content-type:
+ - application/json
+ host:
+ - api.anthropic.com
+ method: POST
+ parsed_body:
+ max_tokens: 4096
+ messages:
+ - content:
+ - text: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ type: text
+ role: user
+ model: claude-3-5-haiku-20241022
+ stream: false
+ system: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ tool_choice:
+ type: any
+ tools:
+ - description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ input_schema:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ name: search_documents
+ - description: Answer to a search query with chunk references.
+ input_schema:
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ name: final_result
+ uri: https://api.anthropic.com/v1/messages?beta=true
+ response:
+ headers:
+ connection:
+ - keep-alive
+ content-length:
+ - '547'
+ content-type:
+ - application/json
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains; preload
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ content:
+ - id: toolu_017PbXDvtDx3HZYEy3Lpf5EN
+ input:
+ query: Bintang Jakarta election civic engagement innovative feedback
+ name: search_documents
+ type: tool_use
+ id: msg_0153BdLnbFoTPW8f9NFPizb3
+ model: claude-3-5-haiku-20241022
+ role: assistant
+ stop_reason: tool_use
+ stop_sequence: null
+ type: message
+ usage:
+ cache_creation:
+ ephemeral_1h_input_tokens: 0
+ ephemeral_5m_input_tokens: 0
+ cache_creation_input_tokens: 0
+ cache_read_input_tokens: 0
+ input_tokens: 1009
+ output_tokens: 47
+ service_tier: standard
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '131'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - Bintang Jakarta election civic engagement innovative feedback
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 10
+ total_tokens: 10
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '7899'
+ content-type:
+ - application/json
+ host:
+ - api.anthropic.com
+ method: POST
+ parsed_body:
+ max_tokens: 4096
+ messages:
+ - content:
+ - text: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ type: text
+ role: user
+ - content:
+ - id: toolu_017PbXDvtDx3HZYEy3Lpf5EN
+ input:
+ query: Bintang Jakarta election civic engagement innovative feedback
+ name: search_documents
+ type: tool_use
+ role: assistant
+ - content:
+ - content: |-
+ [0a2a6156-39cb-48f7-be66-360120f77ffc] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ is_error: false
+ tool_use_id: toolu_017PbXDvtDx3HZYEy3Lpf5EN
+ type: tool_result
+ role: user
+ model: claude-3-5-haiku-20241022
+ stream: false
+ system: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ tool_choice:
+ type: any
+ tools:
+ - description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ input_schema:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ name: search_documents
+ - description: Answer to a search query with chunk references.
+ input_schema:
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ name: final_result
+ uri: https://api.anthropic.com/v1/messages?beta=true
+ response:
+ headers:
+ connection:
+ - keep-alive
+ content-length:
+ - '1046'
+ content-type:
+ - application/json
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains; preload
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ content:
+ - id: toolu_01YaEyYQvUFfcUym2BqM6o1s
+ input:
+ answer: Bintang introduced an interactive mobile app that allowed citizens to provide real-time feedback about their
+ daily commute challenges. This innovative approach was praised as a unique form of civic engagement during the
+ Jakarta election campaign, enabling direct communication between the candidate and citizens about their transportation
+ experiences.
+ cited_chunks:
+ - 0a2a6156-39cb-48f7-be66-360120f77ffc
+ confidence: 0.85
+ query: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ name: final_result
+ type: tool_use
+ id: msg_01BX8Q2yutU9ToHdeRmefza8
+ model: claude-3-5-haiku-20241022
+ role: assistant
+ stop_reason: tool_use
+ stop_sequence: null
+ type: message
+ usage:
+ cache_creation:
+ ephemeral_1h_input_tokens: 0
+ ephemeral_5m_input_tokens: 0
+ cache_creation_input_tokens: 0
+ cache_read_input_tokens: 0
+ input_tokens: 2063
+ output_tokens: 192
+ service_tier: standard
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '2031'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |
+ You are evaluating whether two answers to the same question are semantically equivalent.
+
+ EVALUATION CRITERIA:
+ Rate as EQUIVALENT if:
+ ✓ Both answers contain the same core factual information
+ ✓ Both directly address the question asked
+ ✓ The key claims and conclusions are consistent
+ ✓ Any additional detail in one answer doesn't contradict the other
+
+ Rate as NOT EQUIVALENT if:
+ ✗ Factual contradictions exist between the answers
+ ✗ One answer fails to address the core question
+ ✗ Key information is missing that changes the meaning
+ ✗ The answers lead to different conclusions or implications
+
+ GUIDELINES:
+ - Ignore minor differences in phrasing, style, or formatting
+ - Focus on semantic meaning rather than exact wording
+ - Consider both answers correct if they convey the same essential information
+ - Be tolerant of different levels of detail if the core answer is preserved
+ - Evaluate based on what a person asking this question would need to know
+ role: system
+ - content: |-
+ QUESTION: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?
+
+ GENERATED ANSWER: Bintang introduced an interactive mobile app that allowed citizens to provide real-time feedback about their daily commute challenges. This innovative approach was praised as a unique form of civic engagement during the Jakarta election campaign, enabling direct communication between the candidate and citizens about their transportation experiences.
+
+ EXPECTED ANSWER: Bintang introduced an interactive app for real-time feedback on daily commute challenges.
+ role: user
+ model: gpt-oss
+ reasoning_effort: low
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: The final response which ends this conversation
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ equivalent:
+ type: boolean
+ required:
+ - equivalent
+ type: object
+ strict: true
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-length:
+ - '749'
+ content-type:
+ - application/json
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ message:
+ content: ''
+ reasoning: 'We need to judge equivalence. The generated answer mentions interactive mobile app that allowed citizens
+ to provide real-time feedback about daily commute challenges, praised as unique form. That matches expected answer:
+ interactive app for real-time feedback on daily commute challenges. So yes equivalent.'
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"equivalent":true}'
+ name: final_result
+ id: call_yyataqj3
+ index: 0
+ type: function
+ created: 1766755963
+ id: chatcmpl-518
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 77
+ prompt_tokens: 415
+ total_tokens: 492
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/tests/cassettes/test_qa/test_qa_ollama.yaml b/tests/cassettes/test_qa/test_qa_ollama.yaml
new file mode 100644
index 00000000..969cc888
--- /dev/null
+++ b/tests/cassettes/test_qa/test_qa_ollama.yaml
@@ -0,0 +1,1474 @@
+interactions:
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - identity
+ connection:
+ - keep-alive
+ method: HEAD
+ uri: https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/resolve/main/tokenizer_config.json
+ response:
+ body:
+ string: ''
+ headers:
+ accept-ranges:
+ - bytes
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ connection:
+ - keep-alive
+ content-disposition:
+ - inline; filename*=UTF-8''tokenizer_config.json; filename="tokenizer_config.json";
+ content-length:
+ - '274'
+ content-security-policy:
+ - default-src 'none'; sandbox
+ content-type:
+ - text/plain; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ location:
+ - /api/resolve-cache/models/Qwen/Qwen3-Embedding-0.6B/c54f2e6e80b2d7b7de06f51cec4959f6b3e03418/tokenizer_config.json?%2FQwen%2FQwen3-Embedding-0.6B%2Fresolve%2Fmain%2Ftokenizer_config.json=&etag=%227345216a0785dc7086e8c245b2a9d3896ce2b756%22
+ ratelimit:
+ - '"resolvers";r=4989;t=261'
+ ratelimit-policy:
+ - '"fixed window";"resolvers";q=5000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin, Accept
+ status:
+ code: 307
+ message: Temporary Redirect
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - identity
+ connection:
+ - keep-alive
+ method: HEAD
+ uri: https://huggingface.co/api/resolve-cache/models/Qwen/Qwen3-Embedding-0.6B/c54f2e6e80b2d7b7de06f51cec4959f6b3e03418/tokenizer_config.json
+ response:
+ body:
+ string: ''
+ headers:
+ accept-ranges:
+ - bytes
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ age:
+ - '3632561'
+ connection:
+ - keep-alive
+ content-disposition:
+ - inline; filename*=UTF-8''tokenizer_config.json; filename="tokenizer_config.json";
+ content-length:
+ - '9706'
+ content-security-policy:
+ - default-src 'none'; sandbox
+ content-type:
+ - text/plain; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ etag:
+ - '"7345216a0785dc7086e8c245b2a9d3896ce2b756"'
+ ratelimit:
+ - '"resolvers";r=4998;t=122'
+ ratelimit-policy:
+ - '"fixed window";"resolvers";q=5000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin
+ status:
+ code: 200
+ message: OK
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ method: GET
+ uri: https://huggingface.co/api/models/Qwen/Qwen3-Embedding-0.6B/tree/main/additional_chat_templates?recursive=False&expand=False
+ response:
+ headers:
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ connection:
+ - keep-alive
+ content-length:
+ - '64'
+ content-type:
+ - application/json; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ etag:
+ - W/"40-09f9IAqP13xarAhQxFS2W8rvRkM"
+ ratelimit:
+ - '"api";r=989;t=261'
+ ratelimit-policy:
+ - '"fixed window";"api";q=1000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin
+ parsed_body:
+ error: additional_chat_templates does not exist on "main"
+ status:
+ code: 404
+ message: Not Found
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '4851'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - |-
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+ Initial Launch of Candidates' Campaign Plans on September 1
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+ - |-
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+ Rallies and Persuasion
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+ Debates: Clashes Between Visions and Policies
+ - |-
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+ Voter Engagement: Making Every Vote Count
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+ Campaign Financing: Transparency and Accountability
+ - |-
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+ Before Election Day: Submit Final Appeals Now
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+ Polling Day: The Final Act of Campaign Activities
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+ - Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an
+ exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in
+ shaping our collective futures.
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ - embedding: 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
+ index: 1
+ object: embedding
+ - embedding: 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
+ index: 2
+ object: embedding
+ - embedding: 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
+ index: 3
+ object: embedding
+ - embedding: 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
+ index: 4
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 858
+ total_tokens: 858
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '2742'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ role: system
+ - content: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ role: user
+ model: gpt-oss
+ reasoning_effort: high
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ name: search_documents
+ parameters:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ type: function
+ - function:
+ description: Answer to a search query with chunk references.
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-length:
+ - '853'
+ content-type:
+ - application/json
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ message:
+ content: ''
+ reasoning: 'The user: "What innovative form of civic engagement did Bintang introduce for gathering feedback from
+ citizens during Jakarta''s election?" We must search the knowledge base. The query: "Bintang introduced innovative
+ form of civic engagement gathering feedback citizens Jakarta election". We''ll use search_documents.'
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":10,"query":"Bintang innovative civic engagement gathering feedback citizens Jakarta election"}'
+ name: search_documents
+ id: call_x21van0h
+ index: 0
+ type: function
+ created: 1766755472
+ id: chatcmpl-908
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 91
+ prompt_tokens: 548
+ total_tokens: 639
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '150'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - Bintang innovative civic engagement gathering feedback citizens Jakarta election
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 12
+ total_tokens: 12
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '8286'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ role: system
+ - content: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ role: user
+ - content: |-
+
+ The user: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" We must search the knowledge base. The query: "Bintang introduced innovative form of civic engagement gathering feedback citizens Jakarta election". We'll use search_documents.
+
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":10,"query":"Bintang innovative civic engagement gathering feedback citizens Jakarta election"}'
+ name: search_documents
+ id: call_x21van0h
+ type: function
+ - content: |-
+ [a99375df-fceb-4d0d-bae4-c79ea5306ebc] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ role: tool
+ tool_call_id: call_x21van0h
+ model: gpt-oss
+ reasoning_effort: high
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ name: search_documents
+ parameters:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ type: function
+ - function:
+ description: Answer to a search query with chunk references.
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-length:
+ - '1193'
+ content-type:
+ - application/json
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ message:
+ content: ''
+ reasoning: |-
+ We have a chunk. The snippet says:
+
+ "Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement".
+
+ Also earlier the user question: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" The chunk specifically answers: an interactive app for real-time feedback.
+
+ But we should cite the chunk ID [a99375df-fceb-4d0d-bae4-c79ea5306ebc]. Also perhaps there may be other chunks about this. Let's search again with "interactive app Bintang gathering feedback" to see if any other chunks.
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":5,"query":"interactive app Bintang gathering real-time feedback Jakarta election"}'
+ name: search_documents
+ id: call_e51ubvbl
+ index: 0
+ type: function
+ created: 1766755479
+ id: chatcmpl-297
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 172
+ prompt_tokens: 1532
+ total_tokens: 1704
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '139'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - interactive app Bintang gathering real-time feedback Jakarta election
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 12
+ total_tokens: 12
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '14167'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ role: system
+ - content: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ role: user
+ - content: |-
+
+ The user: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" We must search the knowledge base. The query: "Bintang introduced innovative form of civic engagement gathering feedback citizens Jakarta election". We'll use search_documents.
+
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":10,"query":"Bintang innovative civic engagement gathering feedback citizens Jakarta election"}'
+ name: search_documents
+ id: call_x21van0h
+ type: function
+ - content: |-
+ [a99375df-fceb-4d0d-bae4-c79ea5306ebc] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ role: tool
+ tool_call_id: call_x21van0h
+ - content: |-
+
+ We have a chunk. The snippet says:
+
+ "Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement".
+
+ Also earlier the user question: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" The chunk specifically answers: an interactive app for real-time feedback.
+
+ But we should cite the chunk ID [a99375df-fceb-4d0d-bae4-c79ea5306ebc]. Also perhaps there may be other chunks about this. Let's search again with "interactive app Bintang gathering feedback" to see if any other chunks.
+
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":5,"query":"interactive app Bintang gathering real-time feedback Jakarta election"}'
+ name: search_documents
+ id: call_e51ubvbl
+ type: function
+ - content: |-
+ [a99375df-fceb-4d0d-bae4-c79ea5306ebc] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ role: tool
+ tool_call_id: call_e51ubvbl
+ model: gpt-oss
+ reasoning_effort: high
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ name: search_documents
+ parameters:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ type: function
+ - function:
+ description: Answer to a search query with chunk references.
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ choices:
+ - finish_reason: stop
+ index: 0
+ message:
+ content: |-
+ Bintang introduced an **interactive app that let citizens give real‑time feedback on daily commute challenges** during the Jakarta election.
+
+ Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]
+ reasoning: |+
+ Now we have 1 relevant chunk. We need to produce a concise answer referencing the chunk.
+
+ The question: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" We answer: "Bintang introduced an interactive app for real‑time feedback from citizens about daily commute challenges." Provide chunk id.
+
+ We must format answer accordingly.
+
+ We must not add extraneous text beyond what is asked.
+
+ We must provide the answer, citing chunk id, confidence.
+
+ We'll deliver final result as per final_result structure? Wait: The instruction: "Provide a concise answer based strictly on the retrieved content". In the conversation, the assistant can provide a simple response but must include cited_chunks.
+
+ We might not need to use final_result function. The instruction says: "Return answer in normal format, but include chunk IDs used in cited_chunks." The earlier guidelines mention "In your response, include the chunk IDs you used in cited_chunks." We can format as plain text but maybe include bracket list. We can say:
+
+ Answer: "Bintang introduced an interactive app for gathering real‑time feedback from citizens about daily commute challenges during Jakarta’s election." Then "Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]"
+
+ Confidence maybe 0.98.
+
+ But maybe we need to use functions? The system says: "Return the answer in a normal way. Provide the chunk IDs used in referenced format." The earlier "In your response, include the chunk IDs you used in cited_chunks." So we should provide a concise answer and then list the chunk IDs.
+
+ But maybe we need to use the "final_result" function? Actually the prompt says: "Provide a concise answer based strictly on the retrieved content." It does not mention use of function. But earlier system says "When responding, use final_result function." Wait, let's search guidelines: In the initial instructions: "You are a knowledgeable assistant that answers questions using a document knowledge base. Process: [list]." They had "search_documents" function and "final_result" function, but the final step says to "Provide a concise answer" but nothing about "final_result." Actually the tool description shows `final_result`. However the actual instruction from the system: "Use the tools as needed." The "final_result" is presumably for structuring.
+
+ But the earlier user responses in previous tasks often used just plain text and citing chunk IDs. But some tasks required using "final_result". The system instructs to produce answer. The typical pattern in these tasks: we produce raw answer lines plus chunk IDs in brackets. Let's review from earlier Q/A. For instance, in the conversation before, I saw typical answers: "Answer: ... [cited_chunk]" The instruction: "In your response, include the chunk IDs you used in cited_chunks." So we must list the chunk IDs as a separate list. Let's examine example format:
+
+ Maybe like:
+
+ Answer: "Bintang introduced an interactive app..."
+
+ Cited_chunks: ["a99375df-fceb-4d0d-bae4-c79ea5306ebc"]
+
+ Confidence: 0.97
+
+ But the guidelines didn't mention "confidence" field. The final_result function includes fields: answer, cited_chunks, confidence, query. But is it required? In many ChatGPT answers for these tasks, I've seen that we produce a JSON object with those fields. But the guidelines say: "In your response, include the chunk IDs you used in cited_chunks." No mention of JSON or confidence.
+
+ But the tool 'final_result' is defined. It returns results with answer string, chunk IDs, etc. That would likely be expected to be produced as the output of the "assistant" role.
+
+ But the typical pattern may be that we call function 'final_result' and return JSON with answer etc. Let's review previous tasks (maybe from prior interactions)...
+
+ We cannot see them here. But we can approximate: Usually the user gets a response that includes the answer and cited_chunks list. But how exactly should we format? In the "Response format" guidelines, we might see "You should always return json with specific keys" or "If you need to call final_result, call it like this". Let's re-read the instructions: "In your response, include the chunk IDs you used in cited_chunks." It doesn't say we must use JSON, but we should list the chunk IDs. In our answer we can do:
+
+ Answer: Bintang introduced an interactive app for gathering real-time feedback about daily commute challenges.
+
+ Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]
+
+ Confidence: 0.97
+
+ But maybe they want a bullet list. But I think a concise answer plus a "Cited_chunks:" line is safe.
+
+ Hence I will respond:
+
+ Answer: Bintang introduced an interactive app that allowed citizens to provide real‑time feedback on everyday commute challenges during the Jakarta election.
+
+ Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]
+
+ Confidence: 0.99
+
+ But the conversation says "Use the tools as needed." The only tool needed was search_documents; we used it. So we do not need to call final_result. But we can output just text.
+
+ Let's answer.
+
+ role: assistant
+ created: 1766755510
+ id: chatcmpl-488
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 1157
+ prompt_tokens: 2597
+ total_tokens: 3754
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '19736'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ role: system
+ - content: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ role: user
+ - content: |-
+
+ The user: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" We must search the knowledge base. The query: "Bintang introduced innovative form of civic engagement gathering feedback citizens Jakarta election". We'll use search_documents.
+
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":10,"query":"Bintang innovative civic engagement gathering feedback citizens Jakarta election"}'
+ name: search_documents
+ id: call_x21van0h
+ type: function
+ - content: |-
+ [a99375df-fceb-4d0d-bae4-c79ea5306ebc] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ role: tool
+ tool_call_id: call_x21van0h
+ - content: |-
+
+ We have a chunk. The snippet says:
+
+ "Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement".
+
+ Also earlier the user question: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" The chunk specifically answers: an interactive app for real-time feedback.
+
+ But we should cite the chunk ID [a99375df-fceb-4d0d-bae4-c79ea5306ebc]. Also perhaps there may be other chunks about this. Let's search again with "interactive app Bintang gathering feedback" to see if any other chunks.
+
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"limit":5,"query":"interactive app Bintang gathering real-time feedback Jakarta election"}'
+ name: search_documents
+ id: call_e51ubvbl
+ type: function
+ - content: |-
+ [a99375df-fceb-4d0d-bae4-c79ea5306ebc] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ role: tool
+ tool_call_id: call_e51ubvbl
+ - content: |-
+
+ Now we have 1 relevant chunk. We need to produce a concise answer referencing the chunk.
+
+ The question: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?" We answer: "Bintang introduced an interactive app for real‑time feedback from citizens about daily commute challenges." Provide chunk id.
+
+ We must format answer accordingly.
+
+ We must not add extraneous text beyond what is asked.
+
+ We must provide the answer, citing chunk id, confidence.
+
+ We'll deliver final result as per final_result structure? Wait: The instruction: "Provide a concise answer based strictly on the retrieved content". In the conversation, the assistant can provide a simple response but must include cited_chunks.
+
+ We might not need to use final_result function. The instruction says: "Return answer in normal format, but include chunk IDs used in cited_chunks." The earlier guidelines mention "In your response, include the chunk IDs you used in cited_chunks." We can format as plain text but maybe include bracket list. We can say:
+
+ Answer: "Bintang introduced an interactive app for gathering real‑time feedback from citizens about daily commute challenges during Jakarta’s election." Then "Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]"
+
+ Confidence maybe 0.98.
+
+ But maybe we need to use functions? The system says: "Return the answer in a normal way. Provide the chunk IDs used in referenced format." The earlier "In your response, include the chunk IDs you used in cited_chunks." So we should provide a concise answer and then list the chunk IDs.
+
+ But maybe we need to use the "final_result" function? Actually the prompt says: "Provide a concise answer based strictly on the retrieved content." It does not mention use of function. But earlier system says "When responding, use final_result function." Wait, let's search guidelines: In the initial instructions: "You are a knowledgeable assistant that answers questions using a document knowledge base. Process: [list]." They had "search_documents" function and "final_result" function, but the final step says to "Provide a concise answer" but nothing about "final_result." Actually the tool description shows `final_result`. However the actual instruction from the system: "Use the tools as needed." The "final_result" is presumably for structuring.
+
+ But the earlier user responses in previous tasks often used just plain text and citing chunk IDs. But some tasks required using "final_result". The system instructs to produce answer. The typical pattern in these tasks: we produce raw answer lines plus chunk IDs in brackets. Let's review from earlier Q/A. For instance, in the conversation before, I saw typical answers: "Answer: ... [cited_chunk]" The instruction: "In your response, include the chunk IDs you used in cited_chunks." So we must list the chunk IDs as a separate list. Let's examine example format:
+
+ Maybe like:
+
+ Answer: "Bintang introduced an interactive app..."
+
+ Cited_chunks: ["a99375df-fceb-4d0d-bae4-c79ea5306ebc"]
+
+ Confidence: 0.97
+
+ But the guidelines didn't mention "confidence" field. The final_result function includes fields: answer, cited_chunks, confidence, query. But is it required? In many ChatGPT answers for these tasks, I've seen that we produce a JSON object with those fields. But the guidelines say: "In your response, include the chunk IDs you used in cited_chunks." No mention of JSON or confidence.
+
+ But the tool 'final_result' is defined. It returns results with answer string, chunk IDs, etc. That would likely be expected to be produced as the output of the "assistant" role.
+
+ But the typical pattern may be that we call function 'final_result' and return JSON with answer etc. Let's review previous tasks (maybe from prior interactions)...
+
+ We cannot see them here. But we can approximate: Usually the user gets a response that includes the answer and cited_chunks list. But how exactly should we format? In the "Response format" guidelines, we might see "You should always return json with specific keys" or "If you need to call final_result, call it like this". Let's re-read the instructions: "In your response, include the chunk IDs you used in cited_chunks." It doesn't say we must use JSON, but we should list the chunk IDs. In our answer we can do:
+
+ Answer: Bintang introduced an interactive app for gathering real-time feedback about daily commute challenges.
+
+ Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]
+
+ Confidence: 0.97
+
+ But maybe they want a bullet list. But I think a concise answer plus a "Cited_chunks:" line is safe.
+
+ Hence I will respond:
+
+ Answer: Bintang introduced an interactive app that allowed citizens to provide real‑time feedback on everyday commute challenges during the Jakarta election.
+
+ Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]
+
+ Confidence: 0.99
+
+ But the conversation says "Use the tools as needed." The only tool needed was search_documents; we used it. So we do not need to call final_result. But we can output just text.
+
+ Let's answer.
+
+
+
+
+ Bintang introduced an **interactive app that let citizens give real‑time feedback on daily commute challenges** during the Jakarta election.
+
+ Cited_chunks: [a99375df-fceb-4d0d-bae4-c79ea5306ebc]
+ role: assistant
+ - content: |-
+ Validation feedback:
+ Please include your response in a tool call.
+
+ Fix the errors and try again.
+ role: user
+ model: gpt-oss
+ reasoning_effort: high
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ name: search_documents
+ parameters:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ type: function
+ - function:
+ description: Answer to a search query with chunk references.
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ message:
+ content: ''
+ reasoning: |-
+ The user now says: "Validation feedback: Please include your response in a tool call." So we need to call "final_result" function with fields. Provide the answer, cited_chunks list, confidence (maybe 0.99 or 0.98), and the query string.
+
+ So the proper format is:
+
+ ```json
+ {
+ "answer": "...",
+ "cited_chunks": [...],
+ "confidence": 0.99,
+ "query": "original query"
+ }
+ ```
+
+ We must then output that JSON as the function call? Actually the system instruction says "Please include your response in a tool call." That means we should call function 'final_result' with the parameters. So we need to use the function. The system instructs to use the function. Therefore we call functions.final_result.
+
+ The tool signature:
+
+ ```
+ type final_result = (_: {
+ // The answer to the question
+ answer: string,
+ // IDs of chunks used to form the answer
+ cited_chunks: any[],
+ // Confidence score for this answer (0-1)
+ confidence: number,
+ // The question that was answered
+ query: string,
+ }) => any;
+ ```
+
+ So we need to produce a function call.
+
+ We should include the answer string: "Bintang introduced an interactive app that let citizens give real-time feedback on daily commute challenges during the Jakarta election."
+
+ Cited_chunks: array with the chunk ID "a99375df-fceb-4d0d-bae4-c79ea5306ebc".
+
+ Confidence: 0.99 or maybe 0.97. We'll use 0.99.
+
+ Query: "What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?"
+
+ So we return JSON that calls functions.final_result. Let's produce.
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"answer":"Bintang introduced an interactive app that let citizens give real‑time feedback on daily
+ commute challenges during the Jakarta election.","cited_chunks":["a99375df-fceb-4d0d-bae4-c79ea5306ebc"],"confidence":0.99,"query":"What
+ innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta''s
+ election?"}'
+ name: final_result
+ id: call_mzxyuxbx
+ index: 0
+ type: function
+ created: 1766755528
+ id: chatcmpl-224
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 472
+ prompt_tokens: 3779
+ total_tokens: 4251
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '1818'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |
+ You are evaluating whether two answers to the same question are semantically equivalent.
+
+ EVALUATION CRITERIA:
+ Rate as EQUIVALENT if:
+ ✓ Both answers contain the same core factual information
+ ✓ Both directly address the question asked
+ ✓ The key claims and conclusions are consistent
+ ✓ Any additional detail in one answer doesn't contradict the other
+
+ Rate as NOT EQUIVALENT if:
+ ✗ Factual contradictions exist between the answers
+ ✗ One answer fails to address the core question
+ ✗ Key information is missing that changes the meaning
+ ✗ The answers lead to different conclusions or implications
+
+ GUIDELINES:
+ - Ignore minor differences in phrasing, style, or formatting
+ - Focus on semantic meaning rather than exact wording
+ - Consider both answers correct if they convey the same essential information
+ - Be tolerant of different levels of detail if the core answer is preserved
+ - Evaluate based on what a person asking this question would need to know
+ role: system
+ - content: |-
+ QUESTION: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?
+
+ GENERATED ANSWER: Bintang introduced an interactive app that let citizens give real‑time feedback on daily commute challenges during the Jakarta election.
+
+ EXPECTED ANSWER: Bintang introduced an interactive app for real-time feedback on daily commute challenges.
+ role: user
+ model: gpt-oss
+ reasoning_effort: low
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: The final response which ends this conversation
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ equivalent:
+ type: boolean
+ required:
+ - equivalent
+ type: object
+ strict: true
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-length:
+ - '565'
+ content-type:
+ - application/json
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ message:
+ content: ''
+ reasoning: 'We compare: both mention interactive app for real-time feedback. Both say daily commute challenges.
+ Both match. Equivalent.'
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"equivalent":true}'
+ name: final_result
+ id: call_r5tp0vtx
+ index: 0
+ type: function
+ created: 1766755532
+ id: chatcmpl-677
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 48
+ prompt_tokens: 386
+ total_tokens: 434
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/tests/cassettes/test_qa/test_qa_openai.yaml b/tests/cassettes/test_qa/test_qa_openai.yaml
new file mode 100644
index 00000000..11d27912
--- /dev/null
+++ b/tests/cassettes/test_qa/test_qa_openai.yaml
@@ -0,0 +1,770 @@
+interactions:
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - identity
+ connection:
+ - keep-alive
+ method: HEAD
+ uri: https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/resolve/main/tokenizer_config.json
+ response:
+ body:
+ string: ''
+ headers:
+ accept-ranges:
+ - bytes
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ connection:
+ - keep-alive
+ content-disposition:
+ - inline; filename*=UTF-8''tokenizer_config.json; filename="tokenizer_config.json";
+ content-length:
+ - '274'
+ content-security-policy:
+ - default-src 'none'; sandbox
+ content-type:
+ - text/plain; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ location:
+ - /api/resolve-cache/models/Qwen/Qwen3-Embedding-0.6B/c54f2e6e80b2d7b7de06f51cec4959f6b3e03418/tokenizer_config.json?%2FQwen%2FQwen3-Embedding-0.6B%2Fresolve%2Fmain%2Ftokenizer_config.json=&etag=%227345216a0785dc7086e8c245b2a9d3896ce2b756%22
+ ratelimit:
+ - '"resolvers";r=4998;t=225'
+ ratelimit-policy:
+ - '"fixed window";"resolvers";q=5000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin, Accept
+ status:
+ code: 307
+ message: Temporary Redirect
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - identity
+ connection:
+ - keep-alive
+ method: HEAD
+ uri: https://huggingface.co/api/resolve-cache/models/Qwen/Qwen3-Embedding-0.6B/c54f2e6e80b2d7b7de06f51cec4959f6b3e03418/tokenizer_config.json
+ response:
+ body:
+ string: ''
+ headers:
+ accept-ranges:
+ - bytes
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ age:
+ - '3632896'
+ connection:
+ - keep-alive
+ content-disposition:
+ - inline; filename*=UTF-8''tokenizer_config.json; filename="tokenizer_config.json";
+ content-length:
+ - '9706'
+ content-security-policy:
+ - default-src 'none'; sandbox
+ content-type:
+ - text/plain; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ etag:
+ - '"7345216a0785dc7086e8c245b2a9d3896ce2b756"'
+ ratelimit:
+ - '"resolvers";r=4998;t=122'
+ ratelimit-policy:
+ - '"fixed window";"resolvers";q=5000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin
+ status:
+ code: 200
+ message: OK
+- request:
+ body: null
+ headers:
+ accept:
+ - '*/*'
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ method: GET
+ uri: https://huggingface.co/api/models/Qwen/Qwen3-Embedding-0.6B/tree/main/additional_chat_templates?recursive=False&expand=False
+ response:
+ headers:
+ access-control-allow-origin:
+ - https://huggingface.co
+ access-control-expose-headers:
+ - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Linked-Size,X-Linked-ETag,X-Xet-Hash
+ access-control-max-age:
+ - '86400'
+ connection:
+ - keep-alive
+ content-length:
+ - '64'
+ content-type:
+ - application/json; charset=utf-8
+ cross-origin-opener-policy:
+ - same-origin
+ etag:
+ - W/"40-09f9IAqP13xarAhQxFS2W8rvRkM"
+ ratelimit:
+ - '"api";r=998;t=225'
+ ratelimit-policy:
+ - '"fixed window";"api";q=1000;w=300'
+ referrer-policy:
+ - strict-origin-when-cross-origin
+ vary:
+ - Origin
+ parsed_body:
+ error: additional_chat_templates does not exist on "main"
+ status:
+ code: 404
+ message: Not Found
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '4851'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - |-
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+ Initial Launch of Candidates' Campaign Plans on September 1
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+ - |-
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+ Rallies and Persuasion
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+ Debates: Clashes Between Visions and Policies
+ - |-
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+ Voter Engagement: Making Every Vote Count
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+ Campaign Financing: Transparency and Accountability
+ - |-
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+ Before Election Day: Submit Final Appeals Now
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+ Polling Day: The Final Act of Campaign Activities
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+ - Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an
+ exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in
+ shaping our collective futures.
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ - embedding: 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
+ index: 1
+ object: embedding
+ - embedding: 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
+ index: 2
+ object: embedding
+ - embedding: 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
+ index: 3
+ object: embedding
+ - embedding: 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
+ index: 4
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 858
+ total_tokens: 858
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '2724'
+ content-type:
+ - application/json
+ host:
+ - api.openai.com
+ method: POST
+ parsed_body:
+ messages:
+ - content: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ role: system
+ - content: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ role: user
+ model: gpt-4o-mini
+ stream: false
+ tool_choice: required
+ tools:
+ - function:
+ description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ name: search_documents
+ parameters:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ type: function
+ - function:
+ description: Answer to a search query with chunk references.
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ type: function
+ uri: https://api.openai.com/v1/chat/completions
+ response:
+ headers:
+ access-control-expose-headers:
+ - X-Request-ID
+ alt-svc:
+ - h3=":443"; ma=86400
+ connection:
+ - keep-alive
+ content-length:
+ - '1148'
+ content-type:
+ - application/json
+ openai-organization:
+ - enfold-systems
+ openai-processing-ms:
+ - '638'
+ openai-project:
+ - proj_XYweeUJpJHbbRSNsezto5Wfh
+ openai-version:
+ - '2020-10-01'
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains; preload
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ logprobs: null
+ message:
+ annotations: []
+ content: null
+ refusal: null
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"query":"Bintang innovative civic engagement feedback Jakarta election"}'
+ name: search_documents
+ id: call_5HQrpWZc44DD5B2jRoGco8Vu
+ type: function
+ created: 1766755806
+ id: chatcmpl-Cr2BKaMlxBXrIdPm9UrgRO76cjkcn
+ model: gpt-4o-mini-2024-07-18
+ object: chat.completion
+ service_tier: default
+ system_fingerprint: fp_29330a9688
+ usage:
+ completion_tokens: 21
+ completion_tokens_details:
+ accepted_prediction_tokens: 0
+ audio_tokens: 0
+ reasoning_tokens: 0
+ rejected_prediction_tokens: 0
+ prompt_tokens: 485
+ prompt_tokens_details:
+ audio_tokens: 0
+ cached_tokens: 0
+ total_tokens: 506
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '131'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ encoding_format: base64
+ input:
+ - Bintang innovative civic engagement feedback Jakarta election
+ model: qwen3-embedding:4b
+ uri: http://localhost:11434/v1/embeddings
+ response:
+ headers:
+ content-type:
+ - application/json
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ data:
+ - embedding: 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
+ index: 0
+ object: embedding
+ model: qwen3-embedding:4b
+ object: list
+ usage:
+ prompt_tokens: 10
+ total_tokens: 10
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '7932'
+ content-type:
+ - application/json
+ cookie:
+ - __cf_bm=8F.hTslk20bdOz8GNMZAowjKjZ6P6am6sSzIAl3Cjrw-1766755807-1.0.1.1-YViVJ0BfuExG0a7GqlftCU4_CK.39QmVSYbPIER19WniKKyV3FPrDgHK52btgSoeFgpiyzQpSMFYNHINJimFX3DY71ReRZuKNf0cClymku8;
+ _cfuvid=6o0MM_JZOXAWFVBecYeF949xJkp1jQ4sZJtBXk2lA8E-1766755807670-0.0.1.1-604800000
+ host:
+ - api.openai.com
+ method: POST
+ parsed_body:
+ messages:
+ - content: |-
+ You are a knowledgeable assistant that answers questions using a document knowledge base.
+
+ Process:
+ 1. Call search_documents with relevant keywords from the question
+ 2. Review the results and their relevance scores
+ 3. If needed, perform follow-up searches with different keywords (max 3 total)
+ 4. Provide a concise answer based strictly on the retrieved content
+
+ The search tool returns results like:
+ [chunk_abc123] (score: 0.85)
+ Source: "Document Title" > Section > Subsection
+ Type: paragraph
+ Content:
+ The actual text content here...
+
+ [chunk_def456] (score: 0.72)
+ Source: "Another Document"
+ Type: table
+ Content:
+ | Column 1 | Column 2 |
+ ...
+
+ Each result includes:
+ - chunk_id in brackets and relevance score
+ - Source: document title and section hierarchy (when available)
+ - Type: content type like paragraph, table, code, list_item (when available)
+ - Content: the actual text
+
+ In your response, include the chunk IDs you used in cited_chunks.
+
+ Guidelines:
+ - Base answers strictly on retrieved content - do not use external knowledge
+ - Use the Source and Type metadata to understand context
+ - If multiple results are relevant, synthesize them coherently
+ - If information is insufficient, say: "I cannot find enough information in the knowledge base to answer this question."
+ - Be concise and direct - avoid elaboration unless asked
+ - Higher scores indicate more relevant results
+ role: system
+ - content: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during
+ Jakarta's election?
+ role: user
+ - content: null
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"query":"Bintang innovative civic engagement feedback Jakarta election"}'
+ name: search_documents
+ id: call_5HQrpWZc44DD5B2jRoGco8Vu
+ type: function
+ - content: |-
+ [018d25f3-5adb-4a25-995e-43d719711a37] (score: 0.03)
+ Type: text
+ Content:
+ Jakarta Election Campaigns Heat Up: Here's How to Understand the System
+
+ As election day in Jakarta draws nearer, candidates are out in force using various strategies to woo voters and prepare to exercise their democratic rights. Citizens make their voices heard as the city vibrates with life. This coverage offers valuable insight into campaign activities while offering an in-depth guide for understanding electoral processes in Jakarta.
+
+ Initial Launch of Candidates' Campaign Plans on September 1
+
+ After September 1st, when campaign season officially kicked off, candidates have moved swiftly to engage their bases. Amira Bintang, an upstart candidate with extensive social activism experience and promising urban development and public transportation reform as key platforms of her candidacy speech in Jakarta; incumbent Rizal Harahap relies heavily on his track record and highlights all infrastructure projects completed during his term.
+
+ Campaign Strategies: From Digital Battlegrounds to Door-toDoor Outreach
+
+ Campaign strategies have taken an advanced turn as candidates leverage digital media to reach a wider audience. Hashtags, viral videos, targeted ads and targeted messaging can all play an influential role in changing public opinion with just a tweet or meme. At the grassroots level candidates engage in door-to-door campaigns personalized for individual voters in an attempt to connect.
+
+ Bintang's interactive app for gathering real-time feedback from citizens about daily commute challenges was applauded as an innovative form of civic engagement, while Harahap launched a series of webinars featuring experts discussing economic growth under his administration.
+
+ Rallies and Persuasion
+
+ Jakartan politicians know the power of an impassioned speech cannot be underrated, and candidates have been taking full advantage of its effectiveness at rallies. Rallies feature vibrant colors, banners and impassioned discourse in an attempt to win converts over. At one high-spirited rally on October 22, Bintang outlined her policy plans for improving education and healthcare to an appreciative crowd while Harahap's rallies often consist of shows of solidarity from various political allies united behind his plea for continuity and stability.
+
+ Debates: Clashes Between Visions and Policies
+
+ Debates are one of the highlights of Jakarta election campaigns, allowing candidates to outline their platforms and discuss critical issues. On November 5th, citizens witnessed an exhilarating debate between candidates Bintang and Harahap over whether the city was prepared for digital transformation in public services; Bintang advocated an aggressive move toward smart city model while Harahap advocated a more measured approach so as not to alienate less tech-savvy residents.
+
+ Voter Engagement: Making Every Vote Count
+
+ Ensuring every eligible voter is engaged and informed remains an ongoing challenge for Jakartans. Civil society groups and independent bodies host workshops and publish voter guides to inform voters of their rights and choices, while an annual democracy festival such as that held on November 20 featured interactive exhibits on Jakarta's electoral history as well as mock voting booths for first-time voters.
+
+ Campaign Financing: Transparency and Accountability
+
+ Campaign financing has always been a contentious topic in elections, and this election cycle is no exception. Bintang's campaign, funded largely through crowdfunders online supporters, stands in stark contrast with Harahap's sophisticated machine backed by both private donors and party funds. To protect democratic decision making processes from any
+
+ undue influences on decision-making processes, Jakarta Election Commission mandated strict reporting and transparency measures during campaign financing decisions.
+
+ Before Election Day: Submit Final Appeals Now
+
+ As election day nears, candidates make their last appeals to voters. Bintang plans a visit through key neighborhoods while Harahap plans a final rally scheduled for late November. Both camps are honing their messaging and policy proposals while encouraging supporters to make an appearance at polling booths on November 8th.
+
+ Polling Day: The Final Act of Campaign Activities
+
+ On December 6th, voting booths across Jakarta will open their doors, signalling the culmination of weeks of intense campaigning. Voters will cast their vote and candidates await results that depend on how effective their strategies, speeches and outreach initiatives have been.
+
+ Jakarta's vibrant election campaign offers an insight into its flourishing democracy. As the city looks ahead to an exciting new chapter in its political history, electoral processes demonstrate the significance of people-power in shaping our collective futures.
+ role: tool
+ tool_call_id: call_5HQrpWZc44DD5B2jRoGco8Vu
+ model: gpt-4o-mini
+ stream: false
+ tool_choice: required
+ tools:
+ - function:
+ description: |-
+ Search the knowledge base for relevant documents.
+
+ Returns results with chunk IDs and relevance scores.
+ Reference results by their chunk_id in cited_chunks.
+ name: search_documents
+ parameters:
+ additionalProperties: false
+ properties:
+ limit:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: null
+ query:
+ type: string
+ required:
+ - query
+ type: object
+ type: function
+ - function:
+ description: Answer to a search query with chunk references.
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ answer:
+ description: The answer to the question
+ type: string
+ cited_chunks:
+ description: IDs of chunks used to form the answer
+ items:
+ type: string
+ type: array
+ confidence:
+ default: 1.0
+ description: Confidence score for this answer (0-1)
+ maximum: 1.0
+ minimum: 0.0
+ type: number
+ query:
+ description: The question that was answered
+ type: string
+ required:
+ - query
+ - answer
+ type: object
+ type: function
+ uri: https://api.openai.com/v1/chat/completions
+ response:
+ headers:
+ access-control-expose-headers:
+ - X-Request-ID
+ alt-svc:
+ - h3=":443"; ma=86400
+ connection:
+ - keep-alive
+ content-length:
+ - '1516'
+ content-type:
+ - application/json
+ openai-organization:
+ - enfold-systems
+ openai-processing-ms:
+ - '2237'
+ openai-project:
+ - proj_XYweeUJpJHbbRSNsezto5Wfh
+ openai-version:
+ - '2020-10-01'
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains; preload
+ transfer-encoding:
+ - chunked
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ logprobs: null
+ message:
+ annotations: []
+ content: null
+ refusal: null
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"query":"What innovative form of civic engagement did Bintang introduce for gathering feedback
+ from citizens during Jakarta''s election?","answer":"Bintang introduced an interactive app for gathering real-time
+ feedback from citizens about their daily commute challenges, which was praised as an innovative form of civic
+ engagement during Jakarta''s election.","cited_chunks":["018d25f3-5adb-4a25-995e-43d719711a37"],"confidence":1.0}'
+ name: final_result
+ id: call_H8DxhnoQgjAoaQMKW0NhVymD
+ type: function
+ created: 1766755809
+ id: chatcmpl-Cr2BNRGwI6MT0dqRkq6OvcZ1nhd50
+ model: gpt-4o-mini-2024-07-18
+ object: chat.completion
+ service_tier: default
+ system_fingerprint: fp_29330a9688
+ usage:
+ completion_tokens: 103
+ completion_tokens_details:
+ accepted_prediction_tokens: 0
+ audio_tokens: 0
+ reasoning_tokens: 0
+ rejected_prediction_tokens: 0
+ prompt_tokens: 1392
+ prompt_tokens_details:
+ audio_tokens: 0
+ cached_tokens: 0
+ total_tokens: 1495
+ status:
+ code: 200
+ message: OK
+- request:
+ headers:
+ accept:
+ - application/json
+ accept-encoding:
+ - gzip, deflate, zstd
+ connection:
+ - keep-alive
+ content-length:
+ - '1889'
+ content-type:
+ - application/json
+ host:
+ - localhost:11434
+ method: POST
+ parsed_body:
+ messages:
+ - content: |
+ You are evaluating whether two answers to the same question are semantically equivalent.
+
+ EVALUATION CRITERIA:
+ Rate as EQUIVALENT if:
+ ✓ Both answers contain the same core factual information
+ ✓ Both directly address the question asked
+ ✓ The key claims and conclusions are consistent
+ ✓ Any additional detail in one answer doesn't contradict the other
+
+ Rate as NOT EQUIVALENT if:
+ ✗ Factual contradictions exist between the answers
+ ✗ One answer fails to address the core question
+ ✗ Key information is missing that changes the meaning
+ ✗ The answers lead to different conclusions or implications
+
+ GUIDELINES:
+ - Ignore minor differences in phrasing, style, or formatting
+ - Focus on semantic meaning rather than exact wording
+ - Consider both answers correct if they convey the same essential information
+ - Be tolerant of different levels of detail if the core answer is preserved
+ - Evaluate based on what a person asking this question would need to know
+ role: system
+ - content: |-
+ QUESTION: What innovative form of civic engagement did Bintang introduce for gathering feedback from citizens during Jakarta's election?
+
+ GENERATED ANSWER: Bintang introduced an interactive app for gathering real-time feedback from citizens about their daily commute challenges, which was praised as an innovative form of civic engagement during Jakarta's election.
+
+ EXPECTED ANSWER: Bintang introduced an interactive app for real-time feedback on daily commute challenges.
+ role: user
+ model: gpt-oss
+ reasoning_effort: low
+ stream: false
+ tool_choice: auto
+ tools:
+ - function:
+ description: The final response which ends this conversation
+ name: final_result
+ parameters:
+ additionalProperties: false
+ properties:
+ equivalent:
+ type: boolean
+ required:
+ - equivalent
+ type: object
+ strict: true
+ type: function
+ uri: http://localhost:11434/v1/chat/completions
+ response:
+ headers:
+ content-length:
+ - '702'
+ content-type:
+ - application/json
+ parsed_body:
+ choices:
+ - finish_reason: tool_calls
+ index: 0
+ message:
+ content: ''
+ reasoning: Need to determine equivalence. They match. Both say interactive app for real-time feedback on daily commute
+ challenges. The generated mentions "praised as innovative form of civic engagement during Jakarta's election."
+ That doesn't contradict. So equivalent.
+ role: assistant
+ tool_calls:
+ - function:
+ arguments: '{"equivalent":true}'
+ name: final_result
+ id: call_egp8tgik
+ index: 0
+ type: function
+ created: 1766755813
+ id: chatcmpl-560
+ model: gpt-oss
+ object: chat.completion
+ system_fingerprint: fp_ollama
+ usage:
+ completion_tokens: 71
+ prompt_tokens: 397
+ total_tokens: 468
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/tests/conftest.py b/tests/conftest.py
index 46bef799..a63aae3c 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,6 +1,8 @@
+import logging
import os
import tempfile
from pathlib import Path
+from typing import TYPE_CHECKING, Any
# Prevent tests from loading user's local haiku.rag.yaml by setting env var
# to an empty config file BEFORE any haiku.rag imports.
@@ -10,10 +12,17 @@ _test_config_path = Path(_test_config_dir) / "test-defaults.yaml"
_test_config_path.write_text("{}") # Empty YAML = use all defaults
os.environ["HAIKU_RAG_CONFIG_PATH"] = str(_test_config_path)
+import pydantic_ai.models # noqa: E402
import pytest # noqa: E402
import yaml # noqa: E402
from datasets import Dataset, load_dataset, load_from_disk # noqa: E402
+if TYPE_CHECKING:
+ from vcr import VCR
+
+pydantic_ai.models.ALLOW_MODEL_REQUESTS = False
+logging.getLogger("vcr.cassette").setLevel(logging.WARNING)
+
@pytest.fixture(scope="session")
def qa_corpus() -> Dataset:
@@ -71,3 +80,33 @@ def temp_yaml_config(tmp_path, monkeypatch):
monkeypatch.setenv("HAIKU_RAG_CONFIG_PATH", str(config_file))
yield config_file
+
+
+@pytest.fixture
+def allow_model_requests():
+ with pydantic_ai.models.override_allow_model_requests(True):
+ yield
+
+
+@pytest.fixture(autouse=True)
+def set_mock_api_keys(monkeypatch):
+ """Set mock API keys for providers that require them during initialization."""
+ if not os.getenv("OPENAI_API_KEY"):
+ monkeypatch.setenv("OPENAI_API_KEY", "sk-mock-key-for-vcr-playback")
+ if not os.getenv("ANTHROPIC_API_KEY"):
+ monkeypatch.setenv("ANTHROPIC_API_KEY", "sk-ant-mock-key-for-vcr-playback")
+
+
+def pytest_recording_configure(config: Any, vcr: "VCR"):
+ from . import json_body_serializer
+
+ vcr.register_serializer("yaml", json_body_serializer)
+
+
+@pytest.fixture(scope="module")
+def vcr_config():
+ return {
+ "ignore_localhost": False,
+ "filter_headers": ["authorization", "x-api-key"],
+ "decode_compressed_response": True,
+ }
diff --git a/tests/json_body_serializer.py b/tests/json_body_serializer.py
new file mode 100644
index 00000000..82ef00d3
--- /dev/null
+++ b/tests/json_body_serializer.py
@@ -0,0 +1,110 @@
+# Adapted from pydantic-ai: https://github.com/pydantic/pydantic-ai/blob/main/tests/json_body_serializer.py
+# pyright: reportUnknownMemberType=false, reportUnknownVariableType=false
+import json
+import urllib.parse
+from typing import TYPE_CHECKING, Any
+
+import yaml
+
+if TYPE_CHECKING:
+ from yaml import Dumper, SafeLoader
+else:
+ try:
+ from yaml import CDumper as Dumper
+ from yaml import CSafeLoader as SafeLoader
+ except ImportError:
+ from yaml import Dumper, SafeLoader
+
+FILTERED_HEADER_PREFIXES = ["anthropic-", "cf-", "x-"]
+FILTERED_HEADERS = {
+ "authorization",
+ "date",
+ "request-id",
+ "server",
+ "user-agent",
+ "via",
+ "set-cookie",
+ "api-key",
+}
+ALLOWED_HEADER_PREFIXES: set[str] = set()
+ALLOWED_HEADERS: set[str] = set()
+
+ALLOWED_LOCALHOST_PATHS = ["/api/", "/v1/"]
+
+
+class LiteralDumper(Dumper):
+ pass
+
+
+def str_presenter(dumper: Dumper, data: str):
+ if "\n" in data:
+ return dumper.represent_scalar("tag:yaml.org,2002:str", data, style="|")
+ return dumper.represent_scalar("tag:yaml.org,2002:str", data)
+
+
+LiteralDumper.add_representer(str, str_presenter)
+
+
+def _is_filtered_localhost(uri: str) -> bool:
+ parsed = urllib.parse.urlparse(uri)
+ if parsed.hostname not in ("localhost", "127.0.0.1"):
+ return False
+ return not any(parsed.path.startswith(p) for p in ALLOWED_LOCALHOST_PATHS)
+
+
+def deserialize(cassette_string: str):
+ cassette_dict = yaml.load(cassette_string, Loader=SafeLoader)
+ for interaction in cassette_dict["interactions"]:
+ for kind, data in interaction.items():
+ parsed_body = data.pop("parsed_body", None)
+ if parsed_body is not None:
+ dumped_body = json.dumps(parsed_body)
+ data["body"] = (
+ {"string": dumped_body} if kind == "response" else dumped_body
+ )
+ return cassette_dict
+
+
+def serialize(cassette_dict: Any):
+ cassette_dict["interactions"] = [
+ i
+ for i in cassette_dict["interactions"]
+ if not _is_filtered_localhost(i["request"]["uri"])
+ ]
+
+ for interaction in cassette_dict["interactions"]:
+ for _kind, data in interaction.items():
+ headers: dict[str, list[str]] = data.get("headers", {})
+ headers = {k.lower(): v for k, v in headers.items()}
+ headers = {k: v for k, v in headers.items() if k not in FILTERED_HEADERS}
+ headers = {
+ k: v
+ for k, v in headers.items()
+ if not any(k.startswith(prefix) for prefix in FILTERED_HEADER_PREFIXES)
+ or k in ALLOWED_HEADERS
+ or any(k.startswith(prefix) for prefix in ALLOWED_HEADER_PREFIXES)
+ }
+ data["headers"] = headers
+
+ content_type = headers.get("content-type", [])
+ if any(
+ isinstance(header, str) and header.startswith("application/json")
+ for header in content_type
+ ):
+ body = data.get("body", None)
+ assert body is not None, data
+ if isinstance(body, dict):
+ body = body.get("string")
+ if body:
+ data["parsed_body"] = json.loads(body)
+ if "access_token" in data["parsed_body"]:
+ data["parsed_body"]["access_token"] = "scrubbed"
+ del data["body"]
+ if content_type == ["application/x-www-form-urlencoded"]:
+ query_params = urllib.parse.parse_qs(data["body"])
+ for key in ["client_id", "client_secret", "refresh_token"]:
+ if key in query_params:
+ query_params[key] = ["scrubbed"]
+ data["body"] = urllib.parse.urlencode(query_params)
+
+ return yaml.dump(cassette_dict, Dumper=LiteralDumper, allow_unicode=True, width=120)
diff --git a/tests/test_qa.py b/tests/test_qa.py
index db0e04b0..75814193 100644
--- a/tests/test_qa.py
+++ b/tests/test_qa.py
@@ -1,4 +1,4 @@
-import os
+from pathlib import Path
import pytest
from datasets import Dataset
@@ -8,13 +8,15 @@ from haiku.rag.client import HaikuRAG
from haiku.rag.config.models import ModelConfig
from haiku.rag.qa.agent import QuestionAnswerAgent
-OPENAI_AVAILABLE = bool(os.getenv("OPENAI_API_KEY"))
-ANTHROPIC_AVAILABLE = bool(os.getenv("ANTHROPIC_API_KEY"))
+
+@pytest.fixture(scope="module")
+def vcr_cassette_dir():
+ return str(Path(__file__).parent / "cassettes" / "test_qa")
-@pytest.mark.asyncio
-async def test_qa_ollama(qa_corpus: Dataset, temp_db_path):
- """Test Ollama QA with LLM judge."""
+@pytest.mark.vcr()
+async def test_qa_ollama(allow_model_requests, qa_corpus: Dataset, temp_db_path):
+ """Test Ollama QA with LLM judge (VCR recorded)."""
client = HaikuRAG(temp_db_path, create=True)
qa = QuestionAnswerAgent(
client, ModelConfig(provider="ollama", name="gpt-oss", enable_thinking=True)
@@ -37,10 +39,9 @@ async def test_qa_ollama(qa_corpus: Dataset, temp_db_path):
)
-@pytest.mark.asyncio
-@pytest.mark.skipif(not OPENAI_AVAILABLE, reason="OpenAI not available")
-async def test_qa_openai(qa_corpus: Dataset, temp_db_path):
- """Test OpenAI QA with LLM judge."""
+@pytest.mark.vcr()
+async def test_qa_openai(allow_model_requests, qa_corpus: Dataset, temp_db_path):
+ """Test OpenAI QA with LLM judge (VCR recorded)."""
client = HaikuRAG(temp_db_path, create=True)
qa = QuestionAnswerAgent(client, ModelConfig(provider="openai", name="gpt-4o-mini"))
llm_judge = LLMJudge()
@@ -61,10 +62,9 @@ async def test_qa_openai(qa_corpus: Dataset, temp_db_path):
)
-@pytest.mark.asyncio
-@pytest.mark.skipif(not ANTHROPIC_AVAILABLE, reason="Anthropic not available")
-async def test_qa_anthropic(qa_corpus: Dataset, temp_db_path):
- """Test Anthropic QA with LLM judge."""
+@pytest.mark.vcr()
+async def test_qa_anthropic(allow_model_requests, qa_corpus: Dataset, temp_db_path):
+ """Test Anthropic QA with LLM judge (VCR recorded)."""
client = HaikuRAG(temp_db_path, create=True)
qa = QuestionAnswerAgent(
client, ModelConfig(provider="anthropic", name="claude-3-5-haiku-20241022")
diff --git a/uv.lock b/uv.lock
index 3210b83c..4165ea44 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1270,6 +1270,7 @@ dev = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
{ name = "pytest-cov" },
+ { name = "pytest-recording" },
{ name = "ruff" },
]
@@ -1291,6 +1292,7 @@ dev = [
{ name = "pytest", specifier = ">=9.0.2" },
{ name = "pytest-asyncio", specifier = ">=1.3.0" },
{ name = "pytest-cov", specifier = ">=7.0.0" },
+ { name = "pytest-recording", specifier = ">=0.13.2" },
{ name = "ruff", specifier = ">=0.14.8" },
]
@@ -3765,6 +3767,19 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" },
]
+[[package]]
+name = "pytest-recording"
+version = "0.13.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pytest" },
+ { name = "vcrpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/32/9c/f4027c5f1693847b06d11caf4b4f6bb09f22c1581ada4663877ec166b8c6/pytest_recording-0.13.4.tar.gz", hash = "sha256:568d64b2a85992eec4ae0a419c855d5fd96782c5fb016784d86f18053792768c", size = 26576, upload-time = "2025-05-08T10:41:11.231Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/c2/ce34735972cc42d912173e79f200fe66530225190c06655c5632a9d88f1e/pytest_recording-0.13.4-py3-none-any.whl", hash = "sha256:ad49a434b51b1c4f78e85b1e6b74fdcc2a0a581ca16e52c798c6ace971f7f439", size = 13723, upload-time = "2025-05-08T10:41:09.684Z" },
+]
+
[[package]]
name = "python-dateutil"
version = "2.9.0.post0"
@@ -4919,6 +4934,19 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ee/d9/d88e73ca598f4f6ff671fb5fde8a32925c2e08a637303a1d12883c7305fa/uvicorn-0.38.0-py3-none-any.whl", hash = "sha256:48c0afd214ceb59340075b4a052ea1ee91c16fbc2a9b1469cca0e54566977b02", size = 68109, upload-time = "2025-10-18T13:46:42.958Z" },
]
+[[package]]
+name = "vcrpy"
+version = "8.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pyyaml" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/23/74/4200cb68d59e86849992eb6512d969cd561051f034e017428e040b113974/vcrpy-8.1.0.tar.gz", hash = "sha256:e585ca3cd9bb751e402728a00394847561250588eebc047b4d3c8948d5487733", size = 85930, upload-time = "2025-12-08T16:46:13.049Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/09/77/892bcd82445ac949816205b51ab80deb86a492a315f2e290ed4eab35021c/vcrpy-8.1.0-py3-none-any.whl", hash = "sha256:fc4fb6e954c6d082ba6d329c6f3d1228f5b1b1d2836f9022c301b587cfad7378", size = 42748, upload-time = "2025-12-08T16:46:12.08Z" },
+]
+
[[package]]
name = "virtualenv"
version = "20.35.4"