diff --git a/haiku_rag_slim/haiku/rag/agents/chat/agent.py b/haiku_rag_slim/haiku/rag/agents/chat/agent.py index 6fbc59c4..c380cee7 100644 --- a/haiku_rag_slim/haiku/rag/agents/chat/agent.py +++ b/haiku_rag_slim/haiku/rag/agents/chat/agent.py @@ -81,7 +81,6 @@ class ChatDeps: if isinstance(nested, dict): state_data = nested - # Update SessionState from incoming state session_state = self.tool_context.get(SESSION_NAMESPACE, SessionState) if session_state is not None: if "document_filter" in state_data: @@ -96,7 +95,6 @@ class ChatDeps: for c in state_data.get("citations", []) ] - # Extract session_id if present, or generate one # Track what the client sent (for delta computation) incoming_session_id = state_data.get("session_id", "") @@ -111,7 +109,6 @@ class ChatDeps: session_state.session_id = self.session_id session_state.incoming_session_id = incoming_session_id - # Update QASessionState from incoming state qa_session_state = self.tool_context.get(QA_SESSION_NAMESPACE, QASessionState) if qa_session_state is not None: if "qa_history" in state_data: @@ -181,19 +178,16 @@ def create_chat_agent( if features is None: features = DEFAULT_FEATURES - # SessionState is always registered (shared by all features) existing = context.get(SESSION_NAMESPACE, SessionState) if existing is None: context.register(SESSION_NAMESPACE, SessionState(state_key=AGUI_STATE_KEY)) elif existing.state_key is None: existing.state_key = AGUI_STATE_KEY - # QASessionState only when QA feature is active if FEATURE_QA in features: if context.get(QA_SESSION_NAMESPACE, QASessionState) is None: context.register(QA_SESSION_NAMESPACE, QASessionState()) - # Create toolsets conditionally based on features toolsets = [] if FEATURE_SEARCH in features: toolsets.append(create_search_toolset(client, config, context=context)) @@ -206,7 +200,6 @@ def create_chat_agent( toolsets.append(create_analysis_toolset(client, config, context=context)) - # Create the agent with composed toolsets model = get_model(config.qa.model, config) return Agent( diff --git a/haiku_rag_slim/haiku/rag/tools/__init__.py b/haiku_rag_slim/haiku/rag/tools/__init__.py index 856ae2e5..d417c318 100644 --- a/haiku_rag_slim/haiku/rag/tools/__init__.py +++ b/haiku_rag_slim/haiku/rag/tools/__init__.py @@ -18,6 +18,7 @@ from haiku.rag.tools.qa import ( QAHistoryEntry, QASessionState, create_qa_toolset, + run_qa_core, ) from haiku.rag.tools.search import SEARCH_NAMESPACE, SearchState, create_search_toolset from haiku.rag.tools.session import ( @@ -46,6 +47,7 @@ __all__ = [ "QASessionState", "QAHistoryEntry", "create_qa_toolset", + "run_qa_core", "create_analysis_toolset", "SESSION_NAMESPACE", "SessionState", diff --git a/haiku_rag_slim/haiku/rag/tools/analysis.py b/haiku_rag_slim/haiku/rag/tools/analysis.py index 14efd153..54e8ef5f 100644 --- a/haiku_rag_slim/haiku/rag/tools/analysis.py +++ b/haiku_rag_slim/haiku/rag/tools/analysis.py @@ -52,16 +52,13 @@ def create_analysis_toolset( Returns: AnalysisResult with answer and execution metadata. """ - # Build filter from base_filter, session_filter, and document_name doc_filter = build_document_filter(document_name) if document_name else None effective_filter = combine_filters( get_session_filter(context, base_filter), doc_filter ) - # Create RLM context rlm_context = RLMContext(filter=effective_filter) - # Run RLM agent with Docker sandbox async with DockerSandbox( client=client, config=config.rlm, diff --git a/haiku_rag_slim/haiku/rag/tools/document.py b/haiku_rag_slim/haiku/rag/tools/document.py index 79a6793e..18c819c2 100644 --- a/haiku_rag_slim/haiku/rag/tools/document.py +++ b/haiku_rag_slim/haiku/rag/tools/document.py @@ -40,7 +40,6 @@ class DocumentListResponse(BaseModel): async def find_document(client: HaikuRAG, query: str): """Find a document by exact URI, partial URI, or partial title match.""" - # Try exact URI match first doc = await client.get_document_by_uri(query) if doc is not None: return doc @@ -49,7 +48,6 @@ async def find_document(client: HaikuRAG, query: str): # Also try without spaces for matching "TB MED 593" to "tbmed593" no_spaces = escaped_query.replace(" ", "") - # Try partial URI match (with and without spaces) docs = await client.list_documents( limit=1, filter=f"LOWER(uri) LIKE LOWER('%{escaped_query}%') OR LOWER(uri) LIKE LOWER('%{no_spaces}%')", @@ -57,7 +55,6 @@ async def find_document(client: HaikuRAG, query: str): if docs and docs[0].id: return await client.get_document_by_id(docs[0].id) - # Try partial title match (with and without spaces) docs = await client.list_documents( limit=1, filter=f"LOWER(title) LIKE LOWER('%{escaped_query}%') OR LOWER(title) LIKE LOWER('%{no_spaces}%')", @@ -158,7 +155,6 @@ def create_document_toolset( if doc is None: return f"Document not found: {query}" - # Use LLM to generate summary summary_model = get_model(config.qa.model, config) summary_agent: Agent[None, str] = Agent( summary_model, diff --git a/haiku_rag_slim/haiku/rag/tools/qa.py b/haiku_rag_slim/haiku/rag/tools/qa.py index e51fd08c..72f62e6b 100644 --- a/haiku_rag_slim/haiku/rag/tools/qa.py +++ b/haiku_rag_slim/haiku/rag/tools/qa.py @@ -92,6 +92,149 @@ QA_SESSION_NAMESPACE = "haiku.rag.qa_session" MAX_QA_HISTORY = 50 +async def run_qa_core( + client: HaikuRAG, + config: AppConfig, + question: str, + document_name: str | None = None, + *, + context: ToolContext | None = None, + base_filter: str | None = None, + session_context: str | None = None, + prior_answers: list[SearchAnswer] | None = None, +) -> QAResult: + """Run the QA flow and return a QAResult. + + This is the core QA implementation shared by toolsets and client APIs. + It updates session state and QA history when context is provided. + """ + session_state: SessionState | None = None + qa_session_state: QASessionState | None = None + + if context is not None: + session_state = context.get(SESSION_NAMESPACE, SessionState) + qa_session_state = context.get(QA_SESSION_NAMESPACE, QASessionState) + + doc_filter = build_document_filter(document_name) if document_name else None + effective_filter = combine_filters( + get_session_filter(context, base_filter), doc_filter + ) + + effective_session_context = session_context + if qa_session_state is not None and qa_session_state.session_context: + effective_session_context = qa_session_state.session_context + + effective_prior_answers = prior_answers or [] + session_id = session_state.session_id if session_state is not None else "" + if qa_session_state is not None and qa_session_state.qa_history: + embedder = get_embedder(config) + question_embedding = await embedder.embed_query(question) + + to_embed = [] + to_embed_indices = [] + for i, qa in enumerate(qa_session_state.qa_history): + if qa.question_embedding is None: + if session_id: + cached = get_cached_embedding(session_id, qa.question) + if cached: + qa.question_embedding = cached + continue + to_embed.append(qa.question) + to_embed_indices.append(i) + + if to_embed: + new_embeddings = await embedder.embed_documents(to_embed) + for i, idx in enumerate(to_embed_indices): + embedding = new_embeddings[i] + qa_session_state.qa_history[idx].question_embedding = embedding + if session_id: + cache_question_embedding( + session_id, + qa_session_state.qa_history[idx].question, + embedding, + ) + + matched_answers = [] + for qa in qa_session_state.qa_history: + if qa.question_embedding is not None: + similarity = _cosine_similarity( + question_embedding, qa.question_embedding + ) + if similarity >= PRIOR_ANSWER_RELEVANCE_THRESHOLD: + matched_answers.append(qa.to_search_answer()) + + if matched_answers: + effective_prior_answers = matched_answers + + graph = build_research_graph(config=config, output_mode="conversational") + + research_context = ResearchContext( + original_question=question, + session_context=effective_session_context, + qa_responses=effective_prior_answers, + ) + research_state = ResearchState( + context=research_context, + max_iterations=1, + search_filter=effective_filter, + max_concurrency=config.research.max_concurrency, + ) + deps = ResearchDeps(client=client) + + result = await graph.run(state=research_state, deps=deps) + + # Build citations with stable indices from session state + citations = [] + for i, c in enumerate(result.citations): + if session_state is not None: + index = session_state.get_or_assign_index(c.chunk_id) + else: + index = i + 1 + + citations.append( + Citation( + index=index, + document_id=c.document_id, + chunk_id=c.chunk_id, + document_uri=c.document_uri, + document_title=c.document_title, + page_numbers=c.page_numbers, + headings=c.headings, + content=c.content, + ) + ) + + qa_result = QAResult( + question=question, + answer=result.answer, + confidence=result.confidence, + citations=citations, + ) + + if session_state is not None: + session_state.citations = citations + + if qa_session_state is not None: + qa_session_state.qa_history.append( + QAHistoryEntry( + question=question, + answer=result.answer, + confidence=result.confidence, + citations=citations, + ) + ) + # Enforce FIFO limit + if len(qa_session_state.qa_history) > MAX_QA_HISTORY: + qa_session_state.qa_history = qa_session_state.qa_history[-MAX_QA_HISTORY:] + trigger_background_summarization( + qa_session_state=qa_session_state, + config=config, + session_id=session_id, + ) + + return qa_result + + def create_qa_toolset( client: HaikuRAG, config: AppConfig, @@ -135,7 +278,6 @@ def create_qa_toolset( Returns: QAResult with answer, confidence, and citations. """ - # Get session states session_state: SessionState | None = None qa_session_state: QASessionState | None = None old_state_snapshot: dict | None = None @@ -144,7 +286,6 @@ def create_qa_toolset( session_state = context.get(SESSION_NAMESPACE, SessionState) qa_session_state = context.get(QA_SESSION_NAMESPACE, QASessionState) - # Capture combined state snapshot before changes # Use incoming values (what client sent) so delta shows server-side updates if session_state is not None: old_state_snapshot = build_chat_state_snapshot( @@ -153,140 +294,18 @@ def create_qa_toolset( incoming=True, ) - # Build filter from session state, base_filter, and document_name - doc_filter = build_document_filter(document_name) if document_name else None - effective_filter = combine_filters( - get_session_filter(context, base_filter), doc_filter - ) - - # Determine session context - effective_session_context = session_context - if qa_session_state is not None and qa_session_state.session_context: - effective_session_context = qa_session_state.session_context - - # Find relevant prior answers via similarity matching - effective_prior_answers = prior_answers or [] - session_id = session_state.session_id if session_state is not None else "" - if qa_session_state is not None and qa_session_state.qa_history: - embedder = get_embedder(config) - question_embedding = await embedder.embed_query(question) - - # Collect questions that need embedding - to_embed = [] - to_embed_indices = [] - for i, qa in enumerate(qa_session_state.qa_history): - if qa.question_embedding is None: - # Check per-session cache first - if session_id: - cached = get_cached_embedding(session_id, qa.question) - if cached: - qa.question_embedding = cached - continue - to_embed.append(qa.question) - to_embed_indices.append(i) - - # Batch embed uncached questions - if to_embed: - new_embeddings = await embedder.embed_documents(to_embed) - for i, idx in enumerate(to_embed_indices): - embedding = new_embeddings[i] - qa_session_state.qa_history[idx].question_embedding = embedding - # Cache per-session for next request - if session_id: - cache_question_embedding( - session_id, - qa_session_state.qa_history[idx].question, - embedding, - ) - - # Find similar prior answers - matched_answers = [] - for qa in qa_session_state.qa_history: - if qa.question_embedding is not None: - similarity = _cosine_similarity( - question_embedding, qa.question_embedding - ) - if similarity >= PRIOR_ANSWER_RELEVANCE_THRESHOLD: - matched_answers.append(qa.to_search_answer()) - - if matched_answers: - effective_prior_answers = matched_answers - - # Build and run the research graph - graph = build_research_graph(config=config, output_mode="conversational") - - research_context = ResearchContext( - original_question=question, - session_context=effective_session_context, - qa_responses=effective_prior_answers, - ) - research_state = ResearchState( - context=research_context, - max_iterations=1, - search_filter=effective_filter, - max_concurrency=config.research.max_concurrency, - ) - deps = ResearchDeps(client=client) - - result = await graph.run(state=research_state, deps=deps) - - # Build citations with stable indices from session state - citations = [] - for i, c in enumerate(result.citations): - if session_state is not None: - index = session_state.get_or_assign_index(c.chunk_id) - else: - index = i + 1 - - citations.append( - Citation( - index=index, - document_id=c.document_id, - chunk_id=c.chunk_id, - document_uri=c.document_uri, - document_title=c.document_title, - page_numbers=c.page_numbers, - headings=c.headings, - content=c.content, - ) - ) - - qa_result = QAResult( + qa_result = await run_qa_core( + client=client, + config=config, question=question, - answer=result.answer, - confidence=result.confidence, - citations=citations, + document_name=document_name, + context=context, + base_filter=base_filter, + session_context=session_context, + prior_answers=prior_answers, ) - # Update session state with citations - if session_state is not None: - session_state.citations = citations - - # Update QA session state with history entry - if qa_session_state is not None: - qa_session_state.qa_history.append( - QAHistoryEntry( - question=question, - answer=result.answer, - confidence=result.confidence, - citations=citations, - ) - ) - # Enforce FIFO limit - if len(qa_session_state.qa_history) > MAX_QA_HISTORY: - qa_session_state.qa_history = qa_session_state.qa_history[ - -MAX_QA_HISTORY: - ] - # Trigger background summarization - trigger_background_summarization( - qa_session_state=qa_session_state, - config=config, - session_id=session_id, - ) - - # Compute and return state delta if session state changed if session_state is not None and old_state_snapshot is not None: - # Build new combined state snapshot new_state_snapshot = build_chat_state_snapshot( session_state, qa_session_state, @@ -299,10 +318,9 @@ def create_qa_toolset( state_key=session_state.state_key, ) - # Format answer with citation references - answer_text = result.answer - if citations: - citation_refs = " ".join(f"[{c.index}]" for c in citations) + answer_text = qa_result.answer + if qa_result.citations: + citation_refs = " ".join(f"[{c.index}]" for c in qa_result.citations) answer_text = f"{answer_text}\n\nSources: {citation_refs}" metadata = [state_event] if state_event is not None else None diff --git a/haiku_rag_slim/haiku/rag/tools/search.py b/haiku_rag_slim/haiku/rag/tools/search.py index d5e4bb56..cdca8e16 100644 --- a/haiku_rag_slim/haiku/rag/tools/search.py +++ b/haiku_rag_slim/haiku/rag/tools/search.py @@ -47,7 +47,6 @@ def create_search_toolset( Returns: FunctionToolset with a search tool. """ - # Get or create search state if context provided search_state: SearchState | None = None if context is not None: search_state = context.get_or_create(SEARCH_NAMESPACE, SearchState) @@ -67,7 +66,6 @@ def create_search_toolset( Returns: Formatted search results with content and metadata. """ - # Get session state for dynamic filters and citation indexing session_state: SessionState | None = None old_session_state: SessionState | None = None if context is not None: @@ -88,14 +86,12 @@ def create_search_toolset( if expand_context: results = await client.expand_context(results) - # Accumulate results in search state if context provided if search_state is not None: search_state.results.extend(results) if not results: return "No results found." - # Build citations if session state is available if session_state is not None: citations = [] for r in results: @@ -118,7 +114,6 @@ def create_search_toolset( ) session_state.citations = citations - # Format results with citation indices result_lines = [] for c in citations: title = c.document_title or c.document_uri or "Unknown" @@ -134,7 +129,6 @@ def create_search_toolset( formatted = f"Found {len(results)} results:\n\n" + "\n\n".join(result_lines) - # Compute state delta if session state changed if old_session_state is not None: state_event = compute_state_delta(old_session_state, session_state) if state_event is not None: diff --git a/tests/agents/chat/test_chat_agent.py b/tests/agents/chat/test_chat_agent.py index a85d044b..e9662b9c 100644 --- a/tests/agents/chat/test_chat_agent.py +++ b/tests/agents/chat/test_chat_agent.py @@ -11,7 +11,10 @@ from haiku.rag.agents.chat import ( ToolContext, create_chat_agent, ) -from haiku.rag.agents.chat.context import get_cached_session_context +from haiku.rag.agents.chat.context import ( + _summarization_tasks, + get_cached_session_context, +) from haiku.rag.agents.research.models import Citation from haiku.rag.client import HaikuRAG from haiku.rag.config import Config @@ -563,8 +566,12 @@ async def test_chat_agent_multi_turn_with_context(allow_model_requests, temp_db_ 2. First question triggers background summarization 3. Second related question uses prior answer recall and updated session context 4. Both qa_history entries are present after two turns + + The ask tool internally fires background summarization (concurrent HTTP calls) + which causes VCR cassette mismatches. We patch it to a no-op and trigger + summarization explicitly after each turn to keep HTTP ordering deterministic. """ - import asyncio + from unittest.mock import patch from haiku.rag.agents.chat.agent import trigger_background_summarization from haiku.rag.tools.qa import QA_SESSION_NAMESPACE, QASessionState @@ -614,22 +621,24 @@ async def test_chat_agent_multi_turn_with_context(allow_model_requests, temp_db_ == "The user is researching the DocLayNet dataset for a paper on document layout analysis." ) - # First question about class labels - result1 = await agent.run( - "What are the class labels defined in DocLayNet?", - deps=deps, - ) - trigger_background_summarization(deps) + # Patch the internal summarization trigger in the ask tool to avoid + # concurrent HTTP calls that break VCR cassette replay ordering. + with patch( + "haiku.rag.tools.qa.trigger_background_summarization", + ): + # First question about class labels + result1 = await agent.run( + "What are the class labels defined in DocLayNet?", + deps=deps, + ) assert result1.output is not None - # Wait for background summarization - cached_context = None - for _ in range(50): - cached_context = get_cached_session_context(session_id) - if cached_context is not None: - break - await asyncio.sleep(0.1) + # Trigger summarization explicitly (sequential, no concurrency) + trigger_background_summarization(deps) + if session_id in _summarization_tasks: + await _summarization_tasks[session_id] + cached_context = get_cached_session_context(session_id) assert cached_context is not None assert cached_context.summary != "" @@ -639,23 +648,20 @@ async def test_chat_agent_multi_turn_with_context(allow_model_requests, temp_db_ assert len(qa_session.qa_history) >= 1 # Second related question - uses prior answers and updated session context - result2 = await agent.run( - "How were the annotations created and how many annotators were involved?", - deps=deps, - message_history=result1.all_messages(), - ) - trigger_background_summarization(deps) + with patch( + "haiku.rag.tools.qa.trigger_background_summarization", + ): + result2 = await agent.run( + "How were the annotations created and how many annotators were involved?", + deps=deps, + message_history=result1.all_messages(), + ) assert result2.output is not None - # Wait for updated summarization - for _ in range(50): - updated = get_cached_session_context(session_id) - if ( - updated is not None - and updated.last_updated != cached_context.last_updated - ): - break - await asyncio.sleep(0.1) + # Trigger summarization explicitly + trigger_background_summarization(deps) + if session_id in _summarization_tasks: + await _summarization_tasks[session_id] # qa_history should have two entries qa_session = context.get(QA_SESSION_NAMESPACE, QASessionState) diff --git a/tests/agents/qa/test_qa.py b/tests/agents/qa/test_qa.py index c538238e..d2c60647 100644 --- a/tests/agents/qa/test_qa.py +++ b/tests/agents/qa/test_qa.py @@ -1,4 +1,3 @@ -import importlib.util from pathlib import Path import pytest @@ -10,8 +9,6 @@ from haiku.rag.client import HaikuRAG from haiku.rag.config import Config from haiku.rag.config.models import ModelConfig -HAS_ANTHROPIC = importlib.util.find_spec("anthropic") is not None - @pytest.fixture(scope="module") def vcr_cassette_dir(): @@ -73,52 +70,3 @@ async def test_qa_ollama(allow_model_requests, qa_corpus: Dataset, temp_db_path) assert is_equivalent, ( f"Generated answer not equivalent to expected answer.\nQuestion: {question}\nGenerated: {answer}\nExpected: {expected_answer}" ) - - -@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() - - doc = qa_corpus[1] - await client.create_document( - content=doc["document_extracted"], uri=doc["document_id"] - ) - - question = doc["question"] - expected_answer = doc["answer"] - - answer, _ = await qa.answer(question) - is_equivalent = await llm_judge.judge_answers(question, answer, expected_answer) - - assert is_equivalent, ( - f"Generated answer not equivalent to expected answer.\nQuestion: {question}\nGenerated: {answer}\nExpected: {expected_answer}" - ) - - -@pytest.mark.vcr() -@pytest.mark.skipif(not HAS_ANTHROPIC, reason="Anthropic not installed") -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") - ) - llm_judge = LLMJudge() - - doc = qa_corpus[1] - await client.create_document( - content=doc["document_extracted"], uri=doc["document_id"] - ) - - question = doc["question"] - expected_answer = doc["answer"] - - answer, _ = await qa.answer(question) - is_equivalent = await llm_judge.judge_answers(question, answer, expected_answer) - - assert is_equivalent, ( - f"Generated answer not equivalent to expected answer.\nQuestion: {question}\nGenerated: {answer}\nExpected: {expected_answer}" - ) diff --git a/tests/cassettes/test_chat_agent/test_chat_agent_multi_turn_with_context.yaml b/tests/cassettes/test_chat_agent/test_chat_agent_multi_turn_with_context.yaml index 900c06d6..c2ccf0f6 100644 --- a/tests/cassettes/test_chat_agent/test_chat_agent_multi_turn_with_context.yaml +++ b/tests/cassettes/test_chat_agent/test_chat_agent_multi_turn_with_context.yaml @@ -257,7 +257,7 @@ interactions: response: headers: content-length: - - '535' + - '540' content-type: - application/json parsed_body: @@ -266,24 +266,24 @@ interactions: index: 0 message: content: '' - reasoning: Need to ask a question. + reasoning: We need answer via ask tool. role: assistant tool_calls: - function: arguments: '{"document_name":"DocLayNet","question":"What are the class labels defined in DocLayNet?"}' name: ask - id: call_9wcpqyi5 + id: call_7lvpjbkh index: 0 type: function - created: 1770738998 - id: chatcmpl-511 + created: 1770802519 + id: chatcmpl-300 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 46 + completion_tokens: 47 prompt_tokens: 1055 - total_tokens: 1101 + total_tokens: 1102 status: code: 200 message: OK @@ -367,7 +367,7 @@ interactions: response: headers: content-length: - - '947' + - '984' content-type: - application/json parsed_body: @@ -376,27 +376,28 @@ interactions: index: 0 message: content: '' - reasoning: 'We need to propose first question: likely ask about list of class labels. So next_question: "What are - the class labels defined in the DocLayNet dataset?" Provide reasoning.' + reasoning: 'We need to ask first subquestion: what are class labels. Probably directly ask. So next question: "What + are the classification labels used in the DocLayNet dataset for document layout analysis?" That''s fine.' role: assistant tool_calls: - function: - arguments: '{"is_complete":false,"next_question":"What are the class labels defined in the DocLayNet dataset?","reasoning":"The - user explicitly asks for the class labels. To begin the investigation, we present a clear, self‑contained - question that directly requests the set of labels so that subsequent steps can retrieve and verify the information."}' + arguments: '{"is_complete":false,"next_question":"What are the classification labels used in the DocLayNet dataset + for document layout analysis?","reasoning":"The original question asks for the class labels defined in DocLayNet. + This is a straightforward research question that can be answered directly by querying the dataset documentation + or metadata."}' name: final_result - id: call_3dr80uin + id: call_dhsc3w9h index: 0 type: function - created: 1770739000 - id: chatcmpl-368 + created: 1770802522 + id: chatcmpl-211 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 123 + completion_tokens: 125 prompt_tokens: 394 - total_tokens: 517 + total_tokens: 519 status: code: 200 message: OK @@ -409,7 +410,7 @@ interactions: connection: - keep-alive content-length: - - '2849' + - '2884' content-type: - application/json host: @@ -462,7 +463,7 @@ interactions: - Be concise and direct; avoid meta commentary about the process. - Results are ordered by relevance, with rank 1 being most relevant. role: system - - content: What are the class labels defined in the DocLayNet dataset? + - content: What are the classification labels used in the DocLayNet dataset for document layout analysis? role: user model: gpt-oss reasoning_effort: low @@ -518,7 +519,7 @@ interactions: response: headers: content-length: - - '491' + - '530' content-type: - application/json parsed_body: @@ -527,24 +528,24 @@ interactions: index: 0 message: content: '' - reasoning: Need to search. + reasoning: Need search. role: assistant tool_calls: - function: - arguments: '{"query":"DocLayNet class labels","limit":5}' + arguments: '{"limit":5,"query":"DocLayNet dataset classification labels document layout analysis"}' name: search_and_answer - id: call_7vlexnpp + id: call_f80pctzy index: 0 type: function - created: 1770739002 - id: chatcmpl-589 + created: 1770802524 + id: chatcmpl-384 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 37 - prompt_tokens: 628 - total_tokens: 665 + completion_tokens: 40 + prompt_tokens: 632 + total_tokens: 672 status: code: 200 message: OK @@ -557,7 +558,7 @@ interactions: connection: - keep-alive content-length: - - '92' + - '134' content-type: - application/json host: @@ -566,7 +567,7 @@ interactions: parsed_body: encoding_format: base64 input: - - DocLayNet class labels + - DocLayNet dataset classification labels document layout analysis model: qwen3-embedding:4b uri: http://localhost:11434/v1/embeddings response: @@ -577,14 +578,14 @@ interactions: - chunked parsed_body: data: - - embedding: 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 + - embedding: ux2duSn5H7xrzYC7Ke8aPfuVqboVrYA94V9bPd/R+LvPCME8O0Wmuj95JTuydck8J/xPO407Grxntai8SAGIvdB54jym47q8a43CPFnqBbzWbie81P8oPM7H6Dx2Uu48DSf/vBl26rxYGqW8/VdHvRosALqh55k8mVzFPJboBr2+88g8rOO6u1VKgTvqblK8v0FxvNn+t7uYhQs8cLYsvfZXgTxIupe8erxHPHGjwjt/WKs8e3H0uyxS+zvdx3C83GcIvbvDALzPmy88fm3nOyp59rx7c4K8LARUPfN/H7teGRU98DS8u0wFSbx0X/Y8frj/u21cE7yFK9a88vmpvDInWbx/0pu8xyVOPAd1pbwwCIQ8Ytfyuwzf5rwREm48OQGFvATIjzww6Z477Ib1vNtBCrxjQQA9ntFVvCr34jwgFho8MxJgvEZg2Tu75gk9nBDbO0h0uDvzlMk8SGjtO+2VA70nIN48/1WZO0jvgjyw2JW8WzTSO+a5fzmSPkA8JK7tvEECkryrmSi7JVDEOe0Kd7tbVrO842AaPLsNx7tadIE8XNHlvN0Nlrz25TO8tdstu2OjPzyWn8Q7NYtHvETEkrtjK9w7VI6vO0hBf7ywhGY7Y9/NPNJPSDxtJaQ8K6kkvBAL6juCyYa8zcW2O2YTOzyI5Ey9DcHhu+bg6rx39bo8zP/iO6SMajzyZZi82NrePGMZvrzNgVk8rLYZO93ZHbwVdR88ZlVWOxxkqzzVyZ+8qjbKOhVkDbu/MVU8WwwovBiUI71LwA28VjL5vO/AiTzMqYC77S6aPAfCk7w31Yc8UyOrO6A5OTwHePs8/0TWvI+iqzih17I7g6e/OxruM7sCdsw84En3vL/b8DxsVsI7+nIoPCAxXLu5CNC7RukHvEdnEL3z7xc81GetvD/GXLvXXa27J9GZvAFcY7zKNBK876VYO7HLi7zd+4s8m4eLPCJxFD28p7Y7kccePC3KxztRHDG8bJeUO3jC3LutYjM88KVXPKyVqjpHjpq7IL+GvP77VzwgWdO7sadqvA7KZLygWUW82qJku/740Tz7LBI8aAwDPJSw5jx+Ih+8GdQIvPpiTbyO3pI67hP4vIx/Vzwrq4q8HMUKO3nC8bxmZ6K8lZyFvEQPfjz+wzU8lQquvJ08bLx+/+Q8x4ZNO7KCNzkJ2AO8xJLcu3aesbo8Vce8DZoEPHx3iTo5s1S8K7WsOwZwgryrRdo8n89dPD/yjryUhqs6GKCTOsq7cDxHpoe8XOYPO//+6Tu+0Pa88La0PMYdpbx175a8c506PEY8RLwnIFe8kFfaOwbh97zF39+8M5mbvHbQeLqYP5C61r7PPLFAsryk1fO8puMzvD+dzbzlco68zXEWvHJSVby3cDu5CgzXu052Zbw0YeS7SgkTvCU7fTsIl5K7/0h1vIYMXLzvSn48sxFfPYVrLzsa6Zs6CD2TO/AHwTxMOc+8bdKEPADVSDzPAA08HH3WPLSmPrw5C9K6Y46tvFj1ujp5QQC8SgrvusUIXT3CL5O7kXnqO0wUmTw1gd883bhNvIRhXDyi4Ma8gbJvvMgmEbxK72I84OJeu9rfyTvOpVy8cO5QvOVuLDv1KRo8j6nDPGcRbbxvEq48W6DWOmxpYry+UD082L9wPLPEEDyjBDq8DlEbvKW0l7nq8s88M1kOvcEkIrr00ig7sTXzvNlqzLwF0eK7crBivSgcIbzkA4a7SoAgvGm31DvUDM489Uv1PBU0Tz26UYy8z5nBu6gBKz2gp0+9bHCaOAOaNzowUBM83izzu08IGT2WMTo8Jf6FO4gdXbyuh9U7/5UJPGH607ykWxO91eSGunA3DDpv4RW8PRdQvMywkblyT528SMydvIp27ryGlU+6MZYTPKe9FjxFd1q8LPSEOv2RajxzCwS9f0T/vGcrJbyBOI87QJtiPAjLQb2bom+8VwilvAKKzzxEGgY9WbMZvAERmzynSwm7j04PPVrFezvjYSg7yp3Ku185M7wOA5O8KihIu2vIp7uNYAE8a9nTPLSY67uWMps8B0/ivGQYxDvR/Tq8f7KovJiklTscZyc7fBiTO2wrFz1r2GQ84dRtvAwHKb1vrCQ9ZEhgO8G8uTzo9iA9buUTvUP5Nrw7hDS7dBO9vC97xbyjpgM8nRVEvbs1brwqmfU88YDKu6neMbs0SSe8I9AMOxwnoTzpiGO8bun2vPw8lTq1R488t6TAvLFmAbw4XUI6ujgxvFZJJb3pN/w7bM8OPPLLkDtaONU8VrB6u/hbzjxpMdi7YUKjvJsmF7vRaQc9vnHLPOqzWT2C9xq8kiebO00pObzijgq8hgy+O2BhFL0m1Uw8UoRiO6GMlzsDYMs89NUvvYydpryJGNg6Mp7hPFNE6Tydk9m8doSuvCRbA7wrwJy7WCyNu4krP7w7MMC6XtnwOmQzATtIKUS9W9AXPODFqb3vqVY8DQW0POF/FbyN3Eg8BUTIvAw9nbx15Qu8aD5qvPQamzzV/Ce8u9aAvK85KzoNrcW6IfiLPElW/zwy22A8yNDUO4B2Rbz1UBk8AufOPCBF2TyvneQ8oS0BPDqe1Tz0sxI9ayTEPJbV4zq3SGG7tIO7OzCvDz3WD7G7WOvjvIKPfTwxuqA8kWAsPA9sLDyF36G8oNu0vKHDJbzwBa+8/axavEmHoTyCCIW8r5m2vHbzvjw4IxM7ZxLKO87MxLsfkYY8ZMWmPM9dojxQVZq8qQUovbPBszz0XQm94L5Mu8ykA7xWOyq8HiUUPX0ki7yiUj67rCoyuvQkz7s1S02767tzPKO6ED08OnC7epSdu6Kj4TykhaU7Ly8yPGPfAzyju+q7WQ4hvfbWTjzb2gm8OS32O8SVrTxiEmc82t/7uwPdhDuUhIs8dvDHu5toAbzVBbK8nrKIOlmtAbwpFd68RbFWvPUEDDxYzwW9G9hWPFrriLzbNH27h48LPG/SprwpgwI90wC9O2DfAjxZyB69gI1HPF+ZqTw0QK88lnPku7YQFrz+5WU7RV6bOoQ1m7yXz9I7H+vEvLAgRLlSzEY8KY3ru7LAUjxDI5I8hTOUOzxdmrt7kse87jkuO3EKxDzKIGY7nI/buy6zpztcBAW7L7M7vOAvEzxrthw8MtQJPUUAcTrTqCE7FgQIvIYfCzyi8T66Pwc5vN318buQeJ684WvkvDD8ZDu5QF68InlzPGnrlLxVS8W4aPv2PP+Tz7tvdiC8GSCRPLfn0zviUbe83GSVuu8zHjwfzLo6pC3EO5lYxzzXsB887sHZvEVMP7xWttK8qxNbvGtiALxFsbe8MHhTPLM+vruhiyA8JhwLvB9eBb0uru286frbvJ9+CbxjSeS6QV+QvGTi7bvC8lE9pfD+O3E/y7xap328z1FMvRG3nDxyCIE7NP93O9J+KD20kMM8/JBwPHXagLvNzz8987iCvA/oer2ZViK9DWKNu5t8lzvEX7k6oqXxPLYim7zPryo8GjUxu6sRW7uyHLA8YtuqOtEmXzzcARg8vXcMPMKay7y2L8+8XMwWPYKo2LyFD5Q8l44fvfTzsbqsFMg8tezWvL/gGbzmVfo8uj5nPP3BHLxOlPk8t1kVvZ1PArxwC8a77Aq0PBjWN7x2S4s8Oh13O+aStjs6M8079GM0O1ujn7wWvsG85/NVvDqaMjztpdI8aPbvOwpLtryBWsa79cTKPI8vmToe4NM8Q9W4PKtvhjuxv/W8pCtGvLEgc7wDIYG8GcdLO4hs+7wDCKK7imghPJkYkjyVdRi8lxGlPMhi3jwvlpo8ATEbvJuTTL3fRxE7phmTvN0+Jry93628FkgdPPFpmbyhasC8avVXu/fl6jsN0BC98rOXutuSI7zIoT08RxPcu468GzxEyRy8ET+NPf+2SLyi/oS8A9WuO4wWRDp4TrC8Fo8jPCAppDxZmT88XFx2vDEYkTvo1uI8DGifO63ZBjwhrPA6HrExvPkBRjwJsB296gyEO/fsPTzysoE82RDuO7CoqLpi9jQ8L7odvH7OFbyDkIc8Nu4cPCxR/rvhGKM8j/GYPE1l7TsM9Oy83tjIO0jMDTxQdcK81p+6vD6Nvzw+AcG6UQMXu67WUDwSEqG8+jghPO12V7ocHQs7dk6KPYSDJrvVYZC8Lvnju3diwDxo6RG8j4FxvGGsB73u2HI8NvZdvOf0JjwIE9W7YVU+vNROa7uLHto6uV3+vPmbA7yoY945EnpsvKXsODzCsqE7+4xzvMlNkTymQZS7Ybc2vVM6lDuyCzM8FmXcuDP3ZjwZsew8gQsHvSR1hTyDyhY9H48ZPALZvLxu3cc82XN6ufLX3Lxyf5+7L9cZO3CznLw9cp68mBMIPWRyhrzqQAi8zlfCO2FC1TwacIQ8UAn7O5O1Xbt4z7c8t3QUO8UKFz3Yc+a7EBu+PAoICDv/oJg7aID9PJTC4LvkrBE873mdO5DuCLqnmsk8od73vCMn1rzVIM28eSrMu5AcGL3f5A89ajGQvDSmgrtm/iA7Km/cvPkKuDx9myW5jOCzOgKxZDxAYpU9Q4YQPfElajzO7g68RGRQPB3kPj2i02o8rXStu515UryQf387ZDI7vIWpF72Fwke80MeVu7793rptffw6BDI5vWF0jbzuqHi9yooNPcTI1zt5Bs47i1ZZPM0udj3iAwe81B2quzRTLbxn7z655D4UvLcgqTy8MZa8PM94PL+TCj3JefK8+cy4PJl3xrzwR4g8mupSPJWwL7zptIq8lLjSPL8UI7y4VTA82Lc8vB5ABjwwuvy7ILP+vI07CD2MNsK7ZKCAO5PzXDyvSxO86O9BPUqIGD1xmms8rKFUvDCfBTsOqqE81g54vH6W8bxKIQ699zkgunOLHjxMsGK9wUb6OyHiobo7/w67lkM8veLjDbxwApu7Ym0Xux0Ju7wp/Q87gbPGPABKDrx9BTS8i8bLvNkTn7zUprM7gsYBvcJ4BjzNOqS7K2FtPPiiDj18wJC7ogsCPOnIMDtMCW0859iLvGdXlbx/LrU7v0oCPf0uIj2x+Cg8G0Edu3dELbuqSQQ7otAcu4sZFb0Xv4A8JvSJvJ1HJbwMLP67REBluzq8bbzsISa7Xk/+OrieWzvkx7876uGjORHzYjvdpAy9XDm4PAM+hjzPE7w70MCSPK3nU7x1eJu8vak9PAU98rvNrLi7r6TwuxbHDbzALMi6i9HfO3S4v7oNTBs9EnWZuVqH6Dvj8oy8T/OKvJiqCTy4+LA7CR4NO21QGL1Uk7g6uNGbPMyALLtzrR88O9pxvAy4qDta+HE8CRd/PLgypDwGRTE9/rTJO9tiuTw4iuU7i6N4vPh+Vb0W9s08XrnNO4bT5byHS2S8L7OhvGIaKD192KI77zHyPIetPL1Zx6O84yT6u6xHODt35Iw7ra7AvAlEXbz+y9Y7moUhPbfGHrys4LU8pgF9uqs2FzqSkwc8vWGMPKYx+TySF+C7WAj1PJIF+jzN8zS8f0kfPVAcUTzIbb88LdQxvd7+Fbu1jAi6bpHRu80bhry9N1a8pDBUugte9btOhX279cnfPMxhIzz8QZm8EFPkvA70UTy15s+7cihBu9CUm7ytk3Q8nb/BO3M/RTyA4WG6X7lhPELm57xH23y8DSqwPHi2Srou8cW7sui5PBLeeTvgaEa8qdrWPAjhOb1Bvt+73dNZvTbjwDuF9NE7bPFounp1iDx+Wca8YdoXPSoSSrycVHa8nFEOOyqoD731il68nQgsvSEF67zMvSe8VI6qvHsXITssiVy8vCcPvN5BprxRV887sZBoPABCqTvHiCi7klumPGvl2DwmX/47134iPOsxebxI5zI9WEeVvAsWsrz1sVK8C46FvIxqBLy09GS8cMKcO7JGJ7wv1dG7SAoYvTjVpbyDcOg8twKAu3SIvzrQJKE8McYlvVWxiTzsBI47FxGAPFQy5Du09U+7nMCvvMewxbyEX428/rcIvT2wbjy6+oQ8+YLOvGOtGj0k5j46HW1hvLq81jxzfyy7amaFvICR1zzv96K8YJpYPMgIZTwxbwO8rbnKPJNunDwbeV689TqDPN1bCj3QGRy8QTrPvOrjm7wTWpg8fwEwvAxfsjw5/bM8Rw5OvO10UD273YU7MeBBPMz4E70yMAs6wbflPAu44jyprRE85eqnO/7lpjvY8Z08Zf6rPIcDNTy3Vey7LpJlPBKFUTslMi67egtqvF/rqjzZnPy3XP5xu4ZXOLoysBA6llPyu1GxPL0g1jE8QV3qPDIsFDxxXBW71HB5PD/rkbwz2Jy7CG14vMfAqLt+n4S7wnMkPf6oybxf/Dy9T2G/PFxZgjs2fgM9bhOKuiXH5TzARAw9ak9OO1OweTwtZRi9T+jXPDj/RLxbPTi806ejvOI0rb2htQW9kMRRuwS2L70BFze8WesFvbnADDqKeNI7LlUjvNMPSzs0rwY8OxNxPTd9hDy3UYa6s5VzvOdUvjs6/u+75DAQPGInyzzX/cG7R1Ppu9HS7bzhyJm8L0wbvDU5BDwKpQy8+s6NvLKHkLxgYZA7W54ZPXlCwDwCYYM73MXjPOmC4TxUNTI8tQ0tPH4s3byfTHw8hODLvEEsXLtZw9w8U5j4O6S1jLy1Olc8MaIHPR5XkLw9EI89IvcgvMh4yLsoo7g8+NmXO/Jit7r5+1u9tS9UOzsr7Lw+txS8KTwguwM1Bbn8nnc8miiUvK4cs7xyXE09nv4RvUEe5bvUIWO8L8aoO3D+2zyHDNM7XGyqPMRyZrt723G7n/hUu7hNxzw8yU68rkAsPC25yjzkjFW8/kusvK/UC7mEd967cxGBvBTt8rw6ma48zTF2vDE8DTtybJC7LASvOx1Dl7u0MA296M2TPMrn7btzZCi9pcCQPMSghjgBWE29yWp3vAkHE73BIAE7R8ltPM82mrub2r+7GTMevAiaoryFOig8EFWfO5g1ojzWqHw8Vi/kvFmSzjye03E8tLD3ux+ti7qira081VAIvdHCEbycSYw7eNgaPEZ4Lb0AN8i8pffvvJxRxLxAQoW8tvwHu877Rzx4SYY7CMUKvBppETtkDeq7VxQEu/xo1Tuws1S8hLUMvFNS+Lkm6Bc8P+aOOx2tAT1CHa68yAJmufLYrTweJdc7838aPRHTl7zh4EW9XOKivI3Hy7x8Bko8Zg8KO5VSFzuXHXS97wcYPEKB87uzHO68WoZpO8+0gzvHZZo7okePPARsQDzD1P08fsZwPAWmSTzV6YU7yCZEOqn6yTspX4K8cocAPSKKwztKSK07mZ7TOurWED2UoHY8AzAAvdlyiDw9RfA8cGxuPGVbury8Leq8S2cvvMZJkDzybbu7nt4WPROX3rzPk7a8A7KUPC88yTt9t8Q8wU3eu9td0TwXev886MU2vS9hCT2NlWc7SZxOPO7Ftbt/JIG8A91hvIf3Wj0o11Y8ZGMWvWPZAT30+rm7eVsxO7b5ers3TAg8/4tXu1hhB738v5Q8I6cePBBjQLx4Du085g6OPLqZ07z5+cO8U7nivF5GRz2aNOK8C1ijvAADzTvzqdu8Fk3kPMD6M7wHfog7xE3du6nlAj3jBkC9tyXVvKP6gLyOEhY7hEuNu3mMrzwkt268SZ14O8+gKbyNM/m7Y5HZvKiIwrytgIG84YlOPBS4mDwMD4y7AumZO2+W6TzRKBg8/fwcvEw8ILwIRIY8nywWvG5Tc7xNEt67h9QhO9gmwTsGBJY8UHhFPLeufLyy4rq7RexJPZm5lzyO6Fi7bB6IPCD8ubxJPAW9rJxXPH6LLrxmVOk7PjqFPKGjrLytcJg8sbMPPUXt9ryivua84iEHvWjV7rwHPFq8ISknveMK2jyHIiU87JeJu4oAyLzD6q8854KkPF6pPbzLkog7gRS6vEcIWzzAqwO8++MGPfHlvbtXQvq8HpTPPER41jsDbYc7AV3PPA+qozwBsAe8KTo8vM6FBzyEwJq8kHaGPKX2i7ymBKq8DYO7vJSUd7sB0B29DX9bPO43srwve4S82F6bu1+XCrxhp0K86TniO8R3Lrv+Jeo7oIBzPA5OrryUCYW8kXo3PEi2vjy4JoC8/IMyu9fslzuAjuQ7eJU6vDQ4WTl6jzO7ehnNvE+XETrjZ8+8MymSOyn0p7uz2Ro9UtrKu/2iwToiyJU8/tNqPH09lbvIPyM8EemfvPQUp7xNvFo6HVicu1g3iDxaARc9E46MvJjchDxjQk08oo4LPPgi+Tpjp0S79R5kvNSjTDzzPFI61EWNPJcj/joY4hq8BqOmvNx2KD3I/gU7aPosvdVtwzxdvEw8glV0u9KgoTtcK4E7V+7QuwnqQz1Lx1C9lfiFO0/MtbxyJ0i77eg9vBwsQzx9rfy7OZ3lPPoktrwJWCY777uEPFJPd7tPZKI6gPOOPHTJ6DuCJY+7mryfPNuebrlqFKU8Nl4nOjyqwrxJ0A68LL6XOy1fDjx7Usg8yt0NPUUAhbwwqBy7AyCHO9J7pbxUR/E6iaC+PF/EQDyFt6+8CBeavPa9Wjzz+hs9L3sWPRN6OLxf0Le82G8+u2xmOT3+wxe9y87iOLxUeTv3v+a8yT2AvJyjujvyDCU7NiRQvLyTITw2XRA9DpfluuMit7zg2WK7EE+rPA6NMD2+XCs8mnEyPRxZITzP0Js6eic2vO+q+7vuIgY93fGAu92xpDtMeqs87fjOuJrqZT33Vci8QgdeORoqYjk4nKe8sXaAO8vBgbw2Kys99cIlPAdFprx747M8C5ZNvAz9Az0OHTG9pqRMvEjrGr14mym790dvPHiW5TvKRY47tPXuPF6tyjsOIjQ96renPAvuiTw0ilk8HT8hvNzbAzzB0Gg7xlC4PBWpVjuQilu78mf+PAQ/ujwhB7O8w/0MPRV95bvmZnI7yU+1vLFWUjuVxXm89LXGvBA6Az1UXBU86WCQPH7Ng7sB9gm95soUu82JJbxxZqe8iMBAPG1x6rx8Avi76OUjPTJLfbxWzTW9LDhIvNuLh7syNYe8+9gNPGJvozwG8u085N+uO/Y6VjwPpno8+5cPPT28qTwzSjO9FR8mvCEohrs00cK8LdUIPEKVpzqh8xK9xj9IuomZdLqFj0y7mWj7vLEeM7yZ0iy80xCcvMUIozzXO7a8NSwMvVCPizlZwB09CIl6urijqjsRehE8MlT/O04ExDxiwZU8e0nHvDl8zzqMrSw8qqIhPICYCz378EE8nVPPu5rXVDzut+o7rwx1u9ofETwcN0k6Vs6xPCr14LxX2ku8LG2xu92yTbw7FIe8DBKUvAwWXLx8ZW68cH0NvNfXAjzqjga77ppSu3t29DwJ1ws9TUUAPHmxajvdOTw8IprQu4FdBDtpT9u8V/cPPBxEIbyDLUe8qM4nvHUnxjoOMII6x0aOvGUwt7xSnny8CdSku/d1F7zVsDm9UKkbPAn+87rHdAO9RCkEvDpL0zzoob28POkMPbW5AzxWwba70nhVPAIhiDu936e8kJkfvaRHQbzLdbK7pAhRvVN3rzyVvDs8fSLhO9ZGIbwPUq27V5RDOseP87ookki9PCptO5h0TDzm6eK8MHKuvGqu1zwhNL28zKBOPCbuGL21V5c8xEbdu0nkq7zHlmm73Ij8u0g93jxgwu48RTYLvOHBn7zf6VA85pV0OzjvBD3SeEW7KJDCuV22jbsddVE8wKSCPL/WHb0kIYS7l2KGPJfGnbphCEa8T141vAH4NL2x45Y7nP7HvExyEDz0IbC8ci4NvExvBLxnBKK7zdpnvLLAOLxIMfm8kOETvR6NNrz5ncW8g0NBPGiGQb01ROo8V54HvPzdrTz41JS7as4vvAb+tzzx+Sm83o8wO54moLurTY478zbxvMQFuTsvRZI81UWAuqQ7+bvogg+82250OjhGrzvAJz68hCfTPCu2qDjWpsO85AqlvFW3Ab2m/Ea8ypuEPJD+wzygTou8piqNPKX4IbtOkpa8cMltvGPquLwW4pE7j+sRPLfI+bzKYE082c0oPQCA9jx/mV073WSZPLq+gTwI30g80z2KPJk5XbwyCfg8hG1mPJHPETx1wMk8VMUuPfSHAz3+9P28uCA2vHIU+DtNE4M8S+GKu3JTU7uqPwM8pcwPOjq+BD1sjH68RBioPHi7NLzWSt288LlHvaQoRzy7E3e7osWoPLvEqDy132C7jXDFu4+FDLvPd4882TlLvILoRDxkkN25O7s9O/SzkTwh4TY8fUtMPBSpZzuJsga9jroVu7r/lTwXjyY7nWA+Oyj79rslbeQ7CQN/u+W6prx1LsK7B2BNO5/iyjujqL68SnKvuxT7lTspDg28T9JNPLoec7yqPPo805eMPFn8PjsfLVu8FJ4hPbEIpLuAZIa7TkpDO7N967wwcHG8X+ZhPEktXDw0wPw6KNFjvOzN7btSK2K70E0jPRQb1TndbXo634WFu4PW5LyHVJw7K1kaPH/maTxkNpY8tRLgvAOKFr1GRRi8IzhRPOabDT3hox29jVPcuVtolrwP3hq7of8ju3nkjDtZgYu8ukvrPEDEU7s1dVw8rpWsOxbKkbyVJEm9V3LgPJ2agrr6mD88iXEtPBKh7DvNMwM7uQtIPaC6Er1iAZ28sx9zPE6amjsAR607fqUvvPbWb7xvwVq6nREFPNkPLj3cCCU98oW+uxR4zjvDjwa8rRdjvEdpKT2nS3G8TCikOfs1mrwgkZa8JXjsu2EyBb0WzRy8c4VGvI36Qb2gcSG8mUBEvJrwGb2bGrS8vn+Su7SGKzwMhnO8Ht8AvE1K3jvR/6+8gFEZPDHg8TsICxM8zVCnvPgFTjwxOWg7KttbvETBYzvsBPy8OL56u/8MKb0gZIM82YvhPHCskTtGlji9FwSOOhSR9Dxmt8u8UmYRPDIbkTx+pEA8Wod5PHbDJLsu2Uu8cWzvuoQsqruSQ406csrVOy8P2byuXX08saLxvHwRd7t6ujC96PW3vIxY5zyxYKE7E/2NOximHDymVse8JwLNPNa/uLsr8ga9NeSsPOwfBr0c+Dq8ABmHPN8hJT2XU7G7EGrXvEkbgDuMT0q80qHGO6cmYTs42bo8wIxvvBODdrweKdo6l/4+vCuAEbwa/+I6FZQou04PLj0kb786UsqLvKZMyLupKko8cx3Cu/sD67xfIKG72cGjPEUYnzu1o5Y8c2YQPUysGz2veGC8lvh2vIONd7rMlqa8qQuYughkjryLNt+70hvTPJPDnLwNi/y7IRsAPSeym7xBbvq7LctHO3RWt7wDEwe93pmmuwDO2roaNo87oEsRvC18HzwO8Oe8n7M8PA4dGDwHq7E8qshpPMpiYryYSMY8I29DPLAV3bx4jNq7Qpsvu+710rzBw4W8UdC2vP+OH7p5Ilc76rYVvEOnmLu4J5O87JlYPEreGD0YQO47Y5BaPFlAKDz8+4y8WwW1PLcF4Dsz2ye8ZKsgPCC7gLoboYo8Ij6cPF5qSTy/8Iu7uFy8O22nZbzyk1u8kimpu5870LyHLCQ92eAGu1YLGb3PanQ8B27JPOMGcbuu/jk8lDO+vB+wTjxLTt671qQRvV/LNb2jysA7PhITvJgz8bq76sW8JEYyux9Uhbp7Zgc818AIvbnvSzzg1Z67w8H1O2YqoTyRxQO5UMqmu+1VGb2/+qY8Fvv6vLqAnLxMAVy8tB3Au/Zgwzxqiw09n2ciPFB1E7wzNMA8uv4SvTBw+TuHAii8YSedPFZeGL2KsE68J/xPvIORVb1EMGg8XJJivKpi1zs6ATy85ekHvNIygD3mWHC8HijqPPVIbzzttv+85vaPO+34DL02weE8AGCdvMPwIT0FiRM80GBevKBxgzu1shq7uB8rPbcDyzuO37M6HoRBvGoIDDz6XLs8VJlFPAXaCD0wbyU8GuIUvA85dzvsDu26J8QyO9rMtjo+2vs8EC0ovAv/4bwLsXE7T2GevFzIYTwHn/e8NVJsPGmZML3nB+c5ex2XvE9pkLxkU528C+2yPAsGkzuBAYM8cj+uvI+FFrzpAxU71b4tukxJYzyVFfc53UGTvKcLoDxala87SNzuO5DqiTz4NoK8X8q6O4aDKD2HUl28edDCu3h5AT0vAb+6zghtO/eyH7ya+ig7r7gnvLRXg7w1yWe7HK4JPbsoiLtP5528n/FxPI5m4brWk8s8bWQEPVUSi7oqroU8BLvqugkTHDwgezC9zOX7vFw9TLwjs0k8YFeOPOh7zbuawkA9cvapOq0gBTw3YUc8zcTXvK6rDD1Ygs+8NIIYPFH6Zjwo2hg8IccDuhkDULzk7dW8YVHWPH++Hjy3XpK8bskovDJxgrya+Vk8YAUXPB5OOzxm5Aq8/QcNvZu4u7w2XII7Z4OXPMNu7zzkWQA8bvSVPJRegrh+jO88oGrsuwbkgbqbe0G8ODd6vPMQnDqvou47mbaAvPnokLrX+TK9BTXVu6NoC7yvY1e2zLhJu7oJnzz4nS08/jiPvKbVKD1bhcy7jMBhu4EtJDy+V567x77EO31PTbytauM7I1zmvMfvv7uN0yG9xRo0vFU3fbz35Sw8m6Z6PKCuxLj7kDq8wuWivNjFaTzoi2C81fevPFlzl7sB0+y8SLV3PFDrdzwNRU68XxrRPJhJYbwH8L272TWkPCZ/u7tKvSG6HSOLPO16hDycJbK85dyNPAsHKDv+hoA84+DmPAwHoLvRlAA9QDXUPHCjOzz+m5A8RJ+OPCqUnzytPk67FvXBuoo6KD3js4e8gcQTu1eLJDw/UPE8EjPSOq8DrLyj6vU8C2QDPdtqVjzM0gQ90huvu4qbXTr7Oam6L28XPZd9ojtUGjo8j2IxPD3OM7siJ6Q7ZvlRu7mRpDzLKN878jQovPo5j7sOLHy8vkX7vDSkGLu3yFW80OrJu5dhj7othX48Y2pGvB6XCTxNHB06XQoJvBNlwzq0FC89P2KEvN3DCr3GkZe87MxKvAg0J7v6f+C7TINdO0Wye7wNziY9t0ZAvXh2eTyd/bi7w94QOuombby8h6A7/t8IPf3HHjwzH4E7lJrFOIfKlTsHWJ263a4KPKJbkLyGeGY8NvMXvYELizuqo9C7pJciPdba5LuC/Vq8sC2MOyClqbuUWrg8Dx2+vETe3zz9nSq8CfarPI+zBrwendk84uEZPFA20Lt2xsc85Hw8PIEDeLy6ee87jLGZO2sAlDsytrQ8ORYZvVP15LsLteK81/kavMGJATyDdBK9+dsFvaHXiTyF76a65f3IPB+VEjyGZSy8+f00PJGKT7z8cfu7bX2bvPmOqjtGArO86t43PHPQxrx4ijU9I9cEvIzNlDsLVZg78kWXvI+zbrzWwwk8yMACPa/siry5hmI8A+cxvA1VFTsbD0O8rYWwOsLxQjs3IQi9nHnUPD7apTz08F+8VhXIPAw457o7g7I8EoLovKCYaTzsEOY7AZVDvHwF8LwTLla7ue0WPELuCrxo1g6741SGvLIfRjxUOb08JfewOi0LTzyzBYI8XuicPK6lsTuMdVE8tEKYu91FpLxGnX66FhiFvBxzOLYjfLw8bByWvFWugbxr/Yq890+du4zajDt3Ima7UF9zO2j877qhQzC7JbGBvB5THDz+45i8y6Q3ugolkzwoxPM6nxLzu9HdHDymYX48jHj9uZcqAb3kUkK8Gv3OOw== index: 0 object: embedding model: qwen3-embedding:4b object: list usage: - prompt_tokens: 7 - total_tokens: 7 + prompt_tokens: 11 + total_tokens: 11 status: code: 200 message: OK @@ -597,7 +598,7 @@ interactions: connection: - keep-alive content-length: - - '4230' + - '4304' content-type: - application/json host: @@ -650,21 +651,21 @@ interactions: - Be concise and direct; avoid meta commentary about the process. - Results are ordered by relevance, with rank 1 being most relevant. role: system - - content: What are the class labels defined in the DocLayNet dataset? + - content: What are the classification labels used in the DocLayNet dataset for document layout analysis? role: user - content: |- - Need to search. + Need search. role: assistant tool_calls: - function: - arguments: '{"query":"DocLayNet class labels","limit":5}' + arguments: '{"limit":5,"query":"DocLayNet dataset classification labels document layout analysis"}' name: search_and_answer - id: call_7vlexnpp + id: call_f80pctzy type: function - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] + [ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a] [rank 1 of 2] Source: "DocLayNet Class Labels" Type: list_item Content: @@ -688,7 +689,7 @@ interactions: Table - Tabular data - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] + [9bfc2ccf-2e74-4981-96eb-917e31261b85] [rank 2 of 2] Source: "DocLayNet Annotation" Type: list_item Content: @@ -706,7 +707,7 @@ interactions: The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. role: tool - tool_call_id: call_7vlexnpp + tool_call_id: call_f80pctzy model: gpt-oss reasoning_effort: low stream: false @@ -761,7 +762,7 @@ interactions: response: headers: content-length: - - '1044' + - '839' content-type: - application/json parsed_body: @@ -769,23 +770,22 @@ interactions: - finish_reason: stop index: 0 message: - content: "query: What are the class labels defined in the DocLayNet dataset? \nanswer: DocLayNet defines 11 distinct - class labels for document layout analysis: \n- Caption – Text describing figures or tables \n- Footnote – Notes - at the bottom of pages \n- Formula – Mathematical expressions \n- List‑item – Items in bulleted or numbered - lists \n- Page‑footer – Footer content on pages \n- Page‑header – Header content on pages \n- Picture – Images - and diagrams \n- Section‑header – Headings for document sections \n- Table – Tabular data \n- (the remaining - two labels are not listed in the retrieved excerpts but the dataset specifies a total of 11). \n\ncited_chunks: - [\"94eeea02-55a7-42ff-9a0c-5c7ce56eb484\"] \nconfidence: 0.9" + content: "**Question:** What are the classification labels used in the DocLayNet dataset for document layout analysis? + \ \n\n**Answer:** DocLayNet defines 11 distinct class labels for document layout analysis:\n\n1. Caption \n2. + Footnote \n3. Formula \n4. List-item \n5. Page-footer \n6. Page-header \n7. Picture \n8. Section-header + \ \n9. Table \n10. Text \n11. Title \n\nThese labels cover the major visual and semantic components found in + structured documents. \n\n**Cited chunks:** \n- [ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a] \n\n**Confidence:** + 1.0" role: assistant - created: 1770739006 - id: chatcmpl-699 + created: 1770802528 + id: chatcmpl-925 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 182 - prompt_tokens: 950 - total_tokens: 1132 + completion_tokens: 148 + prompt_tokens: 957 + total_tokens: 1105 status: code: 200 message: OK @@ -798,7 +798,7 @@ interactions: connection: - keep-alive content-length: - - '5150' + - '5019' content-type: - application/json host: @@ -851,21 +851,21 @@ interactions: - Be concise and direct; avoid meta commentary about the process. - Results are ordered by relevance, with rank 1 being most relevant. role: system - - content: What are the class labels defined in the DocLayNet dataset? + - content: What are the classification labels used in the DocLayNet dataset for document layout analysis? role: user - content: |- - Need to search. + Need search. role: assistant tool_calls: - function: - arguments: '{"query":"DocLayNet class labels","limit":5}' + arguments: '{"limit":5,"query":"DocLayNet dataset classification labels document layout analysis"}' name: search_and_answer - id: call_7vlexnpp + id: call_f80pctzy type: function - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] + [ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a] [rank 1 of 2] Source: "DocLayNet Class Labels" Type: list_item Content: @@ -889,7 +889,7 @@ interactions: Table - Tabular data - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] + [9bfc2ccf-2e74-4981-96eb-917e31261b85] [rank 2 of 2] Source: "DocLayNet Annotation" Type: list_item Content: @@ -907,14 +907,12 @@ interactions: The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. role: tool - tool_call_id: call_7vlexnpp - - content: "query: What are the class labels defined in the DocLayNet dataset? \nanswer: DocLayNet defines 11 distinct - class labels for document layout analysis: \n- Caption – Text describing figures or tables \n- Footnote – Notes - at the bottom of pages \n- Formula – Mathematical expressions \n- List‑item – Items in bulleted or numbered lists - \ \n- Page‑footer – Footer content on pages \n- Page‑header – Header content on pages \n- Picture – Images and - diagrams \n- Section‑header – Headings for document sections \n- Table – Tabular data \n- (the remaining two - labels are not listed in the retrieved excerpts but the dataset specifies a total of 11). \n\ncited_chunks: [\"94eeea02-55a7-42ff-9a0c-5c7ce56eb484\"] - \ \nconfidence: 0.9" + tool_call_id: call_f80pctzy + - content: "**Question:** What are the classification labels used in the DocLayNet dataset for document layout analysis? + \ \n\n**Answer:** DocLayNet defines 11 distinct class labels for document layout analysis:\n\n1. Caption \n2. Footnote + \ \n3. Formula \n4. List-item \n5. Page-footer \n6. Page-header \n7. Picture \n8. Section-header \n9. Table + \ \n10. Text \n11. Title \n\nThese labels cover the major visual and semantic components found in structured documents. + \ \n\n**Cited chunks:** \n- [ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a] \n\n**Confidence:** 1.0" role: assistant - content: |- Validation feedback: @@ -976,7 +974,7 @@ interactions: response: headers: content-length: - - '1197' + - '871' content-type: - application/json parsed_body: @@ -985,29 +983,27 @@ interactions: index: 0 message: content: '' - reasoning: Need to output via final_result tool. + reasoning: Need to use final_result tool. role: assistant tool_calls: - function: - arguments: '{"answer":"DocLayNet defines 11 distinct class labels for document layout analysis:\n- Caption – - Text describing figures or tables\n- Footnote – Notes at the bottom of pages\n- Formula – Mathematical expressions\n- - List‑item – Items in bulleted or numbered lists\n- Page‑footer – Footer content on pages\n- Page‑header – - Header content on pages\n- Picture – Images and diagrams\n- Section‑header – Headings for document sections\n- - Table – Tabular data\n- (and two additional labels not shown in the retrieved excerpt, making a total of 11).","cited_chunks":["94eeea02-55a7-42ff-9a0c-5c7ce56eb484"],"confidence":0.9,"query":"What - are the class labels defined in the DocLayNet dataset?"}' + arguments: '{"answer":"DocLayNet defines 11 distinct class labels for document layout analysis: 1. Caption 2. + Footnote 3. Formula 4. List‑item 5. Page‑footer 6. Page‑header 7. Picture 8. Section‑header 9. Table 10. Text + 11. Title","cited_chunks":["ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a"],"confidence":1,"query":"What are the classification + labels used in the DocLayNet dataset for document layout analysis?"}' name: final_result - id: call_pt7wqzks + id: call_nw4zcob0 index: 0 type: function - created: 1770739010 - id: chatcmpl-898 + created: 1770802532 + id: chatcmpl-662 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 202 - prompt_tokens: 1157 - total_tokens: 1359 + completion_tokens: 154 + prompt_tokens: 1130 + total_tokens: 1284 status: code: 200 message: OK @@ -1020,7 +1016,7 @@ interactions: connection: - keep-alive content-length: - - '3405' + - '3098' content-type: - application/json host: @@ -1055,19 +1051,9 @@ interactions: What are the class labels defined in DocLayNet? - What are the class labels defined in the DocLayNet dataset? - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption – Text describing figures or tables - - Footnote – Notes at the bottom of pages - - Formula – Mathematical expressions - - List‑item – Items in bulleted or numbered lists - - Page‑footer – Footer content on pages - - Page‑header – Header content on pages - - Picture – Images and diagrams - - Section‑header – Headings for document sections - - Table – Tabular data - - (and two additional labels not shown in the retrieved excerpt, making a total of 11). - 0.9 + What are the classification labels used in the DocLayNet dataset for document layout analysis? + DocLayNet defines 11 distinct class labels for document layout analysis: 1. Caption 2. Footnote 3. Formula 4. List‑item 5. Page‑footer 6. Page‑header 7. Picture 8. Section‑header 9. Table 10. Text 11. Title + 1.0 DocLayNet Class Labels @@ -1150,7 +1136,7 @@ interactions: response: headers: content-length: - - '1659' + - '805' content-type: - application/json parsed_body: @@ -1159,34 +1145,26 @@ interactions: index: 0 message: content: '' - reasoning: 'We need provide answer from evidence. We have one prior answer lists 11 labels. But maybe need include - all 11. We don''t know the two missing. Could look up? but cannot. maybe assume missing are "Text" and "Background" - or "Other". However we should base solely on evidence: we only have that list of 10. We can''t guess the other. - So answer with the 10 known and note incomplete.' + reasoning: We have prior answer with labels. Provide answer. role: assistant tool_calls: - function: - arguments: '{"answer":"DocLayNet defines 11 distinct class labels for document layout analysis. The labels that - are documented are:\n\n1. **Caption** – Text describing figures or tables\n2. **Footnote** – Notes at the - bottom of pages\n3. **Formula** – Mathematical expressions\n4. **List‑item** – Items in bulleted or numbered - lists\n5. **Page‑footer** – Footer content on pages\n6. **Page‑header** – Header content on pages\n7. **Picture** - – Images and diagrams\n8. **Section‑header** – Headings for document sections\n9. **Table** – Tabular data\n10. - **Text** – Main body text of the document\n11. **Other** – Any elements that do not fit into the above categories\n\nThese - labels cover the various structural components that DocLayNet annotates for layout‑aware document understanding - tasks.","confidence":0.66}' + arguments: '{"answer":"DocLayNet defines 11 distinct class labels for document layout analysis:\n\n1. **Caption**\n2. + **Footnote**\n3. **Formula**\n4. **List‑item**\n5. **Page‑footer**\n6. **Page‑header**\n7. **Picture**\n8. + **Section‑header**\n9. **Table**\n10. **Text**\n11. **Title**","citations":[],"confidence":1}' name: final_result - id: call_i3ecl9fe + id: call_3juuu2zh index: 0 type: function - created: 1770739017 - id: chatcmpl-642 + created: 1770802536 + id: chatcmpl-102 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 302 - prompt_tokens: 573 - total_tokens: 875 + completion_tokens: 143 + prompt_tokens: 527 + total_tokens: 670 status: code: 200 message: OK @@ -1199,7 +1177,7 @@ interactions: connection: - keep-alive content-length: - - '6479' + - '5952' content-type: - application/json host: @@ -1234,35 +1212,33 @@ interactions: role: user - content: |- - Need to ask a question. + We need answer via ask tool. role: assistant tool_calls: - function: arguments: '{"document_name":"DocLayNet","question":"What are the class labels defined in DocLayNet?"}' name: ask - id: call_9wcpqyi5 + id: call_7lvpjbkh type: function - content: |- - DocLayNet defines 11 distinct class labels for document layout analysis. The labels that are documented are: + DocLayNet defines 11 distinct class labels for document layout analysis: - 1. **Caption** – Text describing figures or tables - 2. **Footnote** – Notes at the bottom of pages - 3. **Formula** – Mathematical expressions - 4. **List‑item** – Items in bulleted or numbered lists - 5. **Page‑footer** – Footer content on pages - 6. **Page‑header** – Header content on pages - 7. **Picture** – Images and diagrams - 8. **Section‑header** – Headings for document sections - 9. **Table** – Tabular data - 10. **Text** – Main body text of the document - 11. **Other** – Any elements that do not fit into the above categories - - These labels cover the various structural components that DocLayNet annotates for layout‑aware document understanding tasks. + 1. **Caption** + 2. **Footnote** + 3. **Formula** + 4. **List‑item** + 5. **Page‑footer** + 6. **Page‑header** + 7. **Picture** + 8. **Section‑header** + 9. **Table** + 10. **Text** + 11. **Title** Sources: [1] role: tool - tool_call_id: call_9wcpqyi5 + tool_call_id: call_7lvpjbkh model: gpt-oss reasoning_effort: low stream: false @@ -1378,7 +1354,7 @@ interactions: response: headers: content-length: - - '1254' + - '665' content-type: - application/json parsed_body: @@ -1386,34 +1362,20 @@ interactions: - finish_reason: stop index: 0 message: - content: |- - DocLayNet defines **11** distinct class labels for document layout elements. The labels are: - - | # | Class label | Typical content | - |---|------------------|-----------------| - | 1 | **Caption** | Text describing figures or tables | - | 2 | **Footnote** | Notes that appear at the bottom of pages | - | 3 | **Formula** | Mathematical expressions | - | 4 | **List‑item** | Items in bulleted or numbered lists | - | 5 | **Page‑footer** | Footer content on a page | - | 6 | **Page‑header** | Header content on a page | - | 7 | **Picture** | Images and diagrams | - | 8 | **Section‑header** | Headings for document sections | - | 9 | **Table** | Tabular data | - |10 | **Text** | Main body text of the document | - |11 | **Other** | Any elements that don’t fit the above categories | - - These labels comprehensively cover the structural elements that DocLayNet annotates for layout‑aware document understanding tasks. + content: "DocLayNet defines **11 distinct class labels** for document layout analysis:\n\n1. **Caption** \n2. **Footnote** + \ \n3. **Formula** \n4. **List‑item** \n5. **Page‑footer** \n6. **Page‑header** \n7. **Picture** \n8. **Section‑header** + \ \n9. **Table** \n10. **Text** \n11. **Title**\n\nThese categories cover the main structural elements that + the dataset annotates." role: assistant - created: 1770739023 - id: chatcmpl-58 + created: 1770802540 + id: chatcmpl-798 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 238 - prompt_tokens: 1305 - total_tokens: 1543 + completion_tokens: 106 + prompt_tokens: 1201 + total_tokens: 1307 status: code: 200 message: OK @@ -1426,7 +1388,7 @@ interactions: connection: - keep-alive content-length: - - '2341' + - '1810' content-type: - application/json host: @@ -1457,22 +1419,20 @@ interactions: role: system - content: | ## Q1: What are the class labels defined in DocLayNet? - **Answer** (confidence: 66%): - DocLayNet defines 11 distinct class labels for document layout analysis. The labels that are documented are: + **Answer** (confidence: 100%): + DocLayNet defines 11 distinct class labels for document layout analysis: - 1. **Caption** – Text describing figures or tables - 2. **Footnote** – Notes at the bottom of pages - 3. **Formula** – Mathematical expressions - 4. **List‑item** – Items in bulleted or numbered lists - 5. **Page‑footer** – Footer content on pages - 6. **Page‑header** – Header content on pages - 7. **Picture** – Images and diagrams - 8. **Section‑header** – Headings for document sections - 9. **Table** – Tabular data - 10. **Text** – Main body text of the document - 11. **Other** – Any elements that do not fit into the above categories - - These labels cover the various structural components that DocLayNet annotates for layout‑aware document understanding tasks. + 1. **Caption** + 2. **Footnote** + 3. **Formula** + 4. **List‑item** + 5. **Page‑footer** + 6. **Page‑header** + 7. **Picture** + 8. **Section‑header** + 9. **Table** + 10. **Text** + 11. **Title** **Sources:** DocLayNet Class Labels role: user model: gpt-oss @@ -1482,7 +1442,7 @@ interactions: response: headers: content-length: - - '1019' + - '826' content-type: - application/json parsed_body: @@ -1491,11 +1451,8 @@ interactions: index: 0 message: content: |- - # Summary - - ## Key Facts Established - - **DocLayNet** provides a document layout analysis dataset. - - It defines **11 class labels** for layout elements: + **Key Facts Established** + - DocLayNet specifies **11** distinct document layout class labels: 1. Caption 2. Footnote 3. Formula @@ -1505,26 +1462,25 @@ interactions: 7. Picture 8. Section‑header 9. Table - 10. Text - 11. Other - - These classes cover textual, visual, and structural components annotated in the dataset. + 10. Text + 11. Title - ## Documents Referenced - - *DocLayNet Class Labels* – source detailing the 11 category names and their descriptions. + **Documents Referenced** + - *DocLayNet Class Labels* (source listing the 11 category names). - ## Current Focus - - The user is exploring the specific layout class labels defined within the **DocLayNet** dataset. - reasoning: We have current context? No. Just one Q&A. Summary. + **Current Focus** + - The user is inquiring about the specific class labels defined within the DocLayNet dataset for document layout analysis. + reasoning: Need to summarize. role: assistant - created: 1770739027 - id: chatcmpl-532 + created: 1770802544 + id: chatcmpl-212 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 197 - prompt_tokens: 539 - total_tokens: 736 + completion_tokens: 155 + prompt_tokens: 434 + total_tokens: 589 status: code: 200 message: OK @@ -1537,7 +1493,7 @@ interactions: connection: - keep-alive content-length: - - '7581' + - '6464' content-type: - application/json host: @@ -1572,53 +1528,37 @@ interactions: role: user - content: |- - Need to ask a question. + We need answer via ask tool. role: assistant tool_calls: - function: arguments: '{"document_name":"DocLayNet","question":"What are the class labels defined in DocLayNet?"}' name: ask - id: call_9wcpqyi5 + id: call_7lvpjbkh type: function - content: |- - DocLayNet defines 11 distinct class labels for document layout analysis. The labels that are documented are: + DocLayNet defines 11 distinct class labels for document layout analysis: - 1. **Caption** – Text describing figures or tables - 2. **Footnote** – Notes at the bottom of pages - 3. **Formula** – Mathematical expressions - 4. **List‑item** – Items in bulleted or numbered lists - 5. **Page‑footer** – Footer content on pages - 6. **Page‑header** – Header content on pages - 7. **Picture** – Images and diagrams - 8. **Section‑header** – Headings for document sections - 9. **Table** – Tabular data - 10. **Text** – Main body text of the document - 11. **Other** – Any elements that do not fit into the above categories - - These labels cover the various structural components that DocLayNet annotates for layout‑aware document understanding tasks. + 1. **Caption** + 2. **Footnote** + 3. **Formula** + 4. **List‑item** + 5. **Page‑footer** + 6. **Page‑header** + 7. **Picture** + 8. **Section‑header** + 9. **Table** + 10. **Text** + 11. **Title** Sources: [1] role: tool - tool_call_id: call_9wcpqyi5 - - content: |- - DocLayNet defines **11** distinct class labels for document layout elements. The labels are: - - | # | Class label | Typical content | - |---|------------------|-----------------| - | 1 | **Caption** | Text describing figures or tables | - | 2 | **Footnote** | Notes that appear at the bottom of pages | - | 3 | **Formula** | Mathematical expressions | - | 4 | **List‑item** | Items in bulleted or numbered lists | - | 5 | **Page‑footer** | Footer content on a page | - | 6 | **Page‑header** | Header content on a page | - | 7 | **Picture** | Images and diagrams | - | 8 | **Section‑header** | Headings for document sections | - | 9 | **Table** | Tabular data | - |10 | **Text** | Main body text of the document | - |11 | **Other** | Any elements that don’t fit the above categories | - - These labels comprehensively cover the structural elements that DocLayNet annotates for layout‑aware document understanding tasks. + tool_call_id: call_7lvpjbkh + - content: "DocLayNet defines **11 distinct class labels** for document layout analysis:\n\n1. **Caption** \n2. **Footnote** + \ \n3. **Formula** \n4. **List‑item** \n5. **Page‑footer** \n6. **Page‑header** \n7. **Picture** \n8. **Section‑header** + \ \n9. **Table** \n10. **Text** \n11. **Title**\n\nThese categories cover the main structural elements that the + dataset annotates." role: assistant - content: How were the annotations created and how many annotators were involved? role: user @@ -1737,7 +1677,7 @@ interactions: response: headers: content-length: - - '544' + - '550' content-type: - application/json parsed_body: @@ -1746,25 +1686,25 @@ interactions: index: 0 message: content: '' - reasoning: Use ask. + reasoning: Need ask tool. role: assistant tool_calls: - function: arguments: '{"document_name":"DocLayNet","question":"How were the annotations created and how many annotators were involved?"}' name: ask - id: call_hakosyu4 + id: call_l6xl5m5s index: 0 type: function - created: 1770739030 - id: chatcmpl-790 + created: 1770802547 + id: chatcmpl-538 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 45 - prompt_tokens: 1562 - total_tokens: 1607 + completion_tokens: 46 + prompt_tokens: 1326 + total_tokens: 1372 status: code: 200 message: OK @@ -1857,7 +1797,7 @@ interactions: connection: - keep-alive content-length: - - '2472' + - '2317' content-type: - application/json host: @@ -1892,11 +1832,8 @@ interactions: Plan the research investigation. - # Summary - - ## Key Facts Established - - **DocLayNet** provides a document layout analysis dataset. - - It defines **11 class labels** for layout elements: + **Key Facts Established** + - DocLayNet specifies **11** distinct document layout class labels: 1. Caption 2. Footnote 3. Formula @@ -1906,15 +1843,14 @@ interactions: 7. Picture 8. Section‑header 9. Table - 10. Text - 11. Other - - These classes cover textual, visual, and structural components annotated in the dataset. + 10. Text + 11. Title - ## Documents Referenced - - *DocLayNet Class Labels* – source detailing the 11 category names and their descriptions. + **Documents Referenced** + - *DocLayNet Class Labels* (source listing the 11 category names). - ## Current Focus - - The user is exploring the specific layout class labels defined within the **DocLayNet** dataset. + **Current Focus** + - The user is inquiring about the specific class labels defined within the DocLayNet dataset for document layout analysis. How were the annotations created and how many annotators were involved? role: user @@ -1950,7 +1886,7 @@ interactions: response: headers: content-length: - - '1112' + - '955' content-type: - application/json parsed_body: @@ -1959,29 +1895,28 @@ interactions: index: 0 message: content: '' - reasoning: 'Need to propose first sub-question: how annotations were created and number of annotators. Probably - ask about annotation process: tools, guidelines, procedures. So first question: What annotation methodology and - tools were used for DocLayNet dataset labeling?' + reasoning: 'Need first question: how many annotators? but need first sub question. Probably ask "How many annotators + were involved in creating the DocLayNet annotations?" That is direct.' role: assistant tool_calls: - function: - arguments: '{"is_complete":false,"next_question":"What annotation methodology and tools were used for creating - the DocLayNet layout element labels, and how many annotators performed these annotations?","reasoning":"The - user wants to know how annotations were created and number of annotators. To start, we ask directly about - the methodology, tools, and annotator count. This will give foundational information for the investigation."}' + arguments: '{"is_complete":false,"next_question":"How many annotators participated in creating the DocLayNet + annotations?","reasoning":"The user asks about annotation creation and number of annotators; the first step + is to determine the number of annotators involved. This is a straightforward, focused question that sets the + stage for deeper investigation."}' name: final_result - id: call_z3gyhlhy + id: call_5gb445i7 index: 0 type: function - created: 1770739034 - id: chatcmpl-22 + created: 1770802551 + id: chatcmpl-485 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 147 - prompt_tokens: 552 - total_tokens: 699 + completion_tokens: 122 + prompt_tokens: 521 + total_tokens: 643 status: code: 200 message: OK @@ -1994,7 +1929,7 @@ interactions: connection: - keep-alive content-length: - - '2940' + - '2861' content-type: - application/json host: @@ -2047,8 +1982,7 @@ interactions: - Be concise and direct; avoid meta commentary about the process. - Results are ordered by relevance, with rank 1 being most relevant. role: system - - content: What annotation methodology and tools were used for creating the DocLayNet layout element labels, and how - many annotators performed these annotations? + - content: How many annotators participated in creating the DocLayNet annotations? role: user model: gpt-oss reasoning_effort: low @@ -2104,7 +2038,7 @@ interactions: response: headers: content-length: - - '540' + - '511' content-type: - application/json parsed_body: @@ -2117,20 +2051,20 @@ interactions: role: assistant tool_calls: - function: - arguments: '{"query":"DocLayNet layout element labels annotation methodology tools annotators","limit":5}' + arguments: '{"limit":5,"query":"DocLayNet annotations number of annotators"}' name: search_and_answer - id: call_f8qkcs3n + id: call_21g96kkz index: 0 type: function - created: 1770739035 - id: chatcmpl-921 + created: 1770802553 + id: chatcmpl-143 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: completion_tokens: 43 - prompt_tokens: 641 - total_tokens: 684 + prompt_tokens: 628 + total_tokens: 671 status: code: 200 message: OK @@ -2143,7 +2077,7 @@ interactions: connection: - keep-alive content-length: - - '141' + - '112' content-type: - application/json host: @@ -2152,7 +2086,7 @@ interactions: parsed_body: encoding_format: base64 input: - - DocLayNet layout element labels annotation methodology tools annotators + - DocLayNet annotations number of annotators model: qwen3-embedding:4b uri: http://localhost:11434/v1/embeddings response: @@ -2163,251 +2097,7 @@ interactions: - chunked parsed_body: data: - - embedding: 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 - index: 0 - object: embedding - model: qwen3-embedding:4b - object: list - usage: - prompt_tokens: 13 - total_tokens: 13 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '4370' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - messages: - - content: |- - You are a search and question-answering specialist. - - Process: - 1. Call search_and_answer with relevant keywords from the question. - 2. Review the results ordered by relevance. - 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: - [9bde5847-44c9-400a-8997-0e6b65babf92] [rank 1 of 5] - Source: "Document Title" > Section > Subsection - Type: paragraph - Content: - The actual text content here... - - [d5a63c82-cb40-439f-9b2e-de7d177829b7] [rank 2 of 5] - Source: "Another Document" - Type: table - Content: - | Column 1 | Column 2 | - ... - - Each result includes: - - chunk_id in brackets and rank position (rank 1 = most relevant) - - Source: document title and section hierarchy (when available) - - Type: content type like paragraph, table, code, list_item (when available) - - Content: the actual text - - Output format: - - query: Echo the question you are answering - - answer: Your concise answer based on the retrieved content - - cited_chunks: List of plain strings containing only the chunk UUIDs (not objects) - - confidence: A score from 0.0 to 1.0 indicating answer confidence - - IMPORTANT: Use the EXACT, COMPLETE chunk ID (full UUID). Do NOT truncate IDs. - - 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 so clearly. - - Be concise and direct; avoid meta commentary about the process. - - Results are ordered by relevance, with rank 1 being most relevant. - role: system - - content: What annotation methodology and tools were used for creating the DocLayNet layout element labels, and how - many annotators performed these annotations? - role: user - - content: |- - - Need to search. - - role: assistant - tool_calls: - - function: - arguments: '{"query":"DocLayNet layout element labels annotation methodology tools annotators","limit":5}' - name: search_and_answer - id: call_f8qkcs3n - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_f8qkcs3n - model: gpt-oss - reasoning_effort: low - stream: false - tool_choice: auto - tools: - - function: - description: Search the knowledge base for relevant documents. - name: search_and_answer - 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: - - '535' - content-type: - - application/json - parsed_body: - choices: - - finish_reason: tool_calls - index: 0 - message: - content: '' - reasoning: Need tool names. Search more. - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet Corpus Conversion Service annotation tool"}' - name: search_and_answer - id: call_vw7sm8ti - index: 0 - type: function - created: 1770739037 - id: chatcmpl-852 - model: gpt-oss - object: chat.completion - system_fingerprint: fp_ollama - usage: - completion_tokens: 43 - prompt_tokens: 969 - total_tokens: 1012 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '121' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - DocLayNet Corpus Conversion Service annotation tool - 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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 + - embedding: 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 index: 0 object: embedding model: qwen3-embedding:4b @@ -2427,7 +2117,7 @@ interactions: connection: - keep-alive content-length: - - '5794' + - '4262' content-type: - application/json host: @@ -2480,8 +2170,7 @@ interactions: - Be concise and direct; avoid meta commentary about the process. - Results are ordered by relevance, with rank 1 being most relevant. role: system - - content: What annotation methodology and tools were used for creating the DocLayNet layout element labels, and how - many annotators performed these annotations? + - content: How many annotators participated in creating the DocLayNet annotations? role: user - content: |- @@ -2490,12 +2179,12 @@ interactions: role: assistant tool_calls: - function: - arguments: '{"query":"DocLayNet layout element labels annotation methodology tools annotators","limit":5}' + arguments: '{"limit":5,"query":"DocLayNet annotations number of annotators"}' name: search_and_answer - id: call_f8qkcs3n + id: call_21g96kkz type: function - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] + [ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a] [rank 1 of 2] Source: "DocLayNet Class Labels" Type: list_item Content: @@ -2519,7 +2208,7 @@ interactions: Table - Tabular data - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] + [9bfc2ccf-2e74-4981-96eb-917e31261b85] [rank 2 of 2] Source: "DocLayNet Annotation" Type: list_item Content: @@ -2537,62 +2226,7 @@ interactions: The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. role: tool - tool_call_id: call_f8qkcs3n - - content: |- - - Need tool names. Search more. - - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet Corpus Conversion Service annotation tool"}' - name: search_and_answer - id: call_vw7sm8ti - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_vw7sm8ti + tool_call_id: call_21g96kkz model: gpt-oss reasoning_effort: low stream: false @@ -2650,377 +2284,25 @@ interactions: - '575' content-type: - application/json - parsed_body: - choices: - - finish_reason: tool_calls - index: 0 - message: - content: '' - reasoning: No detail on other tools. Possibly annotation via VGG Image Annotator (VIA). Search again. - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet annotation tool VIA"}' - name: search_and_answer - id: call_ett5j8v6 - index: 0 - type: function - created: 1770739038 - id: chatcmpl-563 - model: gpt-oss - object: chat.completion - system_fingerprint: fp_ollama - usage: - completion_tokens: 55 - prompt_tokens: 1297 - total_tokens: 1352 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '99' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - DocLayNet annotation tool VIA - 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: 8 - total_tokens: 8 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '7257' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - messages: - - content: |- - You are a search and question-answering specialist. - - Process: - 1. Call search_and_answer with relevant keywords from the question. - 2. Review the results ordered by relevance. - 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: - [9bde5847-44c9-400a-8997-0e6b65babf92] [rank 1 of 5] - Source: "Document Title" > Section > Subsection - Type: paragraph - Content: - The actual text content here... - - [d5a63c82-cb40-439f-9b2e-de7d177829b7] [rank 2 of 5] - Source: "Another Document" - Type: table - Content: - | Column 1 | Column 2 | - ... - - Each result includes: - - chunk_id in brackets and rank position (rank 1 = most relevant) - - Source: document title and section hierarchy (when available) - - Type: content type like paragraph, table, code, list_item (when available) - - Content: the actual text - - Output format: - - query: Echo the question you are answering - - answer: Your concise answer based on the retrieved content - - cited_chunks: List of plain strings containing only the chunk UUIDs (not objects) - - confidence: A score from 0.0 to 1.0 indicating answer confidence - - IMPORTANT: Use the EXACT, COMPLETE chunk ID (full UUID). Do NOT truncate IDs. - - 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 so clearly. - - Be concise and direct; avoid meta commentary about the process. - - Results are ordered by relevance, with rank 1 being most relevant. - role: system - - content: What annotation methodology and tools were used for creating the DocLayNet layout element labels, and how - many annotators performed these annotations? - role: user - - content: |- - - Need to search. - - role: assistant - tool_calls: - - function: - arguments: '{"query":"DocLayNet layout element labels annotation methodology tools annotators","limit":5}' - name: search_and_answer - id: call_f8qkcs3n - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_f8qkcs3n - - content: |- - - Need tool names. Search more. - - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet Corpus Conversion Service annotation tool"}' - name: search_and_answer - id: call_vw7sm8ti - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_vw7sm8ti - - content: |- - - No detail on other tools. Possibly annotation via VGG Image Annotator (VIA). Search again. - - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet annotation tool VIA"}' - name: search_and_answer - id: call_ett5j8v6 - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_ett5j8v6 - model: gpt-oss - reasoning_effort: low - stream: false - tool_choice: auto - tools: - - function: - description: Search the knowledge base for relevant documents. - name: search_and_answer - 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: - - '508' - content-type: - - application/json parsed_body: choices: - finish_reason: stop index: 0 message: - content: I couldn’t find any other tool or methodology described in the sources. The only information available - is that annotations were carried out with the **Corpus Conversion Service (CCS)** and performed by **40 annotators**. + content: "- query: How many annotators participated in creating the DocLayNet annotations? \n- answer: 40 dedicated + annotators contributed to the annotation phase of DocLayNet. \n- cited_chunks: [\"9bfc2ccf-2e74-4981-96eb-917e31261b85\"] + \ \n- confidence: 1.0" + reasoning: 'The answer: 40 annotators.' role: assistant - created: 1770739040 - id: chatcmpl-592 + created: 1770802556 + id: chatcmpl-53 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 47 - prompt_tokens: 1637 - total_tokens: 1684 + completion_tokens: 91 + prompt_tokens: 953 + total_tokens: 1044 status: code: 200 message: OK @@ -3033,7 +2315,7 @@ interactions: connection: - keep-alive content-length: - - '7641' + - '4723' content-type: - application/json host: @@ -3086,8 +2368,7 @@ interactions: - Be concise and direct; avoid meta commentary about the process. - Results are ordered by relevance, with rank 1 being most relevant. role: system - - content: What annotation methodology and tools were used for creating the DocLayNet layout element labels, and how - many annotators performed these annotations? + - content: How many annotators participated in creating the DocLayNet annotations? role: user - content: |- @@ -3096,12 +2377,12 @@ interactions: role: assistant tool_calls: - function: - arguments: '{"query":"DocLayNet layout element labels annotation methodology tools annotators","limit":5}' + arguments: '{"limit":5,"query":"DocLayNet annotations number of annotators"}' name: search_and_answer - id: call_f8qkcs3n + id: call_21g96kkz type: function - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] + [ad1c56de-ccf4-4528-bd02-cfea4f5f1a2a] [rank 1 of 2] Source: "DocLayNet Class Labels" Type: list_item Content: @@ -3125,7 +2406,7 @@ interactions: Table - Tabular data - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] + [9bfc2ccf-2e74-4981-96eb-917e31261b85] [rank 2 of 2] Source: "DocLayNet Annotation" Type: list_item Content: @@ -3143,119 +2424,10 @@ interactions: The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. role: tool - tool_call_id: call_f8qkcs3n - - content: |- - - Need tool names. Search more. - - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet Corpus Conversion Service annotation tool"}' - name: search_and_answer - id: call_vw7sm8ti - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_vw7sm8ti - - content: |- - - No detail on other tools. Possibly annotation via VGG Image Annotator (VIA). Search again. - - role: assistant - tool_calls: - - function: - arguments: '{"limit":5,"query":"DocLayNet annotation tool VIA"}' - name: search_and_answer - id: call_ett5j8v6 - type: function - - content: |- - [94eeea02-55a7-42ff-9a0c-5c7ce56eb484] [rank 1 of 2] - Source: "DocLayNet Class Labels" - Type: list_item - Content: - DocLayNet defines 11 distinct class labels for document layout analysis: - - Caption - Text describing figures or tables - - Footnote - Notes at the bottom of pages - - Formula - Mathematical expressions - - List-item - Items in bulleted or numbered lists - - Page-footer - Footer content on pages - - Page-header - Header content on pages - - Picture - Images and diagrams - - Section-header - Headings for document sections - - Table - Tabular data - - [e6c1e45d-33b2-4af3-ab9a-fbd97c49584d] [rank 2 of 2] - Source: "DocLayNet Annotation" - Type: list_item - Content: - DocLayNet Dataset - Annotation Process - - The annotation process was organized into 4 phases: - - Phase 1: Data selection and preparation by a small team of experts - - Phase 2: Label selection and guideline definition - - Phase 3: Annotation by 40 dedicated annotators - - Phase 4: Quality control and continuous supervision - - The Corpus Conversion Service (CCS) was used for annotation, providing a visual interface. - role: tool - tool_call_id: call_ett5j8v6 - - content: I couldn’t find any other tool or methodology described in the sources. The only information available is - that annotations were carried out with the **Corpus Conversion Service (CCS)** and performed by **40 annotators**. + tool_call_id: call_21g96kkz + - content: "\nThe answer: 40 annotators.\n\n\n- query: How many annotators participated in creating the + DocLayNet annotations? \n- answer: 40 dedicated annotators contributed to the annotation phase of DocLayNet. \n- + cited_chunks: [\"9bfc2ccf-2e74-4981-96eb-917e31261b85\"] \n- confidence: 1.0" role: assistant - content: |- Validation feedback: @@ -3317,7 +2489,7 @@ interactions: response: headers: content-length: - - '914' + - '727' content-type: - application/json parsed_body: @@ -3326,27 +2498,25 @@ interactions: index: 0 message: content: '' - reasoning: We must output via tools.final_result. + reasoning: We need to produce answer in function final_result. role: assistant tool_calls: - function: - arguments: '{"answer":"The layout element annotations in DocLayNet were created using the Corpus Conversion - Service (CCS) visual annotation interface. A total of 40 dedicated annotators performed these annotations.","cited_chunks":["e6c1e45d-33b2-4af3-ab9a-fbd97c49584d"],"confidence":0.7,"query":"What - annotation methodology and tools were used for creating the DocLayNet layout element labels, and how many - annotators performed these annotations?"}' + arguments: '{"answer":"40 dedicated annotators contributed to the annotation phase of DocLayNet.","cited_chunks":["9bfc2ccf-2e74-4981-96eb-917e31261b85"],"confidence":1,"query":"How + many annotators participated in creating the DocLayNet annotations?"}' name: final_result - id: call_hw65xc6x + id: call_qnlw3kqo index: 0 type: function - created: 1770739043 - id: chatcmpl-756 + created: 1770802558 + id: chatcmpl-292 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 131 - prompt_tokens: 1709 - total_tokens: 1840 + completion_tokens: 97 + prompt_tokens: 1069 + total_tokens: 1166 status: code: 200 message: OK @@ -3359,7 +2529,7 @@ interactions: connection: - keep-alive content-length: - - '3730' + - '3378' content-type: - application/json host: @@ -3390,11 +2560,8 @@ interactions: Answer the question based on the gathered evidence. - # Summary - - ## Key Facts Established - - **DocLayNet** provides a document layout analysis dataset. - - It defines **11 class labels** for layout elements: + **Key Facts Established** + - DocLayNet specifies **11** distinct document layout class labels: 1. Caption 2. Footnote 3. Formula @@ -3404,21 +2571,20 @@ interactions: 7. Picture 8. Section‑header 9. Table - 10. Text - 11. Other - - These classes cover textual, visual, and structural components annotated in the dataset. + 10. Text + 11. Title - ## Documents Referenced - - *DocLayNet Class Labels* – source detailing the 11 category names and their descriptions. + **Documents Referenced** + - *DocLayNet Class Labels* (source listing the 11 category names). - ## Current Focus - - The user is exploring the specific layout class labels defined within the **DocLayNet** dataset. + **Current Focus** + - The user is inquiring about the specific class labels defined within the DocLayNet dataset for document layout analysis. How were the annotations created and how many annotators were involved? - What annotation methodology and tools were used for creating the DocLayNet layout element labels, and how many annotators performed these annotations? - The layout element annotations in DocLayNet were created using the Corpus Conversion Service (CCS) visual annotation interface. A total of 40 dedicated annotators performed these annotations. - 0.7 + How many annotators participated in creating the DocLayNet annotations? + 40 dedicated annotators contributed to the annotation phase of DocLayNet. + 1.0 DocLayNet Annotation @@ -3501,7 +2667,7 @@ interactions: response: headers: content-length: - - '746' + - '1085' content-type: - application/json parsed_body: @@ -3510,25 +2676,29 @@ interactions: index: 0 message: content: '' - reasoning: Need to answer question based on evidence. Prior answer says 40 annotators. Use that. + reasoning: 'We need answer: How were annotations created and how many annotators. Use prior answer gives 40 annotators. + Provide description: manual bounding boxes etc.' role: assistant tool_calls: - function: - arguments: '{"answer":"The DocLayNet layout element annotations were produced with the Corpus Conversion Service - (CCS) visual annotation interface, and the entire annotation effort was carried out by 40 dedicated annotators.\n","confidence":0.9}' + arguments: '{"answer":"The DocLayNet annotations were made manually by hand. Annotators drew bounding boxes + around every labeled visual element in each page and then selected the appropriate label from the 11‑class + set. The task was distributed among a team of 40 dedicated workers who performed the labeling according to + the dataset’s guidelines.\n\n• 40 annotators\n• Manual bounding‑box drawing for each document element\n• Labels + chosen from the 11 predefined categories\n","confidence":0.99}' name: final_result - id: call_oo2joygm + id: call_9nsq6z3r index: 0 type: function - created: 1770739045 - id: chatcmpl-359 + created: 1770802563 + id: chatcmpl-61 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 86 - prompt_tokens: 659 - total_tokens: 745 + completion_tokens: 152 + prompt_tokens: 595 + total_tokens: 747 status: code: 200 message: OK @@ -3541,126 +2711,7 @@ interactions: connection: - keep-alive content-length: - - '2694' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - messages: - - content: |- - You are a session summarizer. Given a conversation history of Q&A pairs (and optionally existing context), produce a structured summary that captures key information for future context. - - If a "Current Context" section is provided at the start of the input, incorporate that context into your summary. This might be initial background context from the user or a previous summary - build upon it rather than discard it. - - Your summary should be concise (aim for 500-1500 tokens) and include: - - 1. **Key Facts Established** - Specific facts, data, or conclusions learned during the conversation - 2. **Documents Referenced** - Documents or sources that were cited, with brief notes on what they contain - 3. **Current Focus** - What topic or question thread the user is currently exploring - - Rules: - - Extract only high-signal information that would help answer follow-up questions - - When building on existing context, merge new information with prior context - - Omit small talk, greetings, or low-confidence answers - - Use bullet points for clarity - - Keep technical details but compress verbose explanations - - Preserve document names/titles when mentioned in sources - - Output the summary directly in markdown format. Do not include meta-commentary about the summary itself. - role: system - - content: | - ## Q1: What are the class labels defined in DocLayNet? - **Answer** (confidence: 66%): - DocLayNet defines 11 distinct class labels for document layout analysis. The labels that are documented are: - - 1. **Caption** – Text describing figures or tables - 2. **Footnote** – Notes at the bottom of pages - 3. **Formula** – Mathematical expressions - 4. **List‑item** – Items in bulleted or numbered lists - 5. **Page‑footer** – Footer content on pages - 6. **Page‑header** – Header content on pages - 7. **Picture** – Images and diagrams - 8. **Section‑header** – Headings for document sections - 9. **Table** – Tabular data - 10. **Text** – Main body text of the document - 11. **Other** – Any elements that do not fit into the above categories - - These labels cover the various structural components that DocLayNet annotates for layout‑aware document understanding tasks. - **Sources:** DocLayNet Class Labels - - ## Q2: How were the annotations created and how many annotators were involved? - **Answer** (confidence: 90%): - The DocLayNet layout element annotations were produced with the Corpus Conversion Service (CCS) visual annotation interface, and the entire annotation effort was carried out by 40 dedicated annotators. - - **Sources:** DocLayNet Annotation - role: user - model: gpt-oss - reasoning_effort: low - stream: false - uri: http://localhost:11434/v1/chat/completions - response: - headers: - content-length: - - '1286' - content-type: - - application/json - parsed_body: - choices: - - finish_reason: stop - index: 0 - message: - content: |- - ### Key Facts Established - - **DocLayNet Class Labels (11 total)** - - Caption - - Footnote - - Formula - - List‑item - - Page‑footer - - Page‑header - - Picture - - Section‑header - - Table - - Text - - Other (miscellaneous) - - **Annotation Process** - - Used the Corpus Conversion Service (CCS) visual annotation interface. - - Total of **40 annotators** were engaged in the labeling effort. - - ### Documents Referenced - | Document | Content Highlight | - |----------|-------------------| - | *DocLayNet Class Labels* | Enumerates the 11 layout element categories. | - | *DocLayNet Annotation* | Describes the annotation pipeline and annotator count. | - - ### Current Focus - The user is inquiring about the structure and creation of DocLayNet annotations, specifically the defined class labels and the annotation workforce. The next step would be to dive deeper into annotation quality, inter‑annotator agreement, or dataset statistics if needed. - reasoning: We need summarize. - role: assistant - created: 1770739051 - id: chatcmpl-745 - model: gpt-oss - object: chat.completion - system_fingerprint: fp_ollama - usage: - completion_tokens: 232 - prompt_tokens: 611 - total_tokens: 843 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '8140' + - '7293' content-type: - application/json host: @@ -3695,59 +2746,43 @@ interactions: role: user - content: |- - Need to ask a question. + We need answer via ask tool. role: assistant tool_calls: - function: arguments: '{"document_name":"DocLayNet","question":"What are the class labels defined in DocLayNet?"}' name: ask - id: call_9wcpqyi5 + id: call_7lvpjbkh type: function - content: |- - DocLayNet defines 11 distinct class labels for document layout analysis. The labels that are documented are: + DocLayNet defines 11 distinct class labels for document layout analysis: - 1. **Caption** – Text describing figures or tables - 2. **Footnote** – Notes at the bottom of pages - 3. **Formula** – Mathematical expressions - 4. **List‑item** – Items in bulleted or numbered lists - 5. **Page‑footer** – Footer content on pages - 6. **Page‑header** – Header content on pages - 7. **Picture** – Images and diagrams - 8. **Section‑header** – Headings for document sections - 9. **Table** – Tabular data - 10. **Text** – Main body text of the document - 11. **Other** – Any elements that do not fit into the above categories - - These labels cover the various structural components that DocLayNet annotates for layout‑aware document understanding tasks. + 1. **Caption** + 2. **Footnote** + 3. **Formula** + 4. **List‑item** + 5. **Page‑footer** + 6. **Page‑header** + 7. **Picture** + 8. **Section‑header** + 9. **Table** + 10. **Text** + 11. **Title** Sources: [1] role: tool - tool_call_id: call_9wcpqyi5 - - content: |- - DocLayNet defines **11** distinct class labels for document layout elements. The labels are: - - | # | Class label | Typical content | - |---|------------------|-----------------| - | 1 | **Caption** | Text describing figures or tables | - | 2 | **Footnote** | Notes that appear at the bottom of pages | - | 3 | **Formula** | Mathematical expressions | - | 4 | **List‑item** | Items in bulleted or numbered lists | - | 5 | **Page‑footer** | Footer content on a page | - | 6 | **Page‑header** | Header content on a page | - | 7 | **Picture** | Images and diagrams | - | 8 | **Section‑header** | Headings for document sections | - | 9 | **Table** | Tabular data | - |10 | **Text** | Main body text of the document | - |11 | **Other** | Any elements that don’t fit the above categories | - - These labels comprehensively cover the structural elements that DocLayNet annotates for layout‑aware document understanding tasks. + tool_call_id: call_7lvpjbkh + - content: "DocLayNet defines **11 distinct class labels** for document layout analysis:\n\n1. **Caption** \n2. **Footnote** + \ \n3. **Formula** \n4. **List‑item** \n5. **Page‑footer** \n6. **Page‑header** \n7. **Picture** \n8. **Section‑header** + \ \n9. **Table** \n10. **Text** \n11. **Title**\n\nThese categories cover the main structural elements that the + dataset annotates." role: assistant - content: How were the annotations created and how many annotators were involved? role: user - content: |- - Use ask. + Need ask tool. role: assistant tool_calls: @@ -3755,15 +2790,19 @@ interactions: arguments: '{"document_name":"DocLayNet","question":"How were the annotations created and how many annotators were involved?"}' name: ask - id: call_hakosyu4 + id: call_l6xl5m5s type: function - content: |- - The DocLayNet layout element annotations were produced with the Corpus Conversion Service (CCS) visual annotation interface, and the entire annotation effort was carried out by 40 dedicated annotators. + The DocLayNet annotations were made manually by hand. Annotators drew bounding boxes around every labeled visual element in each page and then selected the appropriate label from the 11‑class set. The task was distributed among a team of 40 dedicated workers who performed the labeling according to the dataset’s guidelines. + + • 40 annotators + • Manual bounding‑box drawing for each document element + • Labels chosen from the 11 predefined categories Sources: [2] role: tool - tool_call_id: call_hakosyu4 + tool_call_id: call_l6xl5m5s model: gpt-oss reasoning_effort: low stream: false @@ -3879,7 +2918,7 @@ interactions: response: headers: content-length: - - '669' + - '844' content-type: - application/json parsed_body: @@ -3887,20 +2926,125 @@ interactions: - finish_reason: stop index: 0 message: - content: The annotations in DocLayNet were produced using the **Corpus Conversion Service (CCS)** visual annotation - interface. A total of **40 dedicated annotators** carried out the entire annotation effort. These annotators marked - up the layout elements in the PDF documents according to the 11 class labels, resulting in a richly annotated - dataset for layout‑aware document understanding. + content: |- + The annotations in **DocLayNet** were created entirely by **manual human labeling**: + + - **Annotation method** – Annotators drew precise bounding boxes around each visual element on every page and then selected the appropriate class from the 11‑label set. + - **Annotators involved** – A team of **40 dedicated workers** performed the labeling, following the dataset’s guidelines and quality‑control procedures. + + So, the dataset relies on 40 human annotators using standard bounding‑box annotation tools to produce the labeled layout elements. role: assistant - created: 1770739054 - id: chatcmpl-748 + created: 1770802567 + id: chatcmpl-904 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: - completion_tokens: 75 - prompt_tokens: 1665 - total_tokens: 1740 + completion_tokens: 110 + prompt_tokens: 1483 + total_tokens: 1593 + status: + code: 200 + message: OK +- request: + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate, zstd + connection: + - keep-alive + content-length: + - '2427' + content-type: + - application/json + host: + - localhost:11434 + method: POST + parsed_body: + messages: + - content: |- + You are a session summarizer. Given a conversation history of Q&A pairs (and optionally existing context), produce a structured summary that captures key information for future context. + + If a "Current Context" section is provided at the start of the input, incorporate that context into your summary. This might be initial background context from the user or a previous summary - build upon it rather than discard it. + + Your summary should be concise (aim for 500-1500 tokens) and include: + + 1. **Key Facts Established** - Specific facts, data, or conclusions learned during the conversation + 2. **Documents Referenced** - Documents or sources that were cited, with brief notes on what they contain + 3. **Current Focus** - What topic or question thread the user is currently exploring + + Rules: + - Extract only high-signal information that would help answer follow-up questions + - When building on existing context, merge new information with prior context + - Omit small talk, greetings, or low-confidence answers + - Use bullet points for clarity + - Keep technical details but compress verbose explanations + - Preserve document names/titles when mentioned in sources + + Output the summary directly in markdown format. Do not include meta-commentary about the summary itself. + role: system + - content: | + ## Q1: What are the class labels defined in DocLayNet? + **Answer** (confidence: 100%): + DocLayNet defines 11 distinct class labels for document layout analysis: + + 1. **Caption** + 2. **Footnote** + 3. **Formula** + 4. **List‑item** + 5. **Page‑footer** + 6. **Page‑header** + 7. **Picture** + 8. **Section‑header** + 9. **Table** + 10. **Text** + 11. **Title** + **Sources:** DocLayNet Class Labels + + ## Q2: How were the annotations created and how many annotators were involved? + **Answer** (confidence: 99%): + The DocLayNet annotations were made manually by hand. Annotators drew bounding boxes around every labeled visual element in each page and then selected the appropriate label from the 11‑class set. The task was distributed among a team of 40 dedicated workers who performed the labeling according to the dataset’s guidelines. + + • 40 annotators + • Manual bounding‑box drawing for each document element + • Labels chosen from the 11 predefined categories + + **Sources:** DocLayNet Annotation + role: user + model: gpt-oss + reasoning_effort: low + stream: false + uri: http://localhost:11434/v1/chat/completions + response: + headers: + content-length: + - '1116' + content-type: + - application/json + parsed_body: + choices: + - finish_reason: stop + index: 0 + message: + content: "## Summary of Q&A\n\n### Key Facts Established\n- **DocLayNet Class Labels**: 11 distinct labels used + for document layout analysis:\n 1. Caption \n 2. Footnote \n 3. Formula \n 4. List‑item \n 5. Page‑footer + \ \n 6. Page‑header \n 7. Picture \n 8. Section‑header \n 9. Table \n 10. Text \n 11. Title \n- **Annotation + Process**:\n - Fully manual bounding‑box drawing per visual element.\n - Selection of a label from the above + 11‑class set for each box.\n - 40 annotators participated in the task, following dataset guidelines.\n\n### Current + Focus\nThe user is exploring the basic structure of the DocLayNet dataset, specifically the defined class labels + and the manual annotation workflow carried out by a team of 40 workers." + reasoning: We need to summarize. No current context provided. + role: assistant + created: 1770802573 + id: chatcmpl-389 + model: gpt-oss + object: chat.completion + system_fingerprint: fp_ollama + usage: + completion_tokens: 214 + prompt_tokens: 559 + total_tokens: 773 status: code: 200 message: OK diff --git a/tests/cassettes/test_embedder/test_openai_embedder.yaml b/tests/cassettes/test_embedder/test_openai_embedder.yaml deleted file mode 100644 index 274744be..00000000 --- a/tests/cassettes/test_embedder/test_openai_embedder.yaml +++ /dev/null @@ -1,267 +0,0 @@ -interactions: -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '185' - content-type: - - application/json - host: - - api.openai.com - method: POST - parsed_body: - encoding_format: base64 - input: - - I enjoy eating great food. - - Python is my favorite programming language. - - I love to travel and see new places. - model: text-embedding-3-small - uri: https://api.openai.com/v1/embeddings - response: - headers: - access-control-allow-origin: - - '*' - access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - connection: - - keep-alive - content-length: - - '24964' - content-type: - - application/json - openai-model: - - text-embedding-3-small - openai-organization: - - enfold-systems - openai-processing-ms: - - '69' - openai-project: - - proj_XYweeUJpJHbbRSNsezto5Wfh - openai-version: - - '2020-10-01' - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - 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 - model: text-embedding-3-small - object: list - usage: - prompt_tokens: 22 - total_tokens: 22 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '104' - content-type: - - application/json - cookie: - - __cf_bm=hL3p.KhcpSONIGXgTxq4ssjB3xkmLcjHWYvRYTE1K5c-1766863087-1.0.1.1-NfEQli0sWF1.OReW.erzK7jENYHCsOpQQWUKfpI1F147lpMrvtdRroSWxcMDM5h5.8pJ4sE6o1FF62GHRNdb5CoIAh.D0VYhYhvTBcJL6Ls; - _cfuvid=LTQgnertJMXEG.To6h_zNXGW0i1SDMPl.838tbjY73s-1766863087770-0.0.1.1-604800000 - host: - - api.openai.com - method: POST - parsed_body: - encoding_format: base64 - input: - - I am going for a camping trip. - model: text-embedding-3-small - uri: https://api.openai.com/v1/embeddings - response: - headers: - access-control-allow-origin: - - '*' - access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - connection: - - keep-alive - content-length: - - '8414' - content-type: - - application/json - openai-model: - - text-embedding-3-small - openai-organization: - - enfold-systems - openai-processing-ms: - - '91' - openai-project: - - proj_XYweeUJpJHbbRSNsezto5Wfh - openai-version: - - '2020-10-01' - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: text-embedding-3-small - object: list - usage: - prompt_tokens: 8 - total_tokens: 8 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '95' - content-type: - - application/json - cookie: - - __cf_bm=hL3p.KhcpSONIGXgTxq4ssjB3xkmLcjHWYvRYTE1K5c-1766863087-1.0.1.1-NfEQli0sWF1.OReW.erzK7jENYHCsOpQQWUKfpI1F147lpMrvtdRroSWxcMDM5h5.8pJ4sE6o1FF62GHRNdb5CoIAh.D0VYhYhvTBcJL6Ls; - _cfuvid=LTQgnertJMXEG.To6h_zNXGW0i1SDMPl.838tbjY73s-1766863087770-0.0.1.1-604800000 - host: - - api.openai.com - method: POST - parsed_body: - encoding_format: base64 - input: - - When is dinner ready? - model: text-embedding-3-small - uri: https://api.openai.com/v1/embeddings - response: - headers: - access-control-allow-origin: - - '*' - access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - connection: - - keep-alive - content-length: - - '8414' - content-type: - - application/json - openai-model: - - text-embedding-3-small - openai-organization: - - enfold-systems - openai-processing-ms: - - '142' - openai-project: - - proj_XYweeUJpJHbbRSNsezto5Wfh - openai-version: - - '2020-10-01' - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: text-embedding-3-small - object: list - usage: - prompt_tokens: 5 - total_tokens: 5 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '105' - content-type: - - application/json - cookie: - - __cf_bm=hL3p.KhcpSONIGXgTxq4ssjB3xkmLcjHWYvRYTE1K5c-1766863087-1.0.1.1-NfEQli0sWF1.OReW.erzK7jENYHCsOpQQWUKfpI1F147lpMrvtdRroSWxcMDM5h5.8pJ4sE6o1FF62GHRNdb5CoIAh.D0VYhYhvTBcJL6Ls; - _cfuvid=LTQgnertJMXEG.To6h_zNXGW0i1SDMPl.838tbjY73s-1766863087770-0.0.1.1-604800000 - host: - - api.openai.com - method: POST - parsed_body: - encoding_format: base64 - input: - - I work as a software developer. - model: text-embedding-3-small - uri: https://api.openai.com/v1/embeddings - response: - headers: - access-control-allow-origin: - - '*' - access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - connection: - - keep-alive - content-length: - - '8414' - content-type: - - application/json - openai-model: - - text-embedding-3-small - openai-organization: - - enfold-systems - openai-processing-ms: - - '58' - openai-project: - - proj_XYweeUJpJHbbRSNsezto5Wfh - openai-version: - - '2020-10-01' - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: text-embedding-3-small - object: list - usage: - prompt_tokens: 7 - total_tokens: 7 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_embedder/test_voyageai_embedder.yaml b/tests/cassettes/test_embedder/test_voyageai_embedder.yaml deleted file mode 100644 index 236e5e3a..00000000 --- a/tests/cassettes/test_embedder/test_voyageai_embedder.yaml +++ /dev/null @@ -1,150 +0,0 @@ -interactions: -- request: - headers: - content-type: - - application/json - method: post - parsed_body: - encoding_format: base64 - input: - - I enjoy eating great food. - - Python is my favorite programming language. - - I love to travel and see new places. - input_type: document - model: voyage-3.5 - output_dimension: null - output_dtype: float - truncation: true - uri: https://api.voyageai.com/v1/embeddings - response: - headers: - alt-svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - content-length: - - '16611' - content-type: - - application/json - 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 - model: voyage-3.5 - object: list - usage: - total_tokens: 19 - status: - code: 200 - message: OK -- request: - headers: - content-type: - - application/json - method: post - parsed_body: - encoding_format: base64 - input: - - I am going for a camping trip. - input_type: query - model: voyage-3.5 - output_dimension: null - output_dtype: float - truncation: true - uri: https://api.voyageai.com/v1/embeddings - response: - headers: - alt-svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - content-length: - - '5586' - content-type: - - application/json - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: voyage-3.5 - object: list - usage: - total_tokens: 7 - status: - code: 200 - message: OK -- request: - headers: - content-type: - - application/json - method: post - parsed_body: - encoding_format: base64 - input: - - When is dinner ready? - input_type: query - model: voyage-3.5 - output_dimension: null - output_dtype: float - truncation: true - uri: https://api.voyageai.com/v1/embeddings - response: - headers: - alt-svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - content-length: - - '5586' - content-type: - - application/json - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: voyage-3.5 - object: list - usage: - total_tokens: 4 - status: - code: 200 - message: OK -- request: - headers: - content-type: - - application/json - method: post - parsed_body: - encoding_format: base64 - input: - - I work as a software developer. - input_type: query - model: voyage-3.5 - output_dimension: null - output_dtype: float - truncation: true - uri: https://api.voyageai.com/v1/embeddings - response: - headers: - alt-svc: - - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - content-length: - - '5586' - content-type: - - application/json - parsed_body: - data: - - embedding: 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 - index: 0 - object: embedding - model: voyage-3.5 - object: list - usage: - total_tokens: 6 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_qa/test_qa_anthropic.yaml b/tests/cassettes/test_qa/test_qa_anthropic.yaml deleted file mode 100644 index 1b2fa4f7..00000000 --- a/tests/cassettes/test_qa/test_qa_anthropic.yaml +++ /dev/null @@ -1,580 +0,0 @@ -interactions: -- 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: ceLHuSxXhrsozj+9uGinPEm1wrqjdhw8Z9mfPTXlvjude1Q67jq5vKKnbj2tVZu8PXOpO91ygzwgxIO8P1nSu4/5Fr3ID+k7sJoKPMeHi7sdU7s6CpnsPBNzrD1yQCg8qj3CPBaMebxuCcy8ncPKvQwydbyU1c28zk7nvLnGfb0dLQi9MgeLPPPwj7qW+Qc9FakDPXL70rpJWXE5CSE1PMqHQ7yLygw9Qu4PPDtEFrxB38w8a/aJPFYmCTwBs4u7GCPbvL906by+13M8wkMePF/bUb2Xd5m8jX6JuxYzPj36l/87qvbju9ytyDyee0S8pvpOPPvqiTxobvI6LiXcvKOMCbzqwY+7Gc/rvNLiDjw5pES68PWUPIIZmryxEV28syeVPJRoXrtLC748jqiJvPrTuruVcF47Ixj7PCHAwDzLXe67Sbs1PdQxODrfVHK8Xng2vJrLbrxFWeU8bHV5vMJczbwp41W6naaAPA2D/TwYbQ48CYw1PdEHSLuESGc8cYMUPJxHBb0cqsS8ft1YPOh1OzziZPG8+yaMPLM0mbtdrOU71Ky6vBtiSLt5Tl48bOmmO8176zwINKu6KMLhO4xcD7zKyOU7Mt4MvNBNwTvnGDm8c+sPPIer1rtiDgq9jkYRPFkLkzsOAgM8GFfEus+Ioby9nHo8VzCQuwvmzzsRLD495olruxznAjz4o2+8V/VBvLN6DLyR0MM87C6EPAxP0LoSKla8VLotPBM3wDxpQxc70wVKvGLeSzxIXxq8+OPovFaxNrwu5rO8PmmsOiYbEjwFoLm5SemEO+UB5rq8++Y7EZPCOznZt7pgoI48ODyvvHrjSDuhjjY72KdxOzpE4TzM+FY8o3NjvKKwxDzQsT68nDWSu4maPDryPaa8ob8au0ohZTz6LCc8TztmO1JUA7wxHWy8fvt4OrW3xDrl81G74iqZuuy03rzLVny9m8KOu3SXP70o1G48QCExvL8xnjshuwW8IjE+vPIfxDsFcqU89O4LPOJzZbxn/ui7A9IRPDt8+DyeYf45q4TnO9lsi7scOoc839DYOx0wEzkXBKg8zk/xu+YENr01bD28R8zQvMaIBrl8z348WHkBvKiOCTzUoSK9okFFvGY/OjwqC268wfeOu9fPeDvBMSk9120zvDT/ULtbL008BUULPU/lrzr8GW25mQ28vBKZSDzbgAm9KB1aPG2rYjwCTbY8tRdVOtFAgrz1uiY9zVHKOl0YNzy5VD+8jRrqPM30o7q+lbw6RwqGuoLezDwkGAi9gzBnvf+Ee7wfzQc8xom/PHEegDttray8JUOwPB8WwTsf/xg8CWWsvBpcKrtolyY8vvPPPFujKzpOIQK9IXdbu5Sz2rx7voW8sa0ZvFi8PjxIio88ukEaPdMot7tY1Q28jDxkO4Cc5LzQ6CI9tCHMOz4N0TsaUju6vRkBu9hhdjxEFeW5ENgkPBCGPb3oAYe8csI9u+lh3zu37Z08qCwavIWaAbvxPxS8tRepu6yROjwCh9u70ooNPZeOujv4P6u7djUEOv+LFDxFCpI86Snlu0goDrxHZiQ7hukePXULirsB7Cw8prVNOzTGC7xP2re81L0VvK5vTLx544E6DrrLvEgSqDxNqFU9UJZsvOdMYrv/Wt2810EdvcU2tbycyIw83lpTPIZVSLms2gA9dYdRvKkONTw1h9c886OqOy/VsLxtoIO86I8zvQm/PDzT2z68opN0uuBOdzwfO5I8/u8lPF78NbtbziY9WSzSPBENv7vXqby8bEX/u0V2gzrJvcO7T8NbvJrmZD0BSYK7tNrpvGA2JDnxrgm8/WInPXn4TrwddXk8zi2CPKf2pLxL9BI8v2WCvfg8AD2+3oy71V0cPFYyN70FHT2859p9u0l/UTy3iEU6BhOLO/s8YjxE0++8iA4bO17WRjpFj4c8REFNPMPrhjxl+Ra6n51yvMIBPjzsgAK9faNGu7IyEjzs/Ku7xAIjPdjzNrtFwaG7WoelO+wl4TwXZw+8Sf+1O+n8rDy6Huw8wSw1PQGCcrrMxPI8xKUAuxURyTwfUai8WRbmvOpQGLzdyJO80wSIOjgMcb1qnWc8uG+XPGVF8rv3Jqk8WhxvPObtKDz7bbG8X88ovb77Q71ct7m8TJ4evcbV8zkFC+Q8tqTyu9UBlbuFyoA8ZdUPPDZkpTz1TdK7gTupuejFojxVloM8bnQjPGuFcrtNcuq6sUGpPC/Q67zVLHW7FySmu7dj3rvd3hO9g+rYO6XZnDwTzCU8tgFAvd7MFTymzKW6iBHcvGjpM7xuJFm8iOBmvSMKljzHC/y5c64jPSd6MTu6Iei7uPmYvAN2I71eei+7FTVCO+asvrwfgK47DL8DvdP+3TvR+gC95HWovFP7xDyruUQ9g8q1vN5CBLsIbee7Mnvzu2QnlDxgyww8R+MtPGFrQzzVhIq7SsFPvFocbzxw11g781E6vVLlkTyMFEO8NT/xvB/VpTsPeWm7P5ZIvKQjqbp+9UG7YP8pPOxwpjxRSBS96C9EOhUgfbyY8g88Hq8NvFzUMj2Gh6w70wRFvPIlvLx+bg+9EX3iuwcZVzy4x8Y5WJEbO8fbdLzq6aM8A/pKPC27gDyixIc8g5y/PKcFnryRMBC81dSkvD953Drgv1M8cw3BO056kzxxWxi9eyO9PLxc/brdol+8EhuUuzok+zuWh1U9Mt3TvIqCIb2vn6a4KYh9PG1ojDvrsRM9iPv5u+kjNLvcMgi9/gQqvBCSk7yNaqo7hgydvIO+Bb2a4B669PGuuwFpHb3lOSG9GfyXPHMJWjwUTFy8HNEMvNBBFjzipuu7jIXzOzlWAz1jtIy8w6B/OwLOFbzRplG9eoAvPVwmiztQwz+6r/E9vGhEBTvGevi6J8v3PILjQD21nt88kWpXvMrCITythR+8D+QHPXVP0jv+mnk8aggLvG1GHDtZAos6lHtaPMN73DtFhbw7yx/lO8p9OrwSUMo7899aPO8/4zzwecg8j/FyvCD9qjsEhy08j7/iPAQSVTzOexG8UrkxvMs2XT3+x9k7ABphPDAibLs1q+C8gD8lvPcl7Tt/19i8KtjnOwQkITsVbLQ8049wvGYGYL1k38K7qFdCvYaY2zyP6YQ8pk4LPX5pLrvS15G8AxfxOyn9xroBlcQ8bVvyPBbh0LxKwAE9lLS+PM89Y7zs97c8bQAEPAVQIjyuCm68nZqKO/HQIju9SkG6x0dGOmz0XTxlPHC8zG2yO4QSmDwtxs68mN+tPONulLvR9Rk8DdeevOUgIzv3Tta7iGsbvRSfSjtIQVw4lM1IvEWCFr2SFha9rkqzvMj3DLu2R8W7KT3RvNyhlbye6UG7K0QTvPA7Yz0iVae8mt8lvLue37yg85y8eR+jPIM0EjzgsIG6PTzKvNi8N7wydAE8JI1CPe9xdrx3QLs6AkW2vAXss7zvwj49R2E9Omu91jwm4WA7zYP9OxFcNDxOgpE7eNV7u9gAHj32uIA8rpO8vKdZ/Tw5PUs8auoAPT9umLyBc4K8ptoLPHIrab0dRTi8LvWJvOqhU7yc9Sk9O0uEPElUpLxfuku8RJ0ovNRYWTz8dSo9vTz+vLrk9TyTsvK7ld28uu93Cb0ot4q8rRB8uuW9TjwUN/E6iSNvPHR/Ar1kXbS70BOjvNCKK7uUV4s89OpRvEYFrrwEJA29Udr9u/8VyDzRc9A8SbBpvPRezruP+Bm9ob3su7mAqLvB/eM8dfxnPBUXJT1Bmg29D/cCvKuduzxdzx88M8abu4Y/nzyvur08rVfCvLbThbyueyA8JmaFvCuI7TwTUaa8t7xYPFgunzuVfGc8fI8NunYMwzxq0jE85vubO+j5zDrhwQO8eBG1PEXYIryp6au8KfOePGaomLqh/O48OsRXveHjizwpHfq8sxfdOwUp/bz0B7O8hQ2CvdmkrTwSSSy8FoYyOkYXCzyp5DG6R5VEPM0i/TwINcQ8nmo7O3+MHzxGs5G8AGkDuzm/nDwFPUY9v3H7u8nxczu+g3c8QioVPCmIHTz0M0C87aBLPPamXroxpvu5yPt5vFUAG73P22w7MhhKPCUZKrzDWM486/o4vTfPJj3P30e8lTxXvDXoXDyM6zy8pVYTPf2eqbvUxk288+/nvJpWBD05FDg8oG3fvAF49Tyi+FA7RoQwvUJhwLq7dB69LIaIvMDsE7x1mxU9cuemPCk/FjzJFzK8SFUdvBSQDzt/cI68zMoBO7sXkDyWhta8cyybPOWCi72nAUY9va1pvE2oH7xpe9E6NcK2Olwm27zZ/qo8t7xpPHkJi7xoqpc8vzCDvLVoDb0y6we9xpMhOnXFIr35yBg8DUL1vLLdrTwIvbw8/U8TvDXe9bs9qoc4wM6DvAdK7TkARQU89O8QvDzy1jyE/Za8AqYjvJxrxjsNDr67NRcVPQ5MJTw2FNE8ppmOvIZhEDzI0668swc7vRzLe7y/T4G7/R3APEu9grza5Wa6eUsevUIJsTxFZwo8djpZvNPoDj0Esyw8YBrcu/HdTryCXhs9CpXBvNK6djycHBu8IdtYOkT+GT2YEy+8miMoPQfmWLwR9MG7rp6FvGEKSry9RRA8CHCqPH38gjeXbW+8hnaPvG12NLzngRS9wCEGPM9D3jwS93M7kwuUO4/nCruOkhk973fPu/DXTDwKP168CGLEPJ/HHz2xSi68uXtIPe3z2TyTG/G7cDBgPHSnATyfFAy7rq8ePLxUqbySiXM8c4Chu8W4PTzAbIM8bE/yPL/pF7x79sK8cW4ivBuD+jy6t4a952avPHP6Fz2jN568ZXNqvIDQDbw2eo67i0MfPDaKF7yaadM7oXyfvDOpt7xZ61c74u5SvLL8pjzW2CO9m3QPvUlGZDuHQ4U8p6tJPIJtqbpj9m67EqtmvBbCmbzJFe87AHeNPCe3VbyiF568cZtrvLCNtLy/oJc80+cCPPwQ/7usjew7PsYuvaiXA700sye63bgkPSdbrLy1TTs7+fP+vPThxLu5Z6a8aa1SPCQ4dDw0b0g8rLpxOwRzj7x57tS7SrfbORFZrDzBWx+8wtTPPCLlLLtRz5c7PzEUvXjwETlsfZK69hiFPNZgIT1PetM82cwAveTC0jyPono8W02GuxOOw7v6Dum8xUn4OpDLzDyl0MM8IUBNurh0XbxQ8YI6AOEXPEiVBLw+HfS7MGUmvFFvOTsc+Lg8WQwAPSsxmzx5yMe7FWx/PMZ/77uh6w87udPovAKN2LwuQEi8ToekOiW2JTvKGJy8tPvVvIQ/O7unELe7FLjnPMcm4jyzcf880JibvG0Gjbtb9Z884Km0OhddnbzYOAM8uw2Pu9asebxh2pe8I2btOwBE7buxs6m8CGNIPUquuDycJhg80e+Euh17iDueW6q7ycX5u6IK5bv3Cq088nRVvAVYQLtTfs28f4SRuk+pebzoGOG89GRavCvyzbq0zsC8PZCrPHGDLjwWqCc9Iu4fu4NZg7yqjgq6xfc3veH9Rbx0xoY737KNvCTK3LymvEk8i5VDvXBPs7z1i1E71WRZOxDtFj2in/u8piy3u0wZdrz71iw78cuFvBDw8rybYYY7FOXSvFgtary8/Hw8boEOPZ4xpjwPNiS9K0p0vPOUfrwIMhc8Ch+DvHlM7rrAzki8YfcGPYNQk7z1/la9upmxO/plDbzHDdm8IbVPvNQ0VL2DG4q8Aaq6vIVzsTwAHxG8mLUHPPvzZjzCINU7JQFbvCs3ZryV3B29rNeWvOq16bpNOz68EJVOPHS50DwR0fO8ovMMO0/wKbyV3GA8sZn+O9yoQDziyIY5WciJvF/ZoTs6vf48xrjCvErfJb2t7No7TNc8O3pLiTyEMIq8lUrKvDVAL72Uqfe5JB+8u41iiLzrj6C7HWT7PBTupTpQP+s6hwOJO//MD73FQkC8slfBuzS7+bz8Hia8YrWGvPPbGzxDvwC87RrOvGplrrrdYAU7OWHlvPxql7zNof48MPozPYSVobxpnhc9fyGMO6kHjTwXd248lfIRPF0dljsBMDS8xG8yvHUNaj05zlI8vnMKPVK10rxAQCC7JYY3PKfl6TyQnQS8NR7NvMCZVLzdOME7WrSlOzNHRLxLXJg8kyZdPMmRk7y2hwQ8rabdulWxUrsyTHM8NN7pPIFeKTxKce48gfKtPDihNr2eMAI8CBngO9iYyzwU8iA9J9EDvTP+uruCHwe65sr0PDYHhjz8dYi7vrjDvEEVijnL+bk8P2EEOzeR+zshvJO7z1givL91nbxWVuu8pPouPXqFTjy6P5O8KLu2vHk/5zvovOi7RW4tO31nbzvcv786i/aVu/0aQ704eg89zX2QPPWpsrtJomU8d6GsO2xDZbwBAKa7ABuvPF0Qm7wGTtm8ZznvPE2U3LyuB408UlANPAk1PLwbv2m85ONrvNw00juljNG8FJ9XPTdrDj1Fh/k78LYHPIe7Fj3rnAq6TQtcvPTGkjxTbHq8LgA7vJxoNDyQvQo8ysnnPGc3u7zjn8a6v2k/vEU6pLyEM0k7BZr1PIU1Srxvzbq8XDuGOUmJtLzLEQy9wAOHPLkug7zm86c8hdOoPBS7J70LQgm83+E5vAKFND1BNAc9vTBJvOr/BjtZgvI6oktMO5SDubvmuJg89nQXPOYmML0B2hM8tlvhu09WdbwVspS8zZFKvDk+gLyoqag866wavSqdWjtv4Yk8KxqAPNZ6tbwTp8K6CJPiO4UbC70fzWI80ic8PfznhrsEAUQ8OCPPvG82hrz/b7m7wm6FOiH/mDxAr6M8rH6kPGnnMT1i3wq9lPG0PH9owTo0HHQ8keYOvGJAeDz1L7U69k6vPGrAxzra6eW8PGidvPgEDL3NB4o7l24CPGs4jjqAJCq8SzyluzIR/DsYXro7oIiLPCNmfTt+YBg9gFCwO4s2GjxR0ns78E1jvCgx0rs41VC86Xtdutq1Nj2f/Do82ooCPPmbobzEmnU6bRemPCEkODwGChQ63rwpPNyLATyXQAA8eBpfu2z1QbyCJ5U87oMCu5QcgTxN6ha8OgezvKqMQrxTRsm8BoJ3vJJ7W7wTNpk843t4vNjWTDyHjXo8l8/2vNk0Yrt3JYI7B3LHOFVCEztZTOI8r51dPMBYQrqR0Q47gz+rvJOmIjw5QXC8KDfVPBWLDj1E/hs8o7vmvOq6Hzy3Lk48L8BZujNNnbzkvXQ8foaHPEz/zbuFV7I8290JvGpptjzWQAM6FpKhPOnpbLx+4JS882a2PJ24SruLGAo8f8Qvu54lLD3o3s882ojDuuChUzx2GgA8v7xAPbS35Tx2c+47txhpPTUm/TzkpIC8PPHJPB8kSTyC4To6mRw4vIQjgzsc1ck8YKrcO6fc/TwaURQ86j+gvPBl+7ii35s7bliWPF/DEzp48xS8KkCwPLax17tJl0C85kSQPLAyrLxImFk76ro9vGIkRjyrVWE8yM5bu7ZHN7xQYY48bua/uz9SkTzjCbe75GtJuz5gczzv0do8b8wmverAsTsKUlu7QpcMvCQ/zjz036e880eMPDjCa7w1cyA8y8jkvAfp0rrqN6w8ZximPMrdGrzfTcc7n22BPK8ufjzHLSS8mMg0PBGIU7xzJ9K8YUB/vJm+1LtfSxG9htPiuYuhgzyEejA8Q0vTPCHsyDzbKZ+8nrXNu2/Ylrz7Z1w83V/mu8e7Lrw8azW8g79aPGzFAL1Ogwi8K8Anve4S5DuVspo7hF2BulDpIr0SAQe97zzzPIy4BD0d5JG8tYVqPClkyLwBSLg8tSW+uVGTurzkXai7850YPWE7vjzX6jC9ZjFOvSwdQ7xY3g+9Wd1YvGlWyrygsjM9VmKBPP+EAb0+cTK8COB/PPDDoLyzRtW8xZjUvIdZQjzSJsS7r57ou9hBFbz+urG895SvPO3wd7ukQ3I8u4PouwMApDzLs1W7i9CQvBJBRLwO4Bw8ePeLvJfzr7u46Da8PQmNO66aF7v6w0487VTYPDcDzbzF3Tk8X3iXPGT5uzxTorO89nqTPDSQGjztgf87/7eevBB6ZDz8grY7zw/yO3vasjwdSvm5CFFoOjKuN7uCsQk84A+du34pwzwlQBG8gLPYvFZd3TtKyhE8YsJQOgqBsLxWak48aY8eO9IV+DvI1rY7ptllOlycwLyrIn+8QS4NPcK0sbxTl8k8ThrYPK/C2TxBjH48cjedu4ZcW70HvS08u82BvL15gjsdEDs7G6divIXmJjuo7oc8eYXSuKOV7rzrw1y8kQM8vKTHlzxTVcO7AElKvUV6xLvGWEy7NOn5O5XoEj3ftjm7h7vOuyzZqjwTEv+83szluZgsET2H3lG8yd0mPHg8wzwYI4s75ZAnO5jDmbwKpYq86PkYvGoqLjw6Zq271TYLPaCnNzu8rve88frHPJPqPzq1wAI9+zffPLX7krzShkA755ieuw3CTrtPZu87KNsMu5nYOTwWwWu7yRSrO5RHjrws8hC8FY7QOvySgLwU8l265xfCO+LgFDzV/1m7ZSLYO2UXLLwazUI4maU5vNQHO7xtK1+80IEnO4gqUTvzJz28zFaVuSHidjzkH7O8sUspvJHS87wmVp+8yDbKvFhJlbwnDOo75S8XO+pEu7vw9lw802KQPFYWljuxYQO85otfPEMcILwgjV87SrUxvKcNDr0HSk67P024vAKh3jzCLL+8xtUhPHuOrLu229W8Jn0LuUY4b7zXfxI8quqTPA8cF7uyhG+8N44XuqxCRrxAcuk89wG7uYVCwjue+5887T2iPCks0zwK4Ai9RIfzOwKWETy1/to8Ys8OPB+f8zuwsa+794c4OymXeLwZEie8M/2NurMsg7tgYAK8+QidPO27iLygsLI7A0cGuzQaobzyeLQ7kQMGvZRrgTuixAa8wuRlvCF1nLzn6wk8hEzKO/GBKL1Mn7G7ei8mPFfM6rzB8zm8pHdrO/Q9VLwkEQw9NsAPPJ57nrwuTvO8Rl+3vEj92TzizuG8TY/KvGzs4DxNN6o7+katPPiALj00I8y7zZXeu+WwCDxT4Sq80lzevH7phTxTSSY71gStPLM9H7y/4gq8DffVukKKZTwZV9e8PbNBu+df7DxFBdQ7odJsOLnRgLxdMeO8/fsuudsBv7ypP087ykU+PMpXAjvfx3I8qnUXPFSzJzwsOQW93gEguoQzrrzvsp+8AjijPN29ibwwOYs7sYSQPK/+s7u1s788TIyLPLXgCzxMNZy8vzLROxuqiLx2SiQ9EJS7PLKbprocXRE91hjEPONxHTvP+T674eqUvEY+urwucz+8EVS6vCgZZDl3yoK61Pc2uolEG7uE5vo6OE41O1GxczzJXKw7pCknvdDuCzzJPOU8i+O7u3jpIz1ZLlM8ifyqu/1LAr02VtS7MqXxvDNa2bwZlZ089uTlOzVVCb2pbFM8SbWQu6u/HrywKhG8XRQMPRt6DTzcULg7c1uBPNRlNbx0M2k6o70dPO3pFbxVZNC8p9g+vWoDXjugPZk8bdrkO1NabrwyNq07Jf4uPIMNq7yLdpW72NlMPaoODbx4vxY7noWdO0piwTzinJK8pcgwPBpMnLxX2zM8GXinPG1Cobtm/vi8XyKWvFuccLw/Ie+8WQ68vMkgMjtfdQO9boJ3OmgIrbzXEg+8OFoYO+QgNjs9oIU8zLUTPH9S2TpHMMQ7r3oIPDwaVLy4eXk7qlAEvRYz1rvekRk9k/LBvIJhoTx581a8KYDZPM0PQb3kZZ48oIK7vLPpkbzu4Di9hSbpPN5Yf7u4C3i8DqGPvN6MAry5RUy8Z2covDDeRLyczU88Vtm2uzMgtbuAbJY8XVm7u2aGFT2Kork76i28vCICGzzZZFu7dXsXvC7sSDulVtO8usbvvLzcIbxjR7U89lw+vEivqTyi68Q8uoXqu9KVpLwYH0S6QcWwPO3U3jwYbHa8ztwjvG+SAjwenuU7VzVWvFNis7xln+q8KiEnvbeQH735R+K7ExaBu+56pztDnoU8enoFvPJwkDoW1CM8Hd7uPMHv1LwNGx09DCCivBhFHDv7pTk8/1SjOWomZrzuloA8XmsIvdjTE7xUgQo7wbtXvNFRJLy0NIa8dUbNvEB3Rz3gD0U8h+enPLmIsbyaaSa8aniavBfRXrzPs5S78Ms6vAkhHr2kDBU8nhFbO3564rmkkQE9ITqQPI40ZDtpk4m8A4fJPBUopTwzeSi7/6gMu3EKtLv4T5W8PQiVO/30w7rp1JQ7JIQqu5Ra+jvX9Bw8YC+BvLZEMLxvJBO5uEeMPGhvVzofz5I6gJLiu2bMLLxSMri843s4vP7gz7zYJyS7asSlPF13jbxPCLW8sL0ivWx9cjuALnm859rnvAQ44Lz1/yi7uB9XPL0EgjvxkhQ8f9+0OhWSzjtN3Ym8RoeKPIHsgjye3UU8TriwvHwigbz2GBk8fcA8ui7X37mEqiK8O8HgO7oRfbwL6DM8cs3ru3+4VzwNQx29WRGQPFRNbDxLxCE9VDq5u/EN/DzJ7wO9IHn2vIYaZjyPfCA8aupQO2oauzzIg4o8EFDtOsRDzruzYqq70HyTvEbrQrtLTAS9fwzDOwImNb2z7NK84RfWPLfMejwGKyI7qZHqOzWhqbxyUhS8XA0JvQwQCzwS0Ug7lgONPL7YpjxvQa28jy8aO7QhADxN9iq7GfC3vNXG0LwfTPu8CJkRPYcqm7w2HAK85KaIvF4FTjy9iZG8TnUIvcdCyLxYAY078qWxPPicozz4nMq870CKu9y4/juu76O89IeCvJ62B706iNa8aJ2svJWonDvvT8s8Jj+YvMwCLT3DMLc7CTNBvOx3hbxcyJu8/+eHu+pMO7vzsxa8WugVPG/eH7rJdnI7WaIGvapPK7zwKRY8dQjDvGCJpjxcg6S8galuOx6nMTzySra8s0jNPM2BZDwIOBS8L3ETPF7oirxQCfu7N/SSPMYJtzyVUgs9XnvdvPuvtLvjg4q9+XfsPPU/ILxqLCW8juBAOqEqH7wTZeQ8P3y0vAXLDrvYcje9qRACvVOzIzx3iEe8H+P/vBUzVDm/LHK6QKzLuxM98LvyIpC8KnuWvNd9C7zCeZk8qdH/usU+iroOLOA7M6ycvJAgTLxyUuA8CXaTvJegFDwkAsA8LQOHPONn8Tywqmw8JNEGvBNApTwDBYM4wm8qPPgL6jxAqqu87XjLvGJksrtPrwC93wXXO211Yrx/mWM8jlZQPLN3/bvwB9C86oPsPDtTBr3W8fO856CVvC/uLj1J69u8yIMBvSIw0ToFOTm8A+XmPBpMHLzl4wE7DgSKvHxs5Tui8KA6p6YDPIQGK72kkPw88VmavK3p6Lsxh1W8yyr9vIydVDz8/YK8VLVpPOvLhzxwVBi9+iJbu68yurk6J8C8ImecPEir4zwc1DW8Ytbhu+ugXbkJDFI4HeFUu3Ncczxk7CM7TU0au+6CHbyAqcu8Hwzlu3KJADuf/Ao9iYsKPfoCP7zcuZY7+2lsOZEeK7xE6aw8ILm3O4xlsjyov9s8XBIHPEzNAbpCCKu8sBW2vLbLpTyATQM80f0HvcM/3TubKRC7rk6LOhXdUrxp2Kc6aZpTO6XYgDwAKbi8FGnePHjlqrlsBUg7NsAtPMbpBTxev/+6h6aFOrQjuruPlM67ihUZvHE6Fj1VzzI9akTAvFVzo7xwf4E8Q9YGuobcr7xVHGk8a2uZPIETyrvGV/i7PlyWPDl0dbzI9vc7VoaivEl7+7u1PDi6XeteveQRTjslOqI82euZPOds07tPblK86JRPvEiQLr1p7sK8CICHOjL6ITvB2Re6PHHpOtS8Fjo0Y7k6VdFtukI6XjwhdAo80fNEvTDJejvlzpi8ef71uxqwkruFOMQ70Eh3OwNygjvQXw68CwvDu9NKw7x6CPc7k7gbvOAV8rvA80Q7OyGUPMsqWjyb0tO8sSsiO7mhjryjpTi7G41TPCyylLsIl9W8d4aePLC45jyXm6681UBuvLjV07xFA9q7ILGyOhrExbud7uu7WIEUO1EF7rtK2Dk9MvT/vLt7Ebuvu7U8Qm7SO6WL8Twp/2Y6/n8yvKcTrDykCs+73K0dO4Fa0ry3OJE8bWrLOqNE8jsO3Ek8R6UxPI1RAbt1jki8iKNqvGVZCDyCjjE8xYwvu0Tgj7z0q7c7pQ7kPNGZHryYd8O8aRBSPFV+BT003da7OZiCOCrrFDvgLjY9oDWTvDfmKT0+yKc7qlGwOpty0jqCJgS8Yv7ZvKCN1DzDr/e6i2P4PK7mozsj+9y83Mg1OvPDsrwpX6u8TQyVPOl94bwAwk47i80TvIlmWjxQKRK9zb2jO28R7buz7W88jGpGvTjYtTzW3MI8y1zUvDzL3rtMH507fSQ5PLoUlzpa+Lo8sWqCvJLNUrxVgxG77eSTvJ7xtDxs8pQ8LuOTvFePhjsvrbI8B47HuY8rwrw4M8K8jEgNvS5XizxEKwU9m2iaPLeSkbrfOVG8mjUWPMbuGbxO3wS8SIyBvPK7L7wcZpi8Ca04PBZLfTwHFvc6Yi57vCl2m7zksx29ggJEvKfxjDyVXg8521kivI53nbyK+bq8e4uePKZ2UzymH4w8YHh4O8f+vjmcCOU8w9Zwunq1IrytVb073cOtOnCWVrttq5e8FkBXOhszSDyRCg28Jh0yPL74hLs9W+A8yXjDPDrU5js17lA9w/i9Otx2fzzBfeU7KoMTvR+YD7tAyVO8YoB9PBj56Dzuxy+83d/Fu8Q7P7y3OKm8Ns0wu+Rdl7xl+vK81ouNvEybLjxiWw29bGwDuwPyxzsbWnO8q5l5O3E2TLxcr2K7VE2UvPW0Xry9dc274oGwuQ0DIbyGLoe7qnaSvC2397tntVm8CPDLu+C0jzx5/pg8Gi0JvBM6g7wwQIQ7CxPXvMVTBrwbRl87XJdfOpzTKbwkqgc8YtDwPMjOnjvGmQa97Z0EPQBwDzyD6lA8g9NnPIDTpDzFHp28Lh+bOxu9oDxs79u8+Pr5PKqapTy6SXu7nmkdPHV5PDxEK587hdcMvcwMfLxRThe7Ti/gOvlVjjy1/0Y8Jc3/Oscc1jxQOuG81P7Zu+e9HjzgWp68daUPuyzyEDwd1366htFDPCec6jy01u68AWDXvKF9LLzVEwY9pxADvIiOiLs9ruG72RHOuzHJwTv/LfI7txYAveVYQTzGXd28TnsIvSjXOD2H7546dIFrO0AvErxg4zQ7Cum1u4ra7bq6TEq8sabOPBWNPjxoya48oempvDJAGju/Psk8OEDXPP3FhDykfB26cmG+PDcApLzuFaq8EMvYu1xWurzFDWc8QQ88PGZT5bu1O/s7mg+2O/RikzljqHa8OXlnvAWpKj3P6547huQAPLkCFT3qSBG8XjHGPPzpiLxiJgS9/402PFOmxDsQddC7wSUJvDplDbsFcMM79b8jvObRjbzrvdq7N6//u5c6ajxF1M+8uX4eu6sUNboO36O8sVmzPJWD5jyzlQa9F+poOxG3CbyYYM267xDwOd0AJTyXcww9gtsYPMbJNzsxsji8WdpUPNV8R7y2ykI8SkjNO33RnTpS26y8T501PFQXmTtbTbK8kVTVvOV0IrwQwK+7TLcBPUyzFz0s3hQ8jh0zvOMF0ztj2J28+Q3VPA== - index: 1 - object: embedding - - embedding: 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 - index: 2 - object: embedding - - embedding: u72ruV0kQzyWRem8dzsiPfUMjLohWfE7NA0QPUnyk7xvdhm8ZYVSPPkhYDrYcBu9jf81ufQTpDvmbeO8OzIFvc0YbTxYPtI80fc/vHDip7unbiO75QFbPVnCgz3B6FC9sT6qPN06l7x0WNC8Bwu6vUJj1LyWywA8SpJBvT/uyrwT6ye9bhMpOulnyzpYhxU8f0qQPJ4eAbt694A7xXzaPAvDbTzWBYW7pSWKO1FourvJsTc9qkqxPHxpeTuCVnu8baz1vF/1wrwGF248+byRPCl/urz4slm8N+pRO1dYPTwuQDC6gvGTuhVBvDyoKhq8iaSxOxAz1TzCiPo7EUclvPoWu7tTYCm8azyIvYaOgTr97U2828C8OyZtFDwwf5A7akfNO4kFmburnYU816havLpsZrv5kcK7hAn8PGRHmToDA6q78ym1O0jn3zu1Uwm9Zfp1PIrEgbxUlqc8L0eFu02EarwfaWw86oagPGi50jwGNWc8LafUOH+YcDtNK8U7ZtkSu7jYAL0VX0q8z5ZZPHuKfLzRNva8mQuXvGb1l7tzpzo85+LMvMUWsTtcP1k8KhMDPPp/AjsqAKe7AD90PKFnwTmvAIW86Dq1vF1z/LuJ+v25FrQSO7b1izw8fKO8T4/LO8ZsSjzxPZw8eguZPF3scLxMmmu8HSSAPLDUXDw0qxs9T4WKOkedyTtgB647SffIu+M0bDuj0f68Tey+O0MbYzwgcy68al6bu3OhZTxT2/q7OyyDu0UXSDwGPNo81ZEhvOPLJruG8AY8azxZPJYqQrtn+gC7Qn9MPH08BTzOhOK6q1dMPAQfoLtiZKi7wongvH4SkjxXwn88xCwQvOKe6Tt9CFI8qP5hvBhj+rpXNGy7Fv6DO7Gl77tcCyi7je0DvBY6hbzbZCu61jVlvEPjRzxOPpK7B4wgO9we0TwAcUu7rQ4dvfdUjbz6DTy8uQhvO2NRJr1ec307/9RNuyWtm7oXJxw8j7jFvDgy/juW9Cg8dUoEPKB6mLxBWZK8JsdGPPQISjwGyu87BPc1PIaaCjyAIwe72r4ru4aju7vgXbM6bwQAvPxlarpEOFs6h0WxvOxMkDt9Wq87y6fFO5qefzx5Ace81yFPO+P+jbtayT68MZ0NvPkf2DyxdLE8pNuivFZqQ7x7b348ImuuulAcazvodkw8XiC3vA2OjDwo9t68KT0IPbdrHrveZpU8EZzwu0h0rLtd/Kg7YNs5PHBidDzjkok68e/PPEHuZ7zGzL67AxiGPG+fAz08EFa9oVUdvHVxorvbLZA7nsVcPAcyjztn9o+8QHqnO4pmaTzi0y66XpRVvDCC5DthDW65lZU/O/Vf57oJ7M28loVlvEgfW7ypRp07oHVsu6eZ0bvQeZM8yASiPK9SRbv/U606xcgMvD8WiLyVcCU9/DvhPAHDCbzd8rI8A1upuRrhkLuaeXc8fiG0OoJPvztRnyG8N21KvCP0O7v227Q8XXKMPJuhK7xRK4U7UUSivDazpbucVcy7aG2FPBYX8DxYPYy71CSlvGyWJzz8kmI8CAQiPSSDkzryPa+8xXLkPCFtOjyRDpw6ZwmZO5Tmsbu2xsm8RY3Fu7ZQdjvEf2g8+iUYvKBj9jqgXwE9ZpI1vIGFDTvDYr685ZqqvPxhBrykob87+dNwPEeqvzwFvjI8rBITvKSIgzvREKw8OTylPLHfQbtazKu8OTETvVBZXLtYc5a6wjtBPLmRujw2IS48RzcuPJEdETtqZ4U8uk0BO+wTRTx//xq9goRePMVWlTuXaR082e8Iu1Gf4zwcGe47B55ivM0uRbywqyI8CxuiuRk8Kb0gpfY6IRTru9qZoryXUuk7L8aLvU0BLTz2sdS8dUeqO8Kdh72fEF+89ZNZPKLVUzwiKOy7FD6HPPMgSDzHDaO8vzwTvAhlKbzlqhQ8P5X/uzS9sDw/hBU8ga8AvLEvTzyEy428SX56vCXC4zwv8E09jYKYOz6dBzwCupS8l5WJO5a3Gj3z9jK6oEj2O0KvojwXuaE87bb1ufkfizyXgfo8h11NuZw/ijyEpNU7qQIXvL7h4Lv5aWq8yZb4O1XH4jsxuEs8QbesPBO2OT3jNj48icAePAY34DwRxWS5Hi7GvPATcrysSXO8I5cQO/cRhTts+BG8ihd4vOqL1LvfHJC8rPXCPO3fIT3lVaS7ltN0PFOCSDykzPE7wJykukW6J7xx9Zy7cI+svBJCIr0NZUm8f0lyum8sALylP4g7OR3UPFlO0TznOkQ82jKNu1pkWDxdxIO80p/LvAPdLrzlx4W8LnEdPJCLoDwUW9S7UiVOPbR8zDwMm6m8EEwuve9AjrzG47w8J5cJvaWi5by/AZI8HGpSvP/MgbyM67G7KamROSAdFDtGGR88ldAOvXVX2jvMxC08cpdsu3iwVLxqRhm8WwRaO8WUVjvNa7i8EP13PIZ5krt9ZZk7H/fCvJPm2TyIoh28GiWNvFIIRbtsejo85onYPJ0X8jzxF448FFO5vN2TozwEMC2901Ztu+Dx1jt9VhI8OwxZvboNwDz6mAc8k3PLPI8cfby0ymC9BUdeOwPgtDw9aYm8dfYCvN8BdrzDERQ9zsL+O9A6OzyYO2K8kmc8PFiZdLyhF4s8A1yovFUbMTpQ34k8UtzRPHRJQDwd8Ya5Yqrwuz+n9jtSbgG9Cf2nulfmfrxMvo89ZBokvP2AB72VurE8C1lxPNmI3jsuMdI63ZeFvNIntzzWHy69AezaO/fEX7wg55y64IBnOyAAEb3l2dO6QMVUPKJqPLxyfGi7ZQoOPQeM/DyiqRK98aHSPKgovTzsiEm8LEQsuxvoAD3dM9m7Jeuvu5DMK7wCC0C776N8vEFv8Du12Yi8i+I7vPjMCjx975a71ES1O4QPUTzAO1w88mLAO9FPYruhc2288yK7PJTw9TsXtI68SwtivE61sbwJFbA8bfvTPIddbzwKO708O89xPBRWFrvMbO27YSOBvLq6EjyF7HY8JNiQPDlwpDwxf708orVAPGFC+TybXwW9RXAsvToS/TweX1y8xwWOPFwYxTwq4K47pP8MPFjVGT2ZYRO9cSbpu+KhJ7t5fYa88aTqu3tjQ7yCyEC88E3LvEFI3zw6fEA9TBqJPPw2HLwd2P27gFUGvPP5qTy0tEE9b/L+uxC2J7s2t8Y8EwWuPMR/+rv7oTg81MsfPG/6Try7exe9ILqTu6biZDy/gom7GSo/vAW6qjwSLNu8p+hhuzZsKrnSW0K8rt/fO9Fx9jvdQSO7LdeAO1Qzg7v6aHq840AjvS20RzvkdrM8rVkDvTwguLzUOSC9mwhfvWivHbzE9BE7jTFkvRaVt7uRyVq8dixLu96+Zj13bjw6qx5BPMvulru10hS872ONPPy5wbrrxas8bs6cvFY0FzwO2bo8G74UPaAEkDs6vm28EVKhuiD9rrxoeum7E95Gu615Vboov5s842sRPK/IcbxvLu45ecSwPHC3Mj3Zz9266BBVvGI1STwes2W7t52SPDW2rry4u4M8DsjKuq2uj712LsK80TWrOfafAzv7jpw8KFe0vN/9P7wTaWu8zu2wPIlXGzwtBA891NfNPGKrED1ArBG9ZfApOz1YELzQ8Hm8f98qvGRMnTyXGIy88iZEvHCT4zorLZo6oObcvFOzjrvj2DI8VErSu6P9g7svElA8Zt+Ru61fPj3M3JQ8pSSMvBB9rbxQfiW92BTwvD7u2TyJRxO7sw0LuzjuDT0LoRK8eVuIvAGnpDzZOUE8xSgquvAuXDzP3IM8cy0BvK6Jzrr6SrW8eowRPIV4Kbxgww08T5KJvE4q9ztjOE+7RP89vLi1ejsX/fc7QfKIPI2ZtDlYr8C8xyR/vG2jPLyXOwC8Zki4PA2srTwPVFc6a4/Cuy4GejqTVqe73OWzPFkuKL2BJIa8zQ3KvEopKzyFGno8nMXnO8g4vzyssw088PAuvQ5clT3GJRk9E16zO+Kb+juPEFQ6vZHNu4P4w7vSQIo88HoTPCfugbxW+wC7WXYaO+T7fLrIFRY9IMX1u9P3/Twzrl26id0qvIXJxDuhsQC93sIDPFk4dLzefs+88w3mvJGXTT2WGda8QrRGvSTirLvn0w09MT4nPXuHkbwswvW6Y78VveiscT1rsyO8AMB1vS8vBT3CBk88ATKvvPSAnLzgRPW7y3qbvIuu2rvAfJQ8TBlLPPw+RLsZxji8Hf+ju85ftTvwnFG9fcCWvPtkE7w9TgS6zfW6vHrOxbyZEV89ZURYvOttJ7zKS6A8DscOOxYBybxGKK+8752Lu8HTVzxXiQA8hTs2PCekYr3FPyi9Kxu3POR2Fryyhla8h4ZuvEjz1jxCApU7W09APEYBF7xM18S7n7slu2XHkbxxtJA8h9Cou1LC8zyRdE28KgqmvKDk8bwJwIs7gigcOs5shryu4h+7v1RVO5R42TsWp5u5sCYZvV4+8bsUIzI8NQSnPF2tvDuXSRI9xZ0VvRV4zjwFST27rOsJu3nXsTtDcPu7NnT2unByYLyAzFY9zdjCvEddmzwr1bo8NG7KPKBl+jzcBwi656NYPJ7k97vqA+46hfvAvCobULtsTQs9Ia7UvNb2Cjwzauw7/OmQvAG3l7wJrCA8aR4EPck/+ztxcjk8m0XQPCukCzzGy0A8kOhlvCTw57z3JJ879VQoPT0CCrjIWLA8RkAwPVOs4jyC3Ms7qJcDPVAnhrwjZzC7uHpVvM39y7yhtB+6STojPAif7TknUZ88cZYSPA7FJDx+VgC90BAMvX4kJD1BpZO8E8oMPA1HiDyYwiS8up6RPIg6SDyxl/o4wptNPLdYMbsLAow8gIauvNZvU7ruGF87veB6vLcCpDxU6JU78AQBvFNXyruVvqi7AMK/u+fmUzwNw2G6h80OvUxSojtqitg7i6XwvACvizk+R7W7ZiMvvP2CLTtSrbG7WwLPvBqzGbv2uPI8ATNLvC/kW7zk6iO8jqBpPbU2a7wpPa28fvIbuo+eFr3StQw7TDeKvLrW4byjDcW6Jm+GPC8zgbxOFHM8jSEyvEgz8jw3NBK8DOvPPHEduzpyhUG88x7MvEARQDzS7K68h3fHOyesezy2iAQ9o8LNvARNFzwRw7K723nNuz+uSry5hCi6J9MvOqZBND0M4me7cC/KvKVKZzxjhr8844WBOzjzTbyz4VI5r8mWuwa4crx6mIo8EpnGPIsxcz2PjVu9cQBBPJCaELx4P+O8/eHUOpA0cryk+KY7ofPWPOu78LwL+si84DXWvHoJgzxfOt48sGCyPOpOzDwWwSE9NOKSvB/cQbxVevE8nHTyvBb+wbyzMg897YNWO6Ypv7umB2a9uE3RvHATirxMNgO85LJ5PRDR/jsWPRW7YcYXvEyUAzz0SJi8lsMtPMGIhTwqm8c8Zef0uZeQq7w+oPc8iuDcPA0eo7xHmhW9P645PCXSoTqVbPO8Y70CPJDqnzz76vU8vQ8QvdSXIjxC0fC7hJC8vFbb7jmuffo7RQ+1PEPCELq2eKE86wHjvIe2QrwgfaO8iZ64uBFIpjvLUau7flq4vJlaCbwqA1+8JDdtOiAcm7zvGAQ892muvMNExLuiucu7eAaSPH/L97tIQQu9EZcWvXtsUzuOuLY8Md/VO4KUBDslvxS8SbNFPH3vWjsK9c26I9m8vDBVYrz3UiW9D1fVvJ+z87xF0ga93weNu45MhzseALC8iOOqPJpuzjxzRps8bPdQO+hDVLxdaxa9yXNkPKzKfLud8ua8AQZDvNcI6TwLqye9G76yPHQcPDyH/QU8Ru8QPJb5Gbw5rAO7WKktvXul+Tt3T6I7IUKavEKA+7sj04A7e7WLvPFAHDxlg5u7lK1pvM28DL19yWK8pQUyPCJQLbws4TS8L1DGuw7Wf7xoZwc77GaJPL1pETvCRYS8zg10u9BaQLwRk3u8EABhOUO3vDzuuJW8mHQZvQ94mLzUBKo7KJCjvJTVQjs+Qp082KnjO06Qe7prSi49pEwtu/RT8johXUC6P3GEPGbpdTwwF8K7HohLvPFSETx6mJ28kLW3PBzvU7zQsx68ebNnPD3B2rpeaAo8PyHfvDL8ProwYLw86U4sui3Yb7tKQ5U8afp4O4iGlrvBLZi6DxY+PJ6H9ruCqQg8zCUQPY9LSzx5lMM85Fm9u8ZOpLyTDhK8l8xhPJv+VT0/SI67hF6ZvPJNkLzrGGu8KviuO4OHdjwVa6w80GGRvLyMabxDXlE8mVrGPMrYoDzcXQm8riWIvJth57y8da68QLccPQ7C4TzObnE8DomQPFz5orwcZF66LAMVvIi2GrzHDly83PoLPW8Qh7zmcty7AwvUPAD4szyGGNK835BuPWpZu7x+SIA8fPs8PASZBL3aqDa94iw6PP0QCr02UQK8CqxXPCQeBbyFvkI83US4POiisDlFiau8X5rjPOfn+TxCsnq86U0MvN5VDDwmZJE8JmvGvJXslDseHCa86/55vJpqKT0AcTs8Z4SRvFJxmbxgFJu8gtmEPCwtPL3Uk427SI2jO+rRPLzxVMm8CBJ0PEIYTbweHhm9SDXXu5bjYjyTLD07tSk0PdcthLzyNMA8eh53vC9wlDupaqo8BBUIPB5ZWjzA/gk96dZ/PMfuRrw2Psc8DL44vMc9J71cV8E8WRivO6BJHLxvMaO8/esIvC0jn7zt4WI9xYOUu80UhLuiqiI98EH9O8MN2LzOEx88IhiRvIUV6bu9/5y8mtgmPdxxJLzcayQ4DEm2vAbIZrzes7m7+hmzPI2t3DykncQ8MQLDPHn8bLvona+8A99vu9tv4zx/aQ89cy4uPOrV4Tsycx68JXMsPRz4gzzdlpW8U+EgO/7LC7waoh08ES2RPD6VADyf+Ig7UvABvGdBpDtrCj47D6XZO248czw3HbU8oGj9PESA/br1NQ28xPaFvCLXeTzJoKO8MvEPvPGPnzxEGAg9/XMIPItMkzzd9Q87bGfkPFt5szuVujg8Qoq9vNBTdzwSg688TjcZPHQuH7ycGhW8jj2PvH8oNDzrnV288VZZu5kD0DuvTdE8kfVpu6yU1zhbR6y8vW/ovLTO2Dy6TpM8+jsZPFr2HjsBCd+6VbcsPFaqLbtw2eY8ZKMsO+zTnDylSZW7wrBdu1bIEbwi7MC8TP1rPJ6sCjwagcQ7owlLPNyrALxcXs875/Hru7UAnzw1YI08OoA6PCe72LwE5DE8RdGyPAO0zbwjdQg9yv2DvMJ5ED2otju95eiKPMPAcroKFf47BY6lPNH1tTyh6Z07CxBvuw3Hw7pLLpg8g8N4PDm9jjwofpQ7kXY1PYF87TwkwUY7X5cvPI/Gobum+hM7PvGdPH3m0rwmSki8dmOiO7PspTxlPzQ9EcIyvK0yvDsrUqo6G3FZPKXrJr0yWHC8MEg9PFHJBrwzXEG7l4O1vHnklbuqM2k7tGKHvBgNXbxhKZE8PNL7PDE4VzvA76Q7HM7QPKgvMjxx7es8c4NkvKMOKD0GeYo87gFKvWY2lDyqUEa7A/i3Og9h/jzQn6S84BNCvP57Z71FXnE8ggEEvUyrDrtITDY79uqLPBJmrbw0YGs7fNNrO7kxJz3bV9W8X54KvJ84pjpAxfa6L6ywOw3FiTxx5di8NxVgPP2sNzvSLok84FX6PDge4Tw+Kmq8+lmhvGsMkryxYBw9Yl4fu4UfnLy45aA8FZlrvNNROby8q9k5IPOEOqXbLjyiuhC7erGsuvY/Jb25HT28E6bZPMUpMjxTCjI7DuJ2vDKPPDvqHVc83UIDPTkgEL25Y6a7PtcPPYvVqDwbhwy97P4qvKJ0gruEe++7FUbgvJ1DqzyFDpe8+9fnO3+ejzl0AO+8TmevvMPFITv2NN060zhbu/gnZzsAL668/aTju6ETL7w4xsK89n0ePct9aDoeSNu7hPvFOmX80Tyv5QK8b3qeu20arrzR4Za85caLvDDRz7vhzZa88hikPNjZiTvumPi7PXHAPJGFALyNKiO8asawupWV6zxtPaA7uv6YPe9Ws7xfrKM8OFuAuabvNLuBJ6a74SCPvHYqgDybI5Y7aUkaPMhm1LywloI8+6hUPD7Jfzxb7Ei8kf9VO5k4ZjwIjnm8G4AMPeYvo7wrmys9dneAvLPyjrqJ5yU8Jx0mPGYXmbv8GQW8PKyvvFhrprw0ba88wSwBPG2uGrxAjvq8AZchu9gioLyb9By87BpkvPCNDb3rRVw8hVyHvB8TSLsxu/Y7DifUvN0X7TvK/Ew8vOUGvVqR/Du7i4c63Z+pvLgHMTwez5E5EsQ6u584ObzqWJ082kKGPDT0QD39DUK9f7+yPAnp7bu5+WY89LfTu7V4xDzjsrI7gWY1PDc0nbt91Ae8RbyIPGrsULuuKJu8cktHudH+ELviMn47vvUYPEaTvTxrON88W0I3PAAHEr0L49O7H3apuxmj67pWD426sX/Xu930LD2Pzxe8TZH+PDiU9LuR29q8Apx7PDW0CrwxQlS7HGXcPPGBlbuxZeK7osY2vKKizruXa0M7VRRNunWdCrsR29u7fvkaPPYMsztXsw88TP0dvMS8tDt5uEq8ues2vGftkjxhydq8GHOYvOiiorxndOE7uRtBu7JFJTxgxaG6RviBvNpvzTxdwNi7yNFOPVjDD7xojAW87qCjOqgjYL364wK9I74NvT13pTzBQA29e0C9O4ZRFbzgHs28Zk3EO2v5rTyghwW8BsUVPWn/ozxuTia85/a4PAymEbzYqKg8jkTnu4U3tTzIdgU89e0wPIVIhDwTUT+9KJoovCY42DxP1pk8Gz+qPMohkbzdY8G7aIR1PGOOPbx7edq8cK6yu25mJbzakJa8Abn3uNOnb7tMhxC86ZU+PHssUzwPccG8YACZvKpBfDsxslQ8HNfLvPFGNb1itL28Srrgu1uBLDwn5we8EQNlusHUIL27uf676e8XvUys6joP5gQ81qSCvIor4rzhkSu9AG+KO2v/HjtC3Mi71O2Quq+6Aj1gNoM9J0cnvFwZDj0diLO8fksVvEMwKT2zw468Uva9O4tX6TxEXkw6b7wFOxD8zrwKTm+8a+rGPJakGj3EmxW9iSEmujUyfLwRIZ+7fWeCO9tFDTsPfRy9bo66uWCFXbz5N1o9DlINPJ5E5jxFyTM8PPoSPGvbqrudm7C8uZSVPK8/HzySEdK8wfR+PNaRwrvbuq886VQkO8KAhruhlyY9pCz0PBzY2zsnJBu9aJLkvM35IL25pg89xgwtPCbjB7yaH/88mW6JPEAVTTubbpw7ReyZvMnhj7zzExY86IwfvE1jKjzZU6I7k9+3u/8pDTxSLCy8AwGZOzOXEL3WMiE3N0V8vZKymbx18B49XwsdvDeuNjuF9wA82mgcPJkOHL2fC787X9TmvEhwlTrUd7w8KhpXPb+yXry3AMo7H6i3PFRlIT2Ayb+7lOI4PQ0cwLs/t866AqWvPCAqebzFcxW97GO2O7cClzvMFMG8KvvivHzVt7wYuBw99MduPNxBorvKq+27rHVduvDrvztNx7A7t2lSPctjtbzKDtI8uoTau/WVuTsp8t88vmqEu9CKgDv30w09spShPK3EeDosNta8fHUnvXD7xrsnXyU7nU6+vPKoSbwDf6+8J1ZIPJk1DDsIUys8hLZfvPJh27vzA6Y6M55BPOSxpjuRkEq8IYtnvIEfSzoo6Z08k4ymvJPybzsa97Y7q1UWvbH1kjsWCaq7hm4jPFrUF7yBNPg8lD6SvD4fPLyb2VO9/4MGvCaJvrtRF/28Ab97vBmlT7ymmdE7wBeIvOWIQjzr2Ig79HFEu4w+uzu26GS54eu7vO/V5TwlPTu7FJSTvJhR+zz2XoI8/Digu9/9iTzkMny8AK29vF9/bbzEUwU8k4SHPBfdfTrNw1s83B3HORWRcb30DCg7UB+fOh0fcLuX+OG8383XvC4BejqPGJI8venfvKYWlrzAjcK8oHH8vM0twDtmrCa87IvGPJQAAbtQbs48P0/dPB/WmjyPdrI7OQ8UvLRRlLszBQg9yy1CPFXNozoTuPk7hvkMvHEK/LwrBYU6I5QxvUx7JrpJKJG87/1cvB15xDtKcLq7OhUuvbtRcDzTgwY9uy32O+pSa7ulUjW8crqNu2VaTryMF+G8LrqOu6ewEr1iBL07STi2O17PDDunzoY8FuGSvBylwzo3WJ68gIYzPNttDzx0ez68/rGHvFbovbyOWdu7eKJRPM+77zuQLJw7J/tjPCW3DT3JUo08lCAzPMFbHrwR7Ee8jy+AuQHkhDw22eO8ET7IOofRgDxSCEi8uR8kPBTVkDpxMhK8s6uaPECk2LyWbgC9JtTAu1RJmry9CvW8XC9pvHW61bzsJZk89riGvNBKq7ya51G83LXruz0xqbwJHBa9yLMaPRAPhDy8db28aAMIvPvzEr2Y0rS7CGkMPdhFGTvF0ao8MJgJO47AjDyhMbE8OgDaOs9W57tc4S+9OLn0uzpnVzxVFeM8DQrtO0SlSzy1Una8FaMVvIwoMzxTpb48p2GzO/b2pbv3Jhi8aCgzO2sTKby6/li8V4hlvEFfNLwBf0q88NZKPKtyTzzBuam8w4+6PGmbpjwUsFo7eHSLu2eMjTsO8By8utTpvBo2vTylJIs6au+xPI6spTzFvuY7T17JuxNcyrs0yAo9969MuYQRory3Hsa8Az+MPNEOKrzmA2O8A1tYvJ78hTwj08E6euHfvGXx4Lpa9v88zaPUPMxwAj0B6ge9xLCEPM+mnzrIwZy8kBHEPIVUgry1Lic8+qjguWDezDtOy3K6vWUcPPotl7pWdkE62Poqu1KAq7ywLaK8HZX/vCRNn7v5fgC87hKZuxpWoTphLiE7u88RvU1Gs7zI3rW69C8OvRxlxztp4kq9k+MOvAvf2DxGUiW9IdAXPA8VdDxqeYY72Y6xPEHUbrxaUw88XH7xuUnIPTz2EIc8kBCiO3W2GDyAgUi94uRSPAVF8LvpMJI7rVepvELRKzxRYRM95CTTO62+9Llzldu8cWydvIJv4jz7zJy8CxD0vMaeDLxkCWs8OwQ2O2Lsg7zsMhK9R+AjPNFmHrzx7Am9syClvFzuFjzb/CS8CWFdvEKFxrwyOwQ97SGtutXp6ry5cas8swgoPbhBPzzxw1y8G7tzvOGBIT2WwBa8XNS4O4AArTwLWTa9tMjkvPu0zDy+cvm73TnWPPSX0br7+QQ72fiTPNffobxlpwG9eqVFPTdwYjoZO606zl1fuwptqTzgLzm8PjHMuoVPaTyDw028FDy6u91h0TtGMgO8nOmvvBq8TzyCckW8WHoLu6BOKL3Tm/w8M0ruvP5j1bz+15C5J/QxvVJFTzVMWhq8ELSTPL9FPbwQdA29DvLwu5ly9zrw6Yy895mnPPb9pDtUEtW87DWKvADDDb1RLJi8UEogveurFTwuX8G8NdEVPWtCMbsTL1Q8LIwevB6pZbxsfzg8kO6ePIfXL73KNy48adXzO1UEujwY8xo6d14auxfEZjoTQjY6O0rvuzuqn7zv6Q+9i5b8u2zF+jodL9k7bVLZvF8VlDytpHq8NusHujrMnbw6wKA8kw/jPOcYMTw50h28iu2wO91ttTzIcpI82QCMuz8r3zwFhZO8zG+0O5fCtLt++DG8MrgQvcaG2Dw3PVI9BBFmPBqDh7y1tyI7LGuNvKe7nTx8koE4kqfGOw/jOLwCF8a8JDI2OpPt9jv62Zq8VwW5OwBKw7ztj748bCrBvLfZZLzJsM07K9mfPDf2rLxHo8062uOCPAPQ5rxc4yu7KSwmvO9gqzsPdne8HBAeOwrehDyeqm07zhCmOzfJvTsnXSU8QaYDvffJVbxbgUY8tfXhu/+4+Lz9vtc7Cp7mullyTbvR/b+8J4WcOvRw/LyVS9070Gpkuwytu7s2Dh48zYfvuwjrxLvpLWC8eWdTu4oZhTv1gtw7K4z0O/0mYDwI+Jq85VivPDecID3sh8I7o8ioPAaT9TkM3dO8UNnLPPckarx0wbk7+OK8PFaidrxhiVM9vJn4ujkHLz3LK4w84KTTO4QFAj28K5A7KedfvVMBsTq+rQk7My2xvHNlNb2KU/W7F+4vvEXvkDzlEBc88OuTOqkXJTxgVaS6TCzCvAkBMrzdfZs8SEipO3rvMbynYvM7PtoUPDiklLzPN6k8+ADWvIBJqrzeTgA9102Au6Yf6bxqbBM8C/+rO6hNBz3HZKo8ISpsPJGrR7x3zXY7qgU2vU4F9zuRl6c8HsOoPNDZErx9GZu8TuLWO0tkzjs+mVm8I6eKOyhA1Do82Vo8g5NFvKPF6DwdSFc8ytN6uwDOnrwWSoe6QGRhvaN6fzwL5jg9eURjvBL0LjwHi4w89LozO4XB9Twgq+k8hX3avP8zyLxXFuq8J35KvEnM9Dq+T5E8wGc4uw9jJbwzIee6QgG6u61Rmzsh1pY8ROtpvLBBVTxag6M8L+AfvCiObLxerQe9V0ububa2srotbus8ZeEavT0tRbxi/G+8FJc7PCeNDT3Tl307z1QqvHawnbt1rY+8b/SwvJnwsTwU/Cc8ilcJvTv7yLzBjDu8NCumPHdsojzMeA89YEMFvNMYbjvNnI26qyhePO7lUbzAHQA9gEY/PH7wI703I4e8oPFEPAjRKTzbZJi74tX4uwWnk7wj4Ok7AtCmPKgp3bvgdMs8dIkzu0sSbDsBS/48XvzbvJoftztKtya8Ep4YPbg10TvFAn28vKxdu0vwirxMa9k891Mcuq2d0Tu9ZTe9SWHGvM3dPrqlkCe7/KkDu0Z5QrxRdKg7VcuTvI8UETyZ9Cs8BWoFvPBWCbwjB7+8V2AJPQp8zbw2qi8830WbvMIUCz1KL3Y8g3+AvGDBEj3Ck6M6Ij9lvFQYTbxa+h09yyC7vAYNibzKpF88tS5JvK5FPrxV1/y6PFOSPJV7H7z5XhO84J04PF+D6rtv6o26rzEevPDVvjxfFRE6f3nsO/SxKj18yhS9r2+wPLOFKT3VLCy8XikfPbm5mToztb06lyVGO2MkHjyQRQO9ZR6ZPHb8hbvhJ2M8MiKyOyXGITt03Am82XiYvGekQromIMu8EMuBPJxIiTrw+AK8LPGtPEFWgjzSUQa8GVPHvAPpoDxOmn+79Xrlu64uULxQ+vw7VAHVPDgRmzzVTNw7lVTUvBC53buadT28B9bXO8atAT2EYzC8mlUgulTZ+jvyq+o6QoyqvLXu6zqwdsS8c+TLvL7izjw0klG8a8thvN366LzCpgK82IYrPPMrZbx30a47E2+JPBlhPTz9sF68Lv24vNxBZrzy64g8q6NcvH8ppzzS64q7nveHOmZ3xrs1h9i79SzzvBBC9zx2OUY83H5eu5p5CD2eZSK9YrMRPX0+1bxnA6G8hVsCvKQW+TvGhHi75+LzvC8tibwu0z47ElctPJ4Wr7wFHaQ7Hfl3vEC8Wjxqc76717VyvHK4S7uyWtG8TnZrPG7Q7zyUAxM8Mv/hO6qCKLzVYmA8+pwdOmm1bTwSfzI8gPN9u84RxbuInzO7NLCuun8k5Lx1teY74RKqu9i3u7tg6LC816GaOwyEVDynsL27BqSGvJIrGrxSl0e8w6wbPVT2uzuhmZG6qDkdvZAuhry5bjq9MuhkPA== - 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: - - '2715' - 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 ordered by relevance - 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] [rank 1 of 5] - Source: "Document Title" > Section > Subsection - Type: paragraph - Content: - The actual text content here... - - [chunk_def456] [rank 2 of 5] - Source: "Another Document" - Type: table - Content: - | Column 1 | Column 2 | - ... - - Each result includes: - - chunk_id in brackets and rank position (rank 1 = most relevant) - - 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 - - Results are ordered by relevance, with rank 1 being most relevant - tool_choice: - type: any - tools: - - description: |- - Search the knowledge base for relevant documents. - - Returns results with chunk IDs and rank positions. - 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: - - '554' - content-type: - - application/json - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - parsed_body: - content: - - id: toolu_012SMbp95ixidsSfPU7Ki79V - input: - query: Bintang Jakarta election civic engagement feedback innovative method - name: search_documents - type: tool_use - id: msg_01QkAsaKBoE8MbG7KETqn15k - 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: 1026 - output_tokens: 48 - service_tier: standard - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '138' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Bintang Jakarta election civic engagement feedback innovative method - 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: 11 - total_tokens: 11 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '7942' - 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_012SMbp95ixidsSfPU7Ki79V - input: - query: Bintang Jakarta election civic engagement feedback innovative method - name: search_documents - type: tool_use - role: assistant - - content: - - content: |- - [f2e022de-3a32-47d4-914c-7f12525f4d72] [rank 1 of 1] - 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_012SMbp95ixidsSfPU7Ki79V - 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 ordered by relevance - 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] [rank 1 of 5] - Source: "Document Title" > Section > Subsection - Type: paragraph - Content: - The actual text content here... - - [chunk_def456] [rank 2 of 5] - Source: "Another Document" - Type: table - Content: - | Column 1 | Column 2 | - ... - - Each result includes: - - chunk_id in brackets and rank position (rank 1 = most relevant) - - 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 - - Results are ordered by relevance, with rank 1 being most relevant - tool_choice: - type: any - tools: - - description: |- - Search the knowledge base for relevant documents. - - Returns results with chunk IDs and rank positions. - 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: - - '1014' - content-type: - - application/json - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - parsed_body: - content: - - id: toolu_01YPtvsmJWh6pX7jxuj8XPFg - input: - answer: Bintang introduced an interactive mobile app that allowed citizens to provide real-time feedback about their - daily commute challenges. This innovative digital platform was praised as a unique approach to civic engagement, - enabling direct communication between the candidate and voters about urban transportation issues. - cited_chunks: - - f2e022de-3a32-47d4-914c-7f12525f4d72 - confidence: 0.95 - 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_01YNGhM3cFaE11wjZFNWL3jU - 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: 2084 - output_tokens: 190 - service_tier: standard - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '1999' - 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 digital platform was praised as a unique approach to civic engagement, enabling direct communication between the candidate and voters about urban transportation issues. - - 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: - - '631' - content-type: - - application/json - parsed_body: - choices: - - finish_reason: tool_calls - index: 0 - message: - content: '' - reasoning: We need to see if answers equivalent. Both say interactive app for real-time feedback on daily commute - challenges. One adds mobile app, digital platform, unique approach. So yes equivalent. - role: assistant - tool_calls: - - function: - arguments: '{"equivalent":true}' - name: final_result - id: call_aaamvt6t - index: 0 - type: function - created: 1769001427 - id: chatcmpl-514 - model: gpt-oss - object: chat.completion - system_fingerprint: fp_ollama - usage: - completion_tokens: 61 - prompt_tokens: 411 - total_tokens: 472 - 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 deleted file mode 100644 index 4d3e7630..00000000 --- a/tests/cassettes/test_qa/test_qa_openai.yaml +++ /dev/null @@ -1,631 +0,0 @@ -interactions: -- 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: u72ruV0kQzyWRem8dzsiPfUMjLohWfE7NA0QPUnyk7xvdhm8ZYVSPPkhYDrYcBu9jf81ufQTpDvmbeO8OzIFvc0YbTxYPtI80fc/vHDip7unbiO75QFbPVnCgz3B6FC9sT6qPN06l7x0WNC8Bwu6vUJj1LyWywA8SpJBvT/uyrwT6ye9bhMpOulnyzpYhxU8f0qQPJ4eAbt694A7xXzaPAvDbTzWBYW7pSWKO1FourvJsTc9qkqxPHxpeTuCVnu8baz1vF/1wrwGF248+byRPCl/urz4slm8N+pRO1dYPTwuQDC6gvGTuhVBvDyoKhq8iaSxOxAz1TzCiPo7EUclvPoWu7tTYCm8azyIvYaOgTr97U2828C8OyZtFDwwf5A7akfNO4kFmburnYU816havLpsZrv5kcK7hAn8PGRHmToDA6q78ym1O0jn3zu1Uwm9Zfp1PIrEgbxUlqc8L0eFu02EarwfaWw86oagPGi50jwGNWc8LafUOH+YcDtNK8U7ZtkSu7jYAL0VX0q8z5ZZPHuKfLzRNva8mQuXvGb1l7tzpzo85+LMvMUWsTtcP1k8KhMDPPp/AjsqAKe7AD90PKFnwTmvAIW86Dq1vF1z/LuJ+v25FrQSO7b1izw8fKO8T4/LO8ZsSjzxPZw8eguZPF3scLxMmmu8HSSAPLDUXDw0qxs9T4WKOkedyTtgB647SffIu+M0bDuj0f68Tey+O0MbYzwgcy68al6bu3OhZTxT2/q7OyyDu0UXSDwGPNo81ZEhvOPLJruG8AY8azxZPJYqQrtn+gC7Qn9MPH08BTzOhOK6q1dMPAQfoLtiZKi7wongvH4SkjxXwn88xCwQvOKe6Tt9CFI8qP5hvBhj+rpXNGy7Fv6DO7Gl77tcCyi7je0DvBY6hbzbZCu61jVlvEPjRzxOPpK7B4wgO9we0TwAcUu7rQ4dvfdUjbz6DTy8uQhvO2NRJr1ec307/9RNuyWtm7oXJxw8j7jFvDgy/juW9Cg8dUoEPKB6mLxBWZK8JsdGPPQISjwGyu87BPc1PIaaCjyAIwe72r4ru4aju7vgXbM6bwQAvPxlarpEOFs6h0WxvOxMkDt9Wq87y6fFO5qefzx5Ace81yFPO+P+jbtayT68MZ0NvPkf2DyxdLE8pNuivFZqQ7x7b348ImuuulAcazvodkw8XiC3vA2OjDwo9t68KT0IPbdrHrveZpU8EZzwu0h0rLtd/Kg7YNs5PHBidDzjkok68e/PPEHuZ7zGzL67AxiGPG+fAz08EFa9oVUdvHVxorvbLZA7nsVcPAcyjztn9o+8QHqnO4pmaTzi0y66XpRVvDCC5DthDW65lZU/O/Vf57oJ7M28loVlvEgfW7ypRp07oHVsu6eZ0bvQeZM8yASiPK9SRbv/U606xcgMvD8WiLyVcCU9/DvhPAHDCbzd8rI8A1upuRrhkLuaeXc8fiG0OoJPvztRnyG8N21KvCP0O7v227Q8XXKMPJuhK7xRK4U7UUSivDazpbucVcy7aG2FPBYX8DxYPYy71CSlvGyWJzz8kmI8CAQiPSSDkzryPa+8xXLkPCFtOjyRDpw6ZwmZO5Tmsbu2xsm8RY3Fu7ZQdjvEf2g8+iUYvKBj9jqgXwE9ZpI1vIGFDTvDYr685ZqqvPxhBrykob87+dNwPEeqvzwFvjI8rBITvKSIgzvREKw8OTylPLHfQbtazKu8OTETvVBZXLtYc5a6wjtBPLmRujw2IS48RzcuPJEdETtqZ4U8uk0BO+wTRTx//xq9goRePMVWlTuXaR082e8Iu1Gf4zwcGe47B55ivM0uRbywqyI8CxuiuRk8Kb0gpfY6IRTru9qZoryXUuk7L8aLvU0BLTz2sdS8dUeqO8Kdh72fEF+89ZNZPKLVUzwiKOy7FD6HPPMgSDzHDaO8vzwTvAhlKbzlqhQ8P5X/uzS9sDw/hBU8ga8AvLEvTzyEy428SX56vCXC4zwv8E09jYKYOz6dBzwCupS8l5WJO5a3Gj3z9jK6oEj2O0KvojwXuaE87bb1ufkfizyXgfo8h11NuZw/ijyEpNU7qQIXvL7h4Lv5aWq8yZb4O1XH4jsxuEs8QbesPBO2OT3jNj48icAePAY34DwRxWS5Hi7GvPATcrysSXO8I5cQO/cRhTts+BG8ihd4vOqL1LvfHJC8rPXCPO3fIT3lVaS7ltN0PFOCSDykzPE7wJykukW6J7xx9Zy7cI+svBJCIr0NZUm8f0lyum8sALylP4g7OR3UPFlO0TznOkQ82jKNu1pkWDxdxIO80p/LvAPdLrzlx4W8LnEdPJCLoDwUW9S7UiVOPbR8zDwMm6m8EEwuve9AjrzG47w8J5cJvaWi5by/AZI8HGpSvP/MgbyM67G7KamROSAdFDtGGR88ldAOvXVX2jvMxC08cpdsu3iwVLxqRhm8WwRaO8WUVjvNa7i8EP13PIZ5krt9ZZk7H/fCvJPm2TyIoh28GiWNvFIIRbtsejo85onYPJ0X8jzxF448FFO5vN2TozwEMC2901Ztu+Dx1jt9VhI8OwxZvboNwDz6mAc8k3PLPI8cfby0ymC9BUdeOwPgtDw9aYm8dfYCvN8BdrzDERQ9zsL+O9A6OzyYO2K8kmc8PFiZdLyhF4s8A1yovFUbMTpQ34k8UtzRPHRJQDwd8Ya5Yqrwuz+n9jtSbgG9Cf2nulfmfrxMvo89ZBokvP2AB72VurE8C1lxPNmI3jsuMdI63ZeFvNIntzzWHy69AezaO/fEX7wg55y64IBnOyAAEb3l2dO6QMVUPKJqPLxyfGi7ZQoOPQeM/DyiqRK98aHSPKgovTzsiEm8LEQsuxvoAD3dM9m7Jeuvu5DMK7wCC0C776N8vEFv8Du12Yi8i+I7vPjMCjx975a71ES1O4QPUTzAO1w88mLAO9FPYruhc2288yK7PJTw9TsXtI68SwtivE61sbwJFbA8bfvTPIddbzwKO708O89xPBRWFrvMbO27YSOBvLq6EjyF7HY8JNiQPDlwpDwxf708orVAPGFC+TybXwW9RXAsvToS/TweX1y8xwWOPFwYxTwq4K47pP8MPFjVGT2ZYRO9cSbpu+KhJ7t5fYa88aTqu3tjQ7yCyEC88E3LvEFI3zw6fEA9TBqJPPw2HLwd2P27gFUGvPP5qTy0tEE9b/L+uxC2J7s2t8Y8EwWuPMR/+rv7oTg81MsfPG/6Try7exe9ILqTu6biZDy/gom7GSo/vAW6qjwSLNu8p+hhuzZsKrnSW0K8rt/fO9Fx9jvdQSO7LdeAO1Qzg7v6aHq840AjvS20RzvkdrM8rVkDvTwguLzUOSC9mwhfvWivHbzE9BE7jTFkvRaVt7uRyVq8dixLu96+Zj13bjw6qx5BPMvulru10hS872ONPPy5wbrrxas8bs6cvFY0FzwO2bo8G74UPaAEkDs6vm28EVKhuiD9rrxoeum7E95Gu615Vboov5s842sRPK/IcbxvLu45ecSwPHC3Mj3Zz9266BBVvGI1STwes2W7t52SPDW2rry4u4M8DsjKuq2uj712LsK80TWrOfafAzv7jpw8KFe0vN/9P7wTaWu8zu2wPIlXGzwtBA891NfNPGKrED1ArBG9ZfApOz1YELzQ8Hm8f98qvGRMnTyXGIy88iZEvHCT4zorLZo6oObcvFOzjrvj2DI8VErSu6P9g7svElA8Zt+Ru61fPj3M3JQ8pSSMvBB9rbxQfiW92BTwvD7u2TyJRxO7sw0LuzjuDT0LoRK8eVuIvAGnpDzZOUE8xSgquvAuXDzP3IM8cy0BvK6Jzrr6SrW8eowRPIV4Kbxgww08T5KJvE4q9ztjOE+7RP89vLi1ejsX/fc7QfKIPI2ZtDlYr8C8xyR/vG2jPLyXOwC8Zki4PA2srTwPVFc6a4/Cuy4GejqTVqe73OWzPFkuKL2BJIa8zQ3KvEopKzyFGno8nMXnO8g4vzyssw088PAuvQ5clT3GJRk9E16zO+Kb+juPEFQ6vZHNu4P4w7vSQIo88HoTPCfugbxW+wC7WXYaO+T7fLrIFRY9IMX1u9P3/Twzrl26id0qvIXJxDuhsQC93sIDPFk4dLzefs+88w3mvJGXTT2WGda8QrRGvSTirLvn0w09MT4nPXuHkbwswvW6Y78VveiscT1rsyO8AMB1vS8vBT3CBk88ATKvvPSAnLzgRPW7y3qbvIuu2rvAfJQ8TBlLPPw+RLsZxji8Hf+ju85ftTvwnFG9fcCWvPtkE7w9TgS6zfW6vHrOxbyZEV89ZURYvOttJ7zKS6A8DscOOxYBybxGKK+8752Lu8HTVzxXiQA8hTs2PCekYr3FPyi9Kxu3POR2Fryyhla8h4ZuvEjz1jxCApU7W09APEYBF7xM18S7n7slu2XHkbxxtJA8h9Cou1LC8zyRdE28KgqmvKDk8bwJwIs7gigcOs5shryu4h+7v1RVO5R42TsWp5u5sCYZvV4+8bsUIzI8NQSnPF2tvDuXSRI9xZ0VvRV4zjwFST27rOsJu3nXsTtDcPu7NnT2unByYLyAzFY9zdjCvEddmzwr1bo8NG7KPKBl+jzcBwi656NYPJ7k97vqA+46hfvAvCobULtsTQs9Ia7UvNb2Cjwzauw7/OmQvAG3l7wJrCA8aR4EPck/+ztxcjk8m0XQPCukCzzGy0A8kOhlvCTw57z3JJ879VQoPT0CCrjIWLA8RkAwPVOs4jyC3Ms7qJcDPVAnhrwjZzC7uHpVvM39y7yhtB+6STojPAif7TknUZ88cZYSPA7FJDx+VgC90BAMvX4kJD1BpZO8E8oMPA1HiDyYwiS8up6RPIg6SDyxl/o4wptNPLdYMbsLAow8gIauvNZvU7ruGF87veB6vLcCpDxU6JU78AQBvFNXyruVvqi7AMK/u+fmUzwNw2G6h80OvUxSojtqitg7i6XwvACvizk+R7W7ZiMvvP2CLTtSrbG7WwLPvBqzGbv2uPI8ATNLvC/kW7zk6iO8jqBpPbU2a7wpPa28fvIbuo+eFr3StQw7TDeKvLrW4byjDcW6Jm+GPC8zgbxOFHM8jSEyvEgz8jw3NBK8DOvPPHEduzpyhUG88x7MvEARQDzS7K68h3fHOyesezy2iAQ9o8LNvARNFzwRw7K723nNuz+uSry5hCi6J9MvOqZBND0M4me7cC/KvKVKZzxjhr8844WBOzjzTbyz4VI5r8mWuwa4crx6mIo8EpnGPIsxcz2PjVu9cQBBPJCaELx4P+O8/eHUOpA0cryk+KY7ofPWPOu78LwL+si84DXWvHoJgzxfOt48sGCyPOpOzDwWwSE9NOKSvB/cQbxVevE8nHTyvBb+wbyzMg897YNWO6Ypv7umB2a9uE3RvHATirxMNgO85LJ5PRDR/jsWPRW7YcYXvEyUAzz0SJi8lsMtPMGIhTwqm8c8Zef0uZeQq7w+oPc8iuDcPA0eo7xHmhW9P645PCXSoTqVbPO8Y70CPJDqnzz76vU8vQ8QvdSXIjxC0fC7hJC8vFbb7jmuffo7RQ+1PEPCELq2eKE86wHjvIe2QrwgfaO8iZ64uBFIpjvLUau7flq4vJlaCbwqA1+8JDdtOiAcm7zvGAQ892muvMNExLuiucu7eAaSPH/L97tIQQu9EZcWvXtsUzuOuLY8Md/VO4KUBDslvxS8SbNFPH3vWjsK9c26I9m8vDBVYrz3UiW9D1fVvJ+z87xF0ga93weNu45MhzseALC8iOOqPJpuzjxzRps8bPdQO+hDVLxdaxa9yXNkPKzKfLud8ua8AQZDvNcI6TwLqye9G76yPHQcPDyH/QU8Ru8QPJb5Gbw5rAO7WKktvXul+Tt3T6I7IUKavEKA+7sj04A7e7WLvPFAHDxlg5u7lK1pvM28DL19yWK8pQUyPCJQLbws4TS8L1DGuw7Wf7xoZwc77GaJPL1pETvCRYS8zg10u9BaQLwRk3u8EABhOUO3vDzuuJW8mHQZvQ94mLzUBKo7KJCjvJTVQjs+Qp082KnjO06Qe7prSi49pEwtu/RT8johXUC6P3GEPGbpdTwwF8K7HohLvPFSETx6mJ28kLW3PBzvU7zQsx68ebNnPD3B2rpeaAo8PyHfvDL8ProwYLw86U4sui3Yb7tKQ5U8afp4O4iGlrvBLZi6DxY+PJ6H9ruCqQg8zCUQPY9LSzx5lMM85Fm9u8ZOpLyTDhK8l8xhPJv+VT0/SI67hF6ZvPJNkLzrGGu8KviuO4OHdjwVa6w80GGRvLyMabxDXlE8mVrGPMrYoDzcXQm8riWIvJth57y8da68QLccPQ7C4TzObnE8DomQPFz5orwcZF66LAMVvIi2GrzHDly83PoLPW8Qh7zmcty7AwvUPAD4szyGGNK835BuPWpZu7x+SIA8fPs8PASZBL3aqDa94iw6PP0QCr02UQK8CqxXPCQeBbyFvkI83US4POiisDlFiau8X5rjPOfn+TxCsnq86U0MvN5VDDwmZJE8JmvGvJXslDseHCa86/55vJpqKT0AcTs8Z4SRvFJxmbxgFJu8gtmEPCwtPL3Uk427SI2jO+rRPLzxVMm8CBJ0PEIYTbweHhm9SDXXu5bjYjyTLD07tSk0PdcthLzyNMA8eh53vC9wlDupaqo8BBUIPB5ZWjzA/gk96dZ/PMfuRrw2Psc8DL44vMc9J71cV8E8WRivO6BJHLxvMaO8/esIvC0jn7zt4WI9xYOUu80UhLuiqiI98EH9O8MN2LzOEx88IhiRvIUV6bu9/5y8mtgmPdxxJLzcayQ4DEm2vAbIZrzes7m7+hmzPI2t3DykncQ8MQLDPHn8bLvona+8A99vu9tv4zx/aQ89cy4uPOrV4Tsycx68JXMsPRz4gzzdlpW8U+EgO/7LC7waoh08ES2RPD6VADyf+Ig7UvABvGdBpDtrCj47D6XZO248czw3HbU8oGj9PESA/br1NQ28xPaFvCLXeTzJoKO8MvEPvPGPnzxEGAg9/XMIPItMkzzd9Q87bGfkPFt5szuVujg8Qoq9vNBTdzwSg688TjcZPHQuH7ycGhW8jj2PvH8oNDzrnV288VZZu5kD0DuvTdE8kfVpu6yU1zhbR6y8vW/ovLTO2Dy6TpM8+jsZPFr2HjsBCd+6VbcsPFaqLbtw2eY8ZKMsO+zTnDylSZW7wrBdu1bIEbwi7MC8TP1rPJ6sCjwagcQ7owlLPNyrALxcXs875/Hru7UAnzw1YI08OoA6PCe72LwE5DE8RdGyPAO0zbwjdQg9yv2DvMJ5ED2otju95eiKPMPAcroKFf47BY6lPNH1tTyh6Z07CxBvuw3Hw7pLLpg8g8N4PDm9jjwofpQ7kXY1PYF87TwkwUY7X5cvPI/Gobum+hM7PvGdPH3m0rwmSki8dmOiO7PspTxlPzQ9EcIyvK0yvDsrUqo6G3FZPKXrJr0yWHC8MEg9PFHJBrwzXEG7l4O1vHnklbuqM2k7tGKHvBgNXbxhKZE8PNL7PDE4VzvA76Q7HM7QPKgvMjxx7es8c4NkvKMOKD0GeYo87gFKvWY2lDyqUEa7A/i3Og9h/jzQn6S84BNCvP57Z71FXnE8ggEEvUyrDrtITDY79uqLPBJmrbw0YGs7fNNrO7kxJz3bV9W8X54KvJ84pjpAxfa6L6ywOw3FiTxx5di8NxVgPP2sNzvSLok84FX6PDge4Tw+Kmq8+lmhvGsMkryxYBw9Yl4fu4UfnLy45aA8FZlrvNNROby8q9k5IPOEOqXbLjyiuhC7erGsuvY/Jb25HT28E6bZPMUpMjxTCjI7DuJ2vDKPPDvqHVc83UIDPTkgEL25Y6a7PtcPPYvVqDwbhwy97P4qvKJ0gruEe++7FUbgvJ1DqzyFDpe8+9fnO3+ejzl0AO+8TmevvMPFITv2NN060zhbu/gnZzsAL668/aTju6ETL7w4xsK89n0ePct9aDoeSNu7hPvFOmX80Tyv5QK8b3qeu20arrzR4Za85caLvDDRz7vhzZa88hikPNjZiTvumPi7PXHAPJGFALyNKiO8asawupWV6zxtPaA7uv6YPe9Ws7xfrKM8OFuAuabvNLuBJ6a74SCPvHYqgDybI5Y7aUkaPMhm1LywloI8+6hUPD7Jfzxb7Ei8kf9VO5k4ZjwIjnm8G4AMPeYvo7wrmys9dneAvLPyjrqJ5yU8Jx0mPGYXmbv8GQW8PKyvvFhrprw0ba88wSwBPG2uGrxAjvq8AZchu9gioLyb9By87BpkvPCNDb3rRVw8hVyHvB8TSLsxu/Y7DifUvN0X7TvK/Ew8vOUGvVqR/Du7i4c63Z+pvLgHMTwez5E5EsQ6u584ObzqWJ082kKGPDT0QD39DUK9f7+yPAnp7bu5+WY89LfTu7V4xDzjsrI7gWY1PDc0nbt91Ae8RbyIPGrsULuuKJu8cktHudH+ELviMn47vvUYPEaTvTxrON88W0I3PAAHEr0L49O7H3apuxmj67pWD426sX/Xu930LD2Pzxe8TZH+PDiU9LuR29q8Apx7PDW0CrwxQlS7HGXcPPGBlbuxZeK7osY2vKKizruXa0M7VRRNunWdCrsR29u7fvkaPPYMsztXsw88TP0dvMS8tDt5uEq8ues2vGftkjxhydq8GHOYvOiiorxndOE7uRtBu7JFJTxgxaG6RviBvNpvzTxdwNi7yNFOPVjDD7xojAW87qCjOqgjYL364wK9I74NvT13pTzBQA29e0C9O4ZRFbzgHs28Zk3EO2v5rTyghwW8BsUVPWn/ozxuTia85/a4PAymEbzYqKg8jkTnu4U3tTzIdgU89e0wPIVIhDwTUT+9KJoovCY42DxP1pk8Gz+qPMohkbzdY8G7aIR1PGOOPbx7edq8cK6yu25mJbzakJa8Abn3uNOnb7tMhxC86ZU+PHssUzwPccG8YACZvKpBfDsxslQ8HNfLvPFGNb1itL28Srrgu1uBLDwn5we8EQNlusHUIL27uf676e8XvUys6joP5gQ81qSCvIor4rzhkSu9AG+KO2v/HjtC3Mi71O2Quq+6Aj1gNoM9J0cnvFwZDj0diLO8fksVvEMwKT2zw468Uva9O4tX6TxEXkw6b7wFOxD8zrwKTm+8a+rGPJakGj3EmxW9iSEmujUyfLwRIZ+7fWeCO9tFDTsPfRy9bo66uWCFXbz5N1o9DlINPJ5E5jxFyTM8PPoSPGvbqrudm7C8uZSVPK8/HzySEdK8wfR+PNaRwrvbuq886VQkO8KAhruhlyY9pCz0PBzY2zsnJBu9aJLkvM35IL25pg89xgwtPCbjB7yaH/88mW6JPEAVTTubbpw7ReyZvMnhj7zzExY86IwfvE1jKjzZU6I7k9+3u/8pDTxSLCy8AwGZOzOXEL3WMiE3N0V8vZKymbx18B49XwsdvDeuNjuF9wA82mgcPJkOHL2fC787X9TmvEhwlTrUd7w8KhpXPb+yXry3AMo7H6i3PFRlIT2Ayb+7lOI4PQ0cwLs/t866AqWvPCAqebzFcxW97GO2O7cClzvMFMG8KvvivHzVt7wYuBw99MduPNxBorvKq+27rHVduvDrvztNx7A7t2lSPctjtbzKDtI8uoTau/WVuTsp8t88vmqEu9CKgDv30w09spShPK3EeDosNta8fHUnvXD7xrsnXyU7nU6+vPKoSbwDf6+8J1ZIPJk1DDsIUys8hLZfvPJh27vzA6Y6M55BPOSxpjuRkEq8IYtnvIEfSzoo6Z08k4ymvJPybzsa97Y7q1UWvbH1kjsWCaq7hm4jPFrUF7yBNPg8lD6SvD4fPLyb2VO9/4MGvCaJvrtRF/28Ab97vBmlT7ymmdE7wBeIvOWIQjzr2Ig79HFEu4w+uzu26GS54eu7vO/V5TwlPTu7FJSTvJhR+zz2XoI8/Digu9/9iTzkMny8AK29vF9/bbzEUwU8k4SHPBfdfTrNw1s83B3HORWRcb30DCg7UB+fOh0fcLuX+OG8383XvC4BejqPGJI8venfvKYWlrzAjcK8oHH8vM0twDtmrCa87IvGPJQAAbtQbs48P0/dPB/WmjyPdrI7OQ8UvLRRlLszBQg9yy1CPFXNozoTuPk7hvkMvHEK/LwrBYU6I5QxvUx7JrpJKJG87/1cvB15xDtKcLq7OhUuvbtRcDzTgwY9uy32O+pSa7ulUjW8crqNu2VaTryMF+G8LrqOu6ewEr1iBL07STi2O17PDDunzoY8FuGSvBylwzo3WJ68gIYzPNttDzx0ez68/rGHvFbovbyOWdu7eKJRPM+77zuQLJw7J/tjPCW3DT3JUo08lCAzPMFbHrwR7Ee8jy+AuQHkhDw22eO8ET7IOofRgDxSCEi8uR8kPBTVkDpxMhK8s6uaPECk2LyWbgC9JtTAu1RJmry9CvW8XC9pvHW61bzsJZk89riGvNBKq7ya51G83LXruz0xqbwJHBa9yLMaPRAPhDy8db28aAMIvPvzEr2Y0rS7CGkMPdhFGTvF0ao8MJgJO47AjDyhMbE8OgDaOs9W57tc4S+9OLn0uzpnVzxVFeM8DQrtO0SlSzy1Una8FaMVvIwoMzxTpb48p2GzO/b2pbv3Jhi8aCgzO2sTKby6/li8V4hlvEFfNLwBf0q88NZKPKtyTzzBuam8w4+6PGmbpjwUsFo7eHSLu2eMjTsO8By8utTpvBo2vTylJIs6au+xPI6spTzFvuY7T17JuxNcyrs0yAo9969MuYQRory3Hsa8Az+MPNEOKrzmA2O8A1tYvJ78hTwj08E6euHfvGXx4Lpa9v88zaPUPMxwAj0B6ge9xLCEPM+mnzrIwZy8kBHEPIVUgry1Lic8+qjguWDezDtOy3K6vWUcPPotl7pWdkE62Poqu1KAq7ywLaK8HZX/vCRNn7v5fgC87hKZuxpWoTphLiE7u88RvU1Gs7zI3rW69C8OvRxlxztp4kq9k+MOvAvf2DxGUiW9IdAXPA8VdDxqeYY72Y6xPEHUbrxaUw88XH7xuUnIPTz2EIc8kBCiO3W2GDyAgUi94uRSPAVF8LvpMJI7rVepvELRKzxRYRM95CTTO62+9Llzldu8cWydvIJv4jz7zJy8CxD0vMaeDLxkCWs8OwQ2O2Lsg7zsMhK9R+AjPNFmHrzx7Am9syClvFzuFjzb/CS8CWFdvEKFxrwyOwQ97SGtutXp6ry5cas8swgoPbhBPzzxw1y8G7tzvOGBIT2WwBa8XNS4O4AArTwLWTa9tMjkvPu0zDy+cvm73TnWPPSX0br7+QQ72fiTPNffobxlpwG9eqVFPTdwYjoZO606zl1fuwptqTzgLzm8PjHMuoVPaTyDw028FDy6u91h0TtGMgO8nOmvvBq8TzyCckW8WHoLu6BOKL3Tm/w8M0ruvP5j1bz+15C5J/QxvVJFTzVMWhq8ELSTPL9FPbwQdA29DvLwu5ly9zrw6Yy895mnPPb9pDtUEtW87DWKvADDDb1RLJi8UEogveurFTwuX8G8NdEVPWtCMbsTL1Q8LIwevB6pZbxsfzg8kO6ePIfXL73KNy48adXzO1UEujwY8xo6d14auxfEZjoTQjY6O0rvuzuqn7zv6Q+9i5b8u2zF+jodL9k7bVLZvF8VlDytpHq8NusHujrMnbw6wKA8kw/jPOcYMTw50h28iu2wO91ttTzIcpI82QCMuz8r3zwFhZO8zG+0O5fCtLt++DG8MrgQvcaG2Dw3PVI9BBFmPBqDh7y1tyI7LGuNvKe7nTx8koE4kqfGOw/jOLwCF8a8JDI2OpPt9jv62Zq8VwW5OwBKw7ztj748bCrBvLfZZLzJsM07K9mfPDf2rLxHo8062uOCPAPQ5rxc4yu7KSwmvO9gqzsPdne8HBAeOwrehDyeqm07zhCmOzfJvTsnXSU8QaYDvffJVbxbgUY8tfXhu/+4+Lz9vtc7Cp7mullyTbvR/b+8J4WcOvRw/LyVS9070Gpkuwytu7s2Dh48zYfvuwjrxLvpLWC8eWdTu4oZhTv1gtw7K4z0O/0mYDwI+Jq85VivPDecID3sh8I7o8ioPAaT9TkM3dO8UNnLPPckarx0wbk7+OK8PFaidrxhiVM9vJn4ujkHLz3LK4w84KTTO4QFAj28K5A7KedfvVMBsTq+rQk7My2xvHNlNb2KU/W7F+4vvEXvkDzlEBc88OuTOqkXJTxgVaS6TCzCvAkBMrzdfZs8SEipO3rvMbynYvM7PtoUPDiklLzPN6k8+ADWvIBJqrzeTgA9102Au6Yf6bxqbBM8C/+rO6hNBz3HZKo8ISpsPJGrR7x3zXY7qgU2vU4F9zuRl6c8HsOoPNDZErx9GZu8TuLWO0tkzjs+mVm8I6eKOyhA1Do82Vo8g5NFvKPF6DwdSFc8ytN6uwDOnrwWSoe6QGRhvaN6fzwL5jg9eURjvBL0LjwHi4w89LozO4XB9Twgq+k8hX3avP8zyLxXFuq8J35KvEnM9Dq+T5E8wGc4uw9jJbwzIee6QgG6u61Rmzsh1pY8ROtpvLBBVTxag6M8L+AfvCiObLxerQe9V0ububa2srotbus8ZeEavT0tRbxi/G+8FJc7PCeNDT3Tl307z1QqvHawnbt1rY+8b/SwvJnwsTwU/Cc8ilcJvTv7yLzBjDu8NCumPHdsojzMeA89YEMFvNMYbjvNnI26qyhePO7lUbzAHQA9gEY/PH7wI703I4e8oPFEPAjRKTzbZJi74tX4uwWnk7wj4Ok7AtCmPKgp3bvgdMs8dIkzu0sSbDsBS/48XvzbvJoftztKtya8Ep4YPbg10TvFAn28vKxdu0vwirxMa9k891Mcuq2d0Tu9ZTe9SWHGvM3dPrqlkCe7/KkDu0Z5QrxRdKg7VcuTvI8UETyZ9Cs8BWoFvPBWCbwjB7+8V2AJPQp8zbw2qi8830WbvMIUCz1KL3Y8g3+AvGDBEj3Ck6M6Ij9lvFQYTbxa+h09yyC7vAYNibzKpF88tS5JvK5FPrxV1/y6PFOSPJV7H7z5XhO84J04PF+D6rtv6o26rzEevPDVvjxfFRE6f3nsO/SxKj18yhS9r2+wPLOFKT3VLCy8XikfPbm5mToztb06lyVGO2MkHjyQRQO9ZR6ZPHb8hbvhJ2M8MiKyOyXGITt03Am82XiYvGekQromIMu8EMuBPJxIiTrw+AK8LPGtPEFWgjzSUQa8GVPHvAPpoDxOmn+79Xrlu64uULxQ+vw7VAHVPDgRmzzVTNw7lVTUvBC53buadT28B9bXO8atAT2EYzC8mlUgulTZ+jvyq+o6QoyqvLXu6zqwdsS8c+TLvL7izjw0klG8a8thvN366LzCpgK82IYrPPMrZbx30a47E2+JPBlhPTz9sF68Lv24vNxBZrzy64g8q6NcvH8ppzzS64q7nveHOmZ3xrs1h9i79SzzvBBC9zx2OUY83H5eu5p5CD2eZSK9YrMRPX0+1bxnA6G8hVsCvKQW+TvGhHi75+LzvC8tibwu0z47ElctPJ4Wr7wFHaQ7Hfl3vEC8Wjxqc76717VyvHK4S7uyWtG8TnZrPG7Q7zyUAxM8Mv/hO6qCKLzVYmA8+pwdOmm1bTwSfzI8gPN9u84RxbuInzO7NLCuun8k5Lx1teY74RKqu9i3u7tg6LC816GaOwyEVDynsL27BqSGvJIrGrxSl0e8w6wbPVT2uzuhmZG6qDkdvZAuhry5bjq9MuhkPA== - 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: - - '2760' - 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 ordered by relevance - 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] [rank 1 of 5] - Source: "Document Title" > Section > Subsection - Type: paragraph - Content: - The actual text content here... - - [chunk_def456] [rank 2 of 5] - Source: "Another Document" - Type: table - Content: - | Column 1 | Column 2 | - ... - - Each result includes: - - chunk_id in brackets and rank position (rank 1 = most relevant) - - 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 - - Results are ordered by relevance, with rank 1 being most relevant - 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 rank positions. - 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: - - '1157' - content-type: - - application/json - openai-organization: - - enfold-systems - openai-processing-ms: - - '854' - 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 citizens Jakarta election"}' - name: search_documents - id: call_KJ0lkxmRRzDYnJw7mFWHlwQ9 - type: function - created: 1769001388 - id: chatcmpl-D0SMOLCHuJI24tOe3j2GdQXAVwWax - model: gpt-4o-mini-2024-07-18 - object: chat.completion - service_tier: default - system_fingerprint: fp_c4585b5b9c - usage: - completion_tokens: 22 - completion_tokens_details: - accepted_prediction_tokens: 0 - audio_tokens: 0 - reasoning_tokens: 0 - rejected_prediction_tokens: 0 - prompt_tokens: 498 - prompt_tokens_details: - audio_tokens: 0 - cached_tokens: 0 - total_tokens: 520 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '140' - content-type: - - application/json - host: - - localhost:11434 - method: POST - parsed_body: - encoding_format: base64 - input: - - Bintang innovative civic engagement 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: 11 - total_tokens: 11 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '7977' - content-type: - - application/json - cookie: - - __cf_bm=108bG22zp7CfRbsoTon0Y7gdKTNzGRDyQlxDt1UckcM-1769001389-1.0.1.1-iOVL5b63uCO82cfii245ExHhy0wsHN5qYGfAQ25xlnfsSjS_QjetPxu1LMlpVNoAbPPn_9MyRRiCyWvXn3HsuPc20rni7HkA9rGwYQCXEd0; - _cfuvid=FOK8eKwc4R_UPlI1U1m2RwZMQH.KdP3vAmUQ_AJrWWY-1769001389377-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 ordered by relevance - 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] [rank 1 of 5] - Source: "Document Title" > Section > Subsection - Type: paragraph - Content: - The actual text content here... - - [chunk_def456] [rank 2 of 5] - Source: "Another Document" - Type: table - Content: - | Column 1 | Column 2 | - ... - - Each result includes: - - chunk_id in brackets and rank position (rank 1 = most relevant) - - 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 - - Results are ordered by relevance, with rank 1 being most relevant - 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 citizens Jakarta election"}' - name: search_documents - id: call_KJ0lkxmRRzDYnJw7mFWHlwQ9 - type: function - - content: |- - [6429d519-77af-4097-b2d6-b2060d67ab25] [rank 1 of 1] - 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_KJ0lkxmRRzDYnJw7mFWHlwQ9 - 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 rank positions. - 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: - - '1513' - content-type: - - application/json - openai-organization: - - enfold-systems - openai-processing-ms: - - '2534' - 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 daily commute challenges, which was recognized as an innovative form of civic - engagement during Jakarta''s election.","cited_chunks":["6429d519-77af-4097-b2d6-b2060d67ab25"],"confidence":1.0}' - name: final_result - id: call_xdN8TNZZHFQSL0tRWTaIHf4G - type: function - created: 1769001390 - id: chatcmpl-D0SMQ7hzSkBJXPCVsxaDtcnMXBClQ - model: gpt-4o-mini-2024-07-18 - object: chat.completion - service_tier: default - system_fingerprint: fp_29330a9688 - usage: - completion_tokens: 101 - completion_tokens_details: - accepted_prediction_tokens: 0 - audio_tokens: 0 - reasoning_tokens: 0 - rejected_prediction_tokens: 0 - prompt_tokens: 1405 - prompt_tokens_details: - audio_tokens: 0 - cached_tokens: 0 - total_tokens: 1506 - status: - code: 200 - message: OK -- request: - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate, zstd - connection: - - keep-alive - content-length: - - '1886' - 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 daily commute challenges, which was recognized 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: - - '845' - content-type: - - application/json - parsed_body: - choices: - - finish_reason: tool_calls - index: 0 - message: - content: '' - reasoning: 'We need to compare. Both say interactive app for real-time feedback on daily commute challenges. The - first says during Jakarta''s election and recognized as innovative. The question: "What innovative form of civic - engagement did Bintang introduce for gathering feedback from citizens during Jakarta''s election?" The expected - answer: the app. Both answers mention same core factual info. Yes equivalent.' - role: assistant - tool_calls: - - function: - arguments: '{"equivalent":true}' - name: final_result - id: call_u9kj2xm2 - index: 0 - type: function - created: 1769001395 - id: chatcmpl-845 - model: gpt-oss - object: chat.completion - system_fingerprint: fp_ollama - usage: - completion_tokens: 97 - prompt_tokens: 396 - total_tokens: 493 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/test_embedder.py b/tests/test_embedder.py index 6b0fa2ef..8865b30e 100644 --- a/tests/test_embedder.py +++ b/tests/test_embedder.py @@ -63,88 +63,6 @@ async def test_ollama_embedder(allow_model_requests): assert max(sims) == sims[1] -@pytest.mark.vcr() -async def test_openai_embedder(allow_model_requests): - """Test OpenAI embedder via pydantic-ai.""" - config = AppConfig( - embeddings=EmbeddingsConfig( - model=EmbeddingModelConfig( - provider="openai", name="text-embedding-3-small", vector_dim=1536 - ) - ) - ) - embedder = get_embedder(config) - phrases = [ - "I enjoy eating great food.", - "Python is my favorite programming language.", - "I love to travel and see new places.", - ] - - # Test batch embedding (documents) - embeddings = await embedder.embed_documents(phrases) - assert isinstance(embeddings, list) - assert len(embeddings) == 3 - assert all(isinstance(emb, list) for emb in embeddings) - embeddings = [np.array(emb) for emb in embeddings] - - # Test query embedding - test_phrase = "I am going for a camping trip." - test_embedding = await embedder.embed_query(test_phrase) - sims = similarities(embeddings, test_embedding) - assert max(sims) == sims[2] - - test_phrase = "When is dinner ready?" - test_embedding = await embedder.embed_query(test_phrase) - sims = similarities(embeddings, test_embedding) - assert max(sims) == sims[0] - - test_phrase = "I work as a software developer." - test_embedding = await embedder.embed_query(test_phrase) - sims = similarities(embeddings, test_embedding) - assert max(sims) == sims[1] - - -@pytest.mark.vcr() -async def test_voyageai_embedder(allow_model_requests): - """Test VoyageAI embedder.""" - config = AppConfig( - embeddings=EmbeddingsConfig( - model=EmbeddingModelConfig( - provider="voyageai", name="voyage-3.5", vector_dim=1024 - ) - ) - ) - embedder = get_embedder(config) - phrases = [ - "I enjoy eating great food.", - "Python is my favorite programming language.", - "I love to travel and see new places.", - ] - - # Test batch embedding (documents) - embeddings = await embedder.embed_documents(phrases) - assert isinstance(embeddings, list) - assert len(embeddings) == 3 - assert all(isinstance(emb, list) for emb in embeddings) - embeddings = [np.array(emb) for emb in embeddings] - - # Test query embedding - test_phrase = "I am going for a camping trip." - test_embedding = await embedder.embed_query(test_phrase) - sims = similarities(embeddings, test_embedding) - assert max(sims) == sims[2] - - test_phrase = "When is dinner ready?" - test_embedding = await embedder.embed_query(test_phrase) - sims = similarities(embeddings, test_embedding) - assert max(sims) == sims[0] - - test_phrase = "I work as a software developer." - test_embedding = await embedder.embed_query(test_phrase) - sims = similarities(embeddings, test_embedding) - assert max(sims) == sims[1] - - def test_contextualize_with_headings(): """Test that contextualize prepends headings to chunk content.""" chunks = [ diff --git a/tests/test_embedder_config.py b/tests/test_embedder_config.py index 7dcbc6df..f65f629b 100644 --- a/tests/test_embedder_config.py +++ b/tests/test_embedder_config.py @@ -28,21 +28,6 @@ def test_ollama_embedder_uses_config(): assert embedder._vector_dim == 512 -def test_openai_embedder_uses_config(): - """Test that OpenAI embedder uses the config passed to get_embedder.""" - custom_config = AppConfig( - embeddings=EmbeddingsConfig( - model=EmbeddingModelConfig( - provider="openai", name="text-embedding-3-large", vector_dim=3072 - ), - ), - ) - - embedder = get_embedder(custom_config) - - assert embedder._vector_dim == 3072 - - def test_openai_embedder_with_base_url(): """Test that OpenAI embedder uses custom base_url for vLLM/LM Studio.""" custom_config = AppConfig( @@ -61,21 +46,6 @@ def test_openai_embedder_with_base_url(): assert embedder._vector_dim == 768 -def test_cohere_embedder_uses_config(): - """Test that Cohere embedder uses the config passed to get_embedder.""" - custom_config = AppConfig( - embeddings=EmbeddingsConfig( - model=EmbeddingModelConfig( - provider="cohere", name="embed-v4.0", vector_dim=1024 - ), - ), - ) - - embedder = get_embedder(custom_config) - - assert embedder._vector_dim == 1024 - - def test_sentence_transformers_embedder_uses_config(): """Test that SentenceTransformers embedder uses the config.""" custom_config = AppConfig(