diff --git "a/notebooks/rag_optimization_benchmark.ipynb" "b/notebooks/rag_optimization_benchmark.ipynb" --- "a/notebooks/rag_optimization_benchmark.ipynb" +++ "b/notebooks/rag_optimization_benchmark.ipynb" @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -102,15 +102,55 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 3, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✅ Project root: /Users/ismatsamadov/SOCAR_Hackathon\n", + "✅ Docs directory: /Users/ismatsamadov/SOCAR_Hackathon/docs\n", + "✅ Output directory: /Users/ismatsamadov/SOCAR_Hackathon/output\n" + ] + } + ], "source": [ - "## 1. Load Test Questions and Expected Answers" + "# Auto-detect project root (works from any directory)\n", + "import os\n", + "from pathlib import Path\n", + "\n", + "if Path('data').exists() and Path('docs').exists():\n", + " # Already in project root\n", + " PROJECT_ROOT = Path.cwd()\n", + "elif Path('../data').exists() and Path('../docs').exists():\n", + " # In notebooks/ subdirectory\n", + " PROJECT_ROOT = Path.cwd().parent\n", + "else:\n", + " # Fallback: try to find project root\n", + " current = Path.cwd()\n", + " while current != current.parent:\n", + " if (current / 'data').exists() and (current / 'docs').exists():\n", + " PROJECT_ROOT = current\n", + " break\n", + " current = current.parent\n", + " else:\n", + " PROJECT_ROOT = Path.cwd()\n", + "\n", + "# Define all paths relative to project root\n", + "DATA_DIR = PROJECT_ROOT / 'data'\n", + "DOCS_DIR = PROJECT_ROOT / 'docs'\n", + "OUTPUT_DIR = PROJECT_ROOT / 'output'\n", + "\n", + "print(f\"✅ Project root: {PROJECT_ROOT}\")\n", + "print(f\"✅ Docs directory: {DOCS_DIR}\")\n", + "print(f\"✅ Output directory: {OUTPUT_DIR}\")" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -127,11 +167,11 @@ } ], "source": [ - "# Load test cases\n", - "with open('docs/sample_questions.json', 'r', encoding='utf-8') as f:\n", + "# Load test cases - using dynamic paths\n", + "with open(DOCS_DIR / 'sample_questions.json', 'r', encoding='utf-8') as f:\n", " questions = json.load(f)\n", "\n", - "with open('docs/sample_answers.json', 'r', encoding='utf-8') as f:\n", + "with open(DOCS_DIR / 'sample_answers.json', 'r', encoding='utf-8') as f:\n", " expected_answers = json.load(f)\n", "\n", "print(f\"✅ Loaded {len(questions)} test questions\")\n", @@ -148,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -181,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -252,7 +292,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -398,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -491,10 +531,67 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], - "source": "def generate_answer(llm_model: str, query: str, documents: List[Dict], \n prompt_strategy: str = 'baseline',\n temperature: float = 0.2) -> Tuple[str, float]:\n \"\"\"\n Generate answer using LLM with specified prompting strategy.\n \"\"\"\n # Build context\n context_parts = []\n for i, doc in enumerate(documents, 1):\n context_parts.append(\n f\"Sənəd {i} (Mənbə: {doc['pdf_name']}, Səhifə {doc['page_number']}):\\n{doc['content']}\"\n )\n context = \"\\n\\n\".join(context_parts)\n \n # Get prompt template\n prompt_template = PROMPTING_STRATEGIES[prompt_strategy]\n prompt = prompt_template.format(context=context, query=query)\n \n try:\n start_time = time.time()\n \n deployment = LLM_MODELS[llm_model]\n \n # GPT-5 models use max_completion_tokens, others use max_tokens\n if deployment.startswith('gpt-5'):\n response = azure_client.chat.completions.create(\n model=deployment,\n messages=[{\"role\": \"user\", \"content\": prompt}],\n temperature=temperature,\n max_completion_tokens=1000\n )\n else:\n response = azure_client.chat.completions.create(\n model=deployment,\n messages=[{\"role\": \"user\", \"content\": prompt}],\n temperature=temperature,\n max_tokens=1000\n )\n \n elapsed = time.time() - start_time\n answer = response.choices[0].message.content\n \n return answer, elapsed\n \n except Exception as e:\n return f\"ERROR: {str(e)}\", 0.0\n\nprint(\"✅ LLM generation function ready\")" + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✅ LLM generation function ready\n" + ] + } + ], + "source": [ + "def generate_answer(llm_model: str, query: str, documents: List[Dict], \n", + " prompt_strategy: str = 'baseline',\n", + " temperature: float = 0.2) -> Tuple[str, float]:\n", + " \"\"\"\n", + " Generate answer using LLM with specified prompting strategy.\n", + " \"\"\"\n", + " # Build context\n", + " context_parts = []\n", + " for i, doc in enumerate(documents, 1):\n", + " context_parts.append(\n", + " f\"Sənəd {i} (Mənbə: {doc['pdf_name']}, Səhifə {doc['page_number']}):\\n{doc['content']}\"\n", + " )\n", + " context = \"\\n\\n\".join(context_parts)\n", + " \n", + " # Get prompt template\n", + " prompt_template = PROMPTING_STRATEGIES[prompt_strategy]\n", + " prompt = prompt_template.format(context=context, query=query)\n", + " \n", + " try:\n", + " start_time = time.time()\n", + " \n", + " deployment = LLM_MODELS[llm_model]\n", + " \n", + " # GPT-5 models use max_completion_tokens, others use max_tokens\n", + " if deployment.startswith('gpt-5'):\n", + " response = azure_client.chat.completions.create(\n", + " model=deployment,\n", + " messages=[{\"role\": \"user\", \"content\": prompt}],\n", + " temperature=temperature,\n", + " max_completion_tokens=1000\n", + " )\n", + " else:\n", + " response = azure_client.chat.completions.create(\n", + " model=deployment,\n", + " messages=[{\"role\": \"user\", \"content\": prompt}],\n", + " temperature=temperature,\n", + " max_tokens=1000\n", + " )\n", + " \n", + " elapsed = time.time() - start_time\n", + " answer = response.choices[0].message.content\n", + " \n", + " return answer, elapsed\n", + " \n", + " except Exception as e:\n", + " return f\"ERROR: {str(e)}\", 0.0\n", + "\n", + "print(\"✅ LLM generation function ready\")" + ] }, { "cell_type": "markdown", @@ -505,7 +602,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -611,7 +708,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -661,7 +758,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -675,27 +772,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.01s\n", + " ✅ Generated in 3.47s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.38s\n", + " ✅ Generated in 2.00s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.45s\n", + " ✅ Generated in 2.70s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.52s\n", + " ✅ Generated in 3.78s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.14s\n", + " ✅ Generated in 1.45s\n", "\n", " 📊 Config Summary:\n", - " Avg LLM Judge Score: 43.53%\n", - " Avg Response Time: 2.50s\n", + " Avg LLM Judge Score: 45.40%\n", + " Avg Response Time: 2.68s\n", "\n", "====================================================================================================\n", "Config 2/11: multilingual-e5-large_vanilla_k3_Llama-4-Maverick_baseline\n", @@ -703,27 +800,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.98s\n", + " ✅ Generated in 3.73s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.66s\n", + " ✅ Generated in 1.64s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.19s\n", + " ✅ Generated in 1.96s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ✅ Generated in 4.38s\n", + " ✅ Generated in 4.51s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ✅ Generated in 4.32s\n", + " ✅ Generated in 3.89s\n", "\n", " 📊 Config Summary:\n", " Avg LLM Judge Score: 39.73%\n", - " Avg Response Time: 3.31s\n", + " Avg Response Time: 3.15s\n", "\n", "====================================================================================================\n", "Config 3/11: bge-large-en_vanilla_k5_Llama-4-Maverick_baseline\n", @@ -731,27 +828,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 5 docs\n", - " ✅ Generated in 2.55s\n", + " ✅ Generated in 3.59s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 5 docs\n", - " ✅ Generated in 2.50s\n", + " ✅ Generated in 3.29s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 5 docs\n", - " ✅ Generated in 2.58s\n", + " ✅ Generated in 2.44s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 5 docs\n", - " ✅ Generated in 3.07s\n", + " ✅ Generated in 3.03s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 5 docs\n", - " ✅ Generated in 3.74s\n", + " ✅ Generated in 4.40s\n", "\n", " 📊 Config Summary:\n", " Avg LLM Judge Score: 45.40%\n", - " Avg Response Time: 2.89s\n", + " Avg Response Time: 3.35s\n", "\n", "====================================================================================================\n", "Config 4/11: bge-large-en_mmr_balanced_Llama-4-Maverick_baseline\n", @@ -759,27 +856,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.64s\n", + " ✅ Generated in 1.55s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.27s\n", + " ✅ Generated in 1.13s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.34s\n", + " ✅ Generated in 2.58s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.05s\n", + " ✅ Generated in 2.94s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.52s\n", + " ✅ Generated in 2.37s\n", "\n", " 📊 Config Summary:\n", " Avg LLM Judge Score: 45.40%\n", - " Avg Response Time: 2.16s\n", + " Avg Response Time: 2.11s\n", "\n", "====================================================================================================\n", "Config 5/11: bge-large-en_reranked_k3_Llama-4-Maverick_baseline\n", @@ -787,27 +884,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.26s\n", + " ✅ Generated in 1.52s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.12s\n", + " ✅ Generated in 3.40s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.83s\n", + " ✅ Generated in 2.14s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.93s\n", + " ✅ Generated in 2.78s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.24s\n", + " ✅ Generated in 3.46s\n", "\n", " 📊 Config Summary:\n", - " Avg LLM Judge Score: 44.47%\n", - " Avg Response Time: 3.08s\n", + " Avg LLM Judge Score: 43.53%\n", + " Avg Response Time: 2.66s\n", "\n", "====================================================================================================\n", "Config 6/11: bge-large-en_vanilla_k3_GPT-5-mini_baseline\n", @@ -815,23 +912,23 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", "====================================================================================================\n", "Config 7/11: bge-large-en_vanilla_k3_Claude-Sonnet-4.5_baseline\n", @@ -863,27 +960,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.24s\n", + " ✅ Generated in 1.86s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.82s\n", + " ✅ Generated in 2.72s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.36s\n", + " ✅ Generated in 2.87s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ✅ Generated in 3.30s\n", + " ✅ Generated in 3.18s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.59s\n", + " ✅ Generated in 1.69s\n", "\n", " 📊 Config Summary:\n", " Avg LLM Judge Score: 57.53%\n", - " Avg Response Time: 2.66s\n", + " Avg Response Time: 2.46s\n", "\n", "====================================================================================================\n", "Config 9/11: bge-large-en_vanilla_k3_Llama-4-Maverick_few_shot\n", @@ -891,27 +988,27 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ✅ Generated in 0.87s\n", + " ✅ Generated in 0.92s\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.51s\n", + " ✅ Generated in 1.79s\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.96s\n", + " ✅ Generated in 1.95s\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ✅ Generated in 2.77s\n", + " ✅ Generated in 2.37s\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ✅ Generated in 1.08s\n", + " ✅ Generated in 1.12s\n", "\n", " 📊 Config Summary:\n", - " Avg LLM Judge Score: 61.51%\n", - " Avg Response Time: 1.64s\n", + " Avg LLM Judge Score: 60.57%\n", + " Avg Response Time: 1.63s\n", "\n", "====================================================================================================\n", "Config 10/11: bge-large-en_reranked_k3_GPT-5-mini_citation_focused\n", @@ -919,23 +1016,23 @@ "\n", " Example1: Daha az quyu ilə daha çox hasilat əldə etmək üçün hansı əsas...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example2: Qərbi Abşeron yatağında suvurma tədbirləri hansı tarixdə və ...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example3: Pirallahı strukturunda 1253 nömrəli quyudan götürülmüş nümun...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example4: Bakı arxipelaqı (BA) və Aşağı Kür çökəkliyi (AKÇ) üçün geote...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", " Example5: Bu zonada hansı proseslər baş verir?...\n", " Retrieved 3 docs\n", - " ❌ ERROR: Error code: 400 - {'error': {'message': \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.\", 'type': 'invalid_request_error', 'param': 'max_tokens', 'code': 'unsupported_parameter'}}\n", + " ❌ ERROR: Completions.create() got an unexpected keyword argument 'max_completion_tokens'\n", "\n", "====================================================================================================\n", "Config 11/11: bge-large-en_mmr_balanced_Claude-Sonnet-4.5_citation_focused\n", @@ -1062,7 +1159,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -1075,13 +1172,13 @@ "========================================================================================================================\n", " Embedding_Model Retrieval_Strategy LLM_Model Prompt_Strategy LLM_Judge_Score Accuracy_Score Citation_Score Response_Time\n", "Config \n", - "bge-large-en_vanilla_k3_Llama-4-Maverick_few_shot bge-large-en vanilla_k3 Llama-4-Maverick few_shot 61.51 11.35 78.67 1.64\n", - "bge-large-en_vanilla_k3_Llama-4-Maverick_citation_focused bge-large-en vanilla_k3 Llama-4-Maverick citation_focused 57.53 0.00 78.67 2.66\n", - "bge-large-en_mmr_balanced_Llama-4-Maverick_baseline bge-large-en mmr_balanced Llama-4-Maverick baseline 45.40 0.00 44.00 2.16\n", - "bge-large-en_vanilla_k5_Llama-4-Maverick_baseline bge-large-en vanilla_k5 Llama-4-Maverick baseline 45.40 0.00 44.00 2.89\n", - "bge-large-en_reranked_k3_Llama-4-Maverick_baseline bge-large-en reranked_k3 Llama-4-Maverick baseline 44.47 0.00 41.33 3.08\n", - "bge-large-en_vanilla_k3_Llama-4-Maverick_baseline bge-large-en vanilla_k3 Llama-4-Maverick baseline 43.53 0.00 38.67 2.50\n", - "multilingual-e5-large_vanilla_k3_Llama-4-Maverick_baseline multilingual-e5-large vanilla_k3 Llama-4-Maverick baseline 39.73 0.00 28.00 3.31\n", + "bge-large-en_vanilla_k3_Llama-4-Maverick_few_shot bge-large-en vanilla_k3 Llama-4-Maverick few_shot 60.57 11.35 76.00 1.63\n", + "bge-large-en_vanilla_k3_Llama-4-Maverick_citation_focused bge-large-en vanilla_k3 Llama-4-Maverick citation_focused 57.53 0.00 78.67 2.46\n", + "bge-large-en_mmr_balanced_Llama-4-Maverick_baseline bge-large-en mmr_balanced Llama-4-Maverick baseline 45.40 0.00 44.00 2.11\n", + "bge-large-en_vanilla_k3_Llama-4-Maverick_baseline bge-large-en vanilla_k3 Llama-4-Maverick baseline 45.40 0.00 44.00 2.68\n", + "bge-large-en_vanilla_k5_Llama-4-Maverick_baseline bge-large-en vanilla_k5 Llama-4-Maverick baseline 45.40 0.00 44.00 3.35\n", + "bge-large-en_reranked_k3_Llama-4-Maverick_baseline bge-large-en reranked_k3 Llama-4-Maverick baseline 43.53 0.00 38.67 2.66\n", + "multilingual-e5-large_vanilla_k3_Llama-4-Maverick_baseline multilingual-e5-large vanilla_k3 Llama-4-Maverick baseline 39.73 0.00 28.00 3.15\n", "========================================================================================================================\n" ] } @@ -1125,7 +1222,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -1142,18 +1239,18 @@ " multilingual-e5-large: 39.73%\n", "\n", "🔎 RETRIEVAL STRATEGIES:\n", - " vanilla_k3: 50.58% (Current setup)\n", + " vanilla_k3: 50.81% (Current setup)\n", " mmr_balanced: 45.40% (Balance diversity)\n", " vanilla_k5: 45.40% (More context)\n", - " reranked_k3: 44.47% (Two-stage rerank)\n", + " reranked_k3: 43.53% (Two-stage rerank)\n", "\n", "🤖 LLM MODELS:\n", " Llama-4-Maverick: 48.22%\n", "\n", "💬 PROMPTING STRATEGIES:\n", - " few_shot: 61.51%\n", + " few_shot: 60.57%\n", " citation_focused: 57.53%\n", - " baseline: 43.71%\n", + " baseline: 43.89%\n", "\n", "====================================================================================================\n" ] @@ -1193,30 +1290,114 @@ "print(\"\\n\" + \"=\"*100)" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 10. Visualizations" - ] - }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": "import os\nfrom pathlib import Path\n\n# Create output directory\noutput_dir = Path('output/rag_optimization_benchmark')\noutput_dir.mkdir(parents=True, exist_ok=True)\n\nfig, axes = plt.subplots(2, 3, figsize=(20, 12))\n\n# 1. Top Configurations\nax1 = axes[0, 0]\ntop_configs = config_summary.head(10)\nconfig_labels = [c.split('_')[-2] + '+' + c.split('_')[-1] for c in top_configs.index]\nax1.barh(config_labels, top_configs['LLM_Judge_Score'], color=sns.color_palette('viridis', len(top_configs)))\nax1.set_xlabel('LLM Judge Score (%)', fontsize=11, fontweight='bold')\nax1.set_title('Top 10 Configurations', fontsize=13, fontweight='bold')\nax1.set_xlim(0, 100)\nfor i, score in enumerate(top_configs['LLM_Judge_Score']):\n ax1.text(score + 1, i, f'{score:.1f}', va='center', fontsize=10)\n\n# 2. Embedding Model Impact\nax2 = axes[0, 1]\nax2.bar(embed_impact.index, embed_impact.values, color='skyblue', alpha=0.8)\nax2.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\nax2.set_title('Embedding Model Impact', fontsize=13, fontweight='bold')\nax2.set_ylim(0, 100)\nax2.tick_params(axis='x', rotation=45)\nfor i, (model, score) in enumerate(embed_impact.items()):\n ax2.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=10)\n\n# 3. Retrieval Strategy Impact\nax3 = axes[0, 2]\nax3.bar(retrieval_impact.index, retrieval_impact.values, color='coral', alpha=0.8)\nax3.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\nax3.set_title('Retrieval Strategy Impact', fontsize=13, fontweight='bold')\nax3.set_ylim(0, 100)\nax3.tick_params(axis='x', rotation=45)\nfor i, (strategy, score) in enumerate(retrieval_impact.items()):\n ax3.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=9)\n\n# 4. LLM Model Impact\nax4 = axes[1, 0]\nax4.bar(llm_impact.index, llm_impact.values, color='mediumseagreen', alpha=0.8)\nax4.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\nax4.set_title('LLM Model Impact', fontsize=13, fontweight='bold')\nax4.set_ylim(0, 100)\nax4.tick_params(axis='x', rotation=45)\nfor i, (model, score) in enumerate(llm_impact.items()):\n ax4.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=10)\n\n# 5. Prompting Strategy Impact\nax5 = axes[1, 1]\nax5.bar(prompt_impact.index, prompt_impact.values, color='mediumpurple', alpha=0.8)\nax5.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\nax5.set_title('Prompting Strategy Impact', fontsize=13, fontweight='bold')\nax5.set_ylim(0, 100)\nax5.tick_params(axis='x', rotation=45)\nfor i, (strategy, score) in enumerate(prompt_impact.items()):\n ax5.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=10)\n\n# 6. Score Components (best config)\nax6 = axes[1, 2]\nbest_config = config_summary.iloc[0]\ncomponents = ['Accuracy', 'Citation', 'Completeness']\nscores = [best_config['Accuracy_Score'], best_config['Citation_Score'], best_config['Completeness_Score']]\ncolors_comp = ['#FF6B6B', '#4ECDC4', '#45B7D1']\nbars = ax6.bar(components, scores, color=colors_comp, alpha=0.8)\nax6.set_ylabel('Score (%)', fontsize=11, fontweight='bold')\nax6.set_title(f'Best Config Components\\n{best_config.name.split(\"_\")[2]}', fontsize=13, fontweight='bold')\nax6.set_ylim(0, 100)\nfor i, score in enumerate(scores):\n ax6.text(i, score + 2, f'{score:.1f}%', ha='center', fontsize=10, fontweight='bold')\n\nplt.tight_layout()\nplt.savefig(output_dir / 'results.png', dpi=300, bbox_inches='tight')\nplt.show()\n\nprint(f\"\\n✅ Visualization saved to '{output_dir}/results.png'\")" - }, - { - "cell_type": "markdown", + "execution_count": 15, "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ivGtxo8fP6579+4pU6ZMVi80JvTPP/9o3LhxeuONN+Tu7q4aNWro888/1/Xr1xMtu23bNrVo0ULu7u6qX7++fv7558fGk9zv5FnFj185YsQIbdmyRU2bNlX58uXVokULHThwQHfv3tWQIUNUuXJlVa5cWX5+frp3756xfsLvKCAgQO3atVP58uVVt25dLVy4MNH+fv75Z7399tuqVKmSsdzYsWOttilJV69elZ+fn1599VW5u7urXr16mjx5stGz1KBBg/Ttt98ay7u6umrQoEGpdl4AAEiu+N5uHu3572n38Cfdy+JzwMmTJ6tv375yd3dX9erVdfPmzceOPf20/Q0ZMkSurq6qUKGCHjx4YLVuixYtjPt5vOTes5MjvnV7UFCQvvrqK4WEhBjzFi9erF27dhktxJ/1vMTGxmrevHl688035eXlJU9PTzVs2FBff/21IiMjJcXlPb/++qsk6fLly3J1ddW0adOMfW3atEktW7ZU+fLl5e3trb59++ry5cuJjmf37t1q06aNypcvr9q1a+vHH3/UsmXL5Orqqtq1a0uSunXrJldXV1WvXt2qKBwRESEvLy+5urpq7NixKTqP//Zvg/hrZ/Dgwdq2bZuaN29uPGeMPy/xknM+4wUGBurjjz82euBs3LixvvvuO0VHRyfrvAPPE1qMA4DJ/frrr+rfv79VEnXy5EmNHDlS+/bt06RJk2SxWKzWGTVqlM6cOWN83rJli44cOaJffvlFTk5Oj93X//73P7Vv315VqlSxKvQmdPXqVePfCQvb8a2LEs5/1PHjx41ivpubW5LLNGnSJNG0ffv2qXPnzlbdu589e1ZTp07VH3/8oe+//16ZM2e2WufHH3/UoUOHjM8nTpxQjx49tHnzZjk7Oz82xsf55ZdfNGDAAONzYGCgevXqpbJly6Z4W0mZMmWK7ty5I0kqXry4MmbMKD8/P6PIHe/EiRMaMWKE7O3t1apVqxTvJy3O5ZUrV/Thhx/qn3/+MZa5evWqVq9erb179+qXX375T7Q+AwAgocjISF27di3Jebly5Up0P1yxYoXVuJX79u1Tly5dlDFjRp07d06SFB4eru+++045c+ZMNHbfnj17rB52HTt2TN26ddPXX3+t119/XVLckDa+vr5WD7q2bt2q3bt3a/HixcZLiceOHZOPj4/xUtvVq1c1duzYJHu9Scmy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cjcAAID0lWZjjC9btkwNGjSQm5ubvL29NXz4cEVHR0uSBg0apPHjx6tXr17y8PBQo0aNdPz4cU2aNEmVKlXSa6+9pnXr1hnb2r9/v9q2bSsPDw95enqqc+fOVoWNpOzZs0d79uxRt27dkh1znTp1tGXLFqtpmzdvVt26da2mBQYGqmPHjvLy8pK7u7vatWunoKAgSXHdrk+dOtVq+TZt2ujrr7+WJJ0+fVo+Pj4qX7686tevr0WLFhnLTZs2Td27d9e7776rKlWqaM+ePVbdjUdFRemrr75S9erVVbFiRX388cf6+++/Ex1HQECAvLy8tHz58mQf+969e1WvXj15eHjok08+0e3bt63OQbNmzeTu7q5KlSqpT58+unfvnqS4Vvk9e/ZUpUqVVLlyZfXr109379411v3pp59Uu3ZteXl5ycfHR6dOnUpy/wm7Uh80aJDGjBljXB81a9bUzz//bCwbERGhL774Qt7e3vL29la/fv0UFhaW7GMF8OLZtWuX9u3bp+7du1tNDw4OloODgwYMGKDq1aurZcuWibpaTygoKEiLFy+Wn59fWocMAM9k0KBB2rNnj2bNmqU9e/YY3XECAADgv4fcDQAAIH2lSWF8z549+uKLL9SnTx+tX79ew4cP1/Lly7V582Zjmfnz56tKlSpavXq1HB0d9f777+vmzZtasmSJateuraFDhyomJkZ37txR165d9eqrr2rt2rWaO3euLly4oNmzZz92/xEREfr88881ZMgQZcmSJdlx16lTRzt27FBkZKQk6c6dOzp48KBee+01Y5mYmBh169ZNBQsW1C+//KKffvpJ0dHRGj9+vCSpUaNG2rhxo7H89evXdejQITVu3FgPHjxQ586dVbFiRa1evVoDBw7U119/bVX03bx5s5o0aaL58+erfPnyVvFNmTJFq1at0ujRo7VkyRLdvHlTQ4cOtVrm7Nmz6tq1q3r27KmWLVsm+9gXLVqkwYMHa9GiRTp79qzGjBkjSbpw4YI++eQTtWvXTuvWrdPkyZP1559/aunSpZKkqVOnKiQkRIsXL9aCBQt08uRJ4yWALVu2aPr06fr888+1atUqVaxYUe3bt7cquj8pnnLlymnt2rWqV6+ehg4dqjt37kiSvvrqKx09elTffvutFixYoLt37+qTTz5J9rECMLfo6Girn/DwcA0ZMkSfffaZMmXK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K00K48uWLdPbb79tjH8d3/r4f//7X4q3tXHjRuXMmdOqlffChQuN4q2zs7PV8u+9957RYlmSAgIC1L9/f/38889ycnKSg4ODHB0dH7u/V199VaGhoVqwYIFKly6t3LlzWxXG9+zZoxs3bmjNmjVGsXrnzp1GPJJUv359jRo1SsuWLZO7u7vRCrxYsWLavHmzChUqZDwc/eWXX3TkyBF99tlnTzwPL730knLlyqWTJ08araJPnDihrl27asOGDZKk2rVrq2nTplq2bJnGjx9vVeh5mtOnTxut0Q8fPqxMmTKpUKFCmjp1qipXrqyJEycay54/f14lSpSQJM2bN0+urq5q3ry5mjdvLn9/f/n5+RnHe+3aNatCvJ+fn+rWras6deokO7aEChcuLDs7O4WFhalMmTKSpJs3b2rw4MHy8/NLVtEdwIvl0Z44smfPLkkqUqSIateurT59+sjb21teXl5as2aN9u/frxEjRkiKexnq4cOHyp07d6L7Tc6cOR/7shEA2IqDg4MGDhyobt26ad26ddqxY4dOnTqlmzdvSoobtsfd3V3VqlVTo0aNUuUB5+3bt3Xo0CGNHDlSRYsWVdGiRVWjRg3t2rVLt2/fVubMmTVgwABZLBYNHjxY27dv1/r169WiRYt/vW8AAIDnGbkbAABA+kpxYfzw4cN6+PCh1bTKlStbfXZ0dNTBgwd16tQpZciQQd98841CQkIUERGR4gAdHR115coV7dq1S4UKFdK6deu0YcMGq66/H10+YeH72rVrkpTswkW2bNlUrVo1ff311/r444+T3H54eLg2bdokNzc37dq1S4sWLbIqyObOnVve3t765ptvjPHEJemtt97S9OnTNWTIEH344Ye6dOmSRo0apQ8++CBZsfn4+GjKlClydnaWk5OTRo0aJU9PT6MLeimuNdJnn32m999/X61bt7bqtr1FixaPTWInTZqk/PnzK2vWrPriiy/Upk0bZc2aVY6Ojjp16pQOHz6sHDlyaMmSJTpy5IgKFy4sKe78LlmyRGPGjJGjo6N+++03lS1bVpL0wQcfaPDgwSpatKgqVKigJUuWaN26deratWuyjjcpDg4OatWqlYYNG6YRI0bIyclJY8aM0ZUrV6y65weA5KhXr56GDh2qmTNn6sqVKypZsqTmzJlj/D757rvvtGrVKm3ZssXGkQJAyuTMmVNt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REREROKWEuMiIiIiIomMs7MzJUqUoHTp0qROndrS4YiIiIjIG6juJiIiIhI3lBgXEREREUkkihYtysmTJ3n69Cm7du1i9+7d5MqVizJlylCmTBlKlSpFypQpLR2miIiIiKC6m4iIiEhcU2JcRERERCSRWLRoEc+ePePgwYPs37+fffv2ERAQwPnz55k/fz4Gg4G8efNSpkwZPD09LR2uiIiISJKmupuIiIhI3FJiXEREREQkEUmWLBmVK1emcuXKADx8+JBly5Yxc+ZMnjx5wpkzZzh79qwaV0VERETiAdXdREREROKOEuMiIiIiIolMUFAQf/75J3v37mXfvn38/fffmEwm8/O5cuWyYHQiIiIiEp3qbiIiIiJxQ4lxEREREZFEYsyYMezfv59Tp04RGRlpblDNlSsXpUuXNv9LkyaNhSMVEREREdXdREREROKWEuMiIiIiIonEtGnTMBgMJEuWjBIlSpgbU9OmTWteJzQ0lJs3b5IxY0YLRioiIiIiqruJiIiIxC0lxkUkQXB0dLR0CPIedL4SHp0zkcTl2bNn7N69m927d7/yeYPBwOnTp+M4KhERERF5FdXdREREROKGEuOSZFlbW1s6BHlH1tbWFChQwNJhyDvS+Up4/nnOjMZIrK2tLBiRiPxb6kkkIiIiknCo7iYiIiISt5QYlyRrTP+VXAm4Y+kwRETilSzZXek5rImlwxCRf2nHjh2WDkFERERE3pHqbiIiIiJxS4lxSbJuXL3PhTO3LB2GiIiISJzy8/Pj7t27eHp6WjoUEREREXkL1d1EREREPh6NkyoiIiIikoSsWbOGuXPnWjoMEREREXkHqruJiIiIfDxKjIuIiIiIiIiIiIiIiIiISKKmxLiIiIiIiIiIiIiIiIiIiCRqSoyLiIiIiIiIiIiIiIiIiEiiZmPpAERERERE5OOIjIy0dAgiIiIi8o5UdxMRERGJW0qMi4iIiIgkEgULFrR0CCIiIiLyjlR3ExEREYlbSoyLiIiIiCQSJpPpndYzGAyxHImIiIiIvI3qbiIiIiJxS4lxEREREZFEYvv27ZYOQURERETekepuIiIiInFLiXERERERkUQiU6ZMb13nwIEDPH369J3WFREREZHYo7qbiIiISNxSYlxEREREJAkZOnQo58+f5/Tp05YORURERETeQnU3ERERkY/HytIBiIiIiIhI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a9aszJgxg7CwMGrXrg2Ak5MTV65c4cGDB6RNm/ZD3g4REXkHyZMnZ8SIEa98rnDhwqxcufKVzzVs2DDGNBoGg4Eff/yRH3/8MVbiFBGYPn06jRo1oly5cuYG1egyZMhggahERERE5FVUdxMRERGJfVaWDkAsx9ramilTphAZGcnXX39Np06d+Oyzz+jTp495nYoVK/L8+XPzPOQFChTAwcGBihUrvvPrNG/enAYNGtC9e3dq167N6dOnmTJlyjsNKdqqVSuaNGlC3759adiwIbdv32bevHmkSZMGgCZNmvDHH3/www8/vOfRi4iIiCRuo0eP5rPPPqNTp07s2rULk8lk6ZBERERE5DVUdxMRERGJfeoxngRFn6coS5YsTJ8+/bXrfvLJJ+ZhbwFsbW3x9/d/r9ezsrKie/fudO/e/aXnOnXq9Mb4rK2t6dKlC126dHnlvqtVq0a1atXeKx4RERGRpOCLL75g586dbN26lW3btuHm5kajRo1o1KgRGTNmtHR4IiIiIhKN6m4iIiIisU89xkVEREREEqHx48ezd+9evL29KVKkCLdv32by5MlUq1ZNo+2IiIiIxDOqu4mIiIjEPiXGRUREREQSqeTJk9O0aVMWLlzI4MGDSZEiBZGRkezdu9fSoYmIiIjIP6juJiIiIhK7NJS6iIiIiEgidebMGVavXs26det48OABJpOJlClT0qBBA0uHJiIiIiL/oLqbiIiISOxSYlxEREREJBGqV68eFy5cwGQyAVCqVCm+/vpratSogZ2dnYWjExEREZHoVHcTERERiX1KjIuIiIiIJEIBAQGkSpWKr776iq+//prs2bNbOiQREREReQ3V3URERERinxLjIiIiIiKJ0KhRo6hevXqMHkbPnz9n8+bNLF68mHnz5lkwOhERERGJTnU3ERERkdinxLiIiIiISCJUp04d89+XLl1iyZIlrFq1isePH1swKhERERF5FdXdRERERGKfEuMiIiIiIolQeHg4GzduZOnSpRw+fBgAk8mEjY0NX3zxhYWjExEREZHoVHcTERERiX1KjIuIiIiIJCIXLlxg8eLFrFmzhidPnmAymczPZcqUiYULF+Lm5mbBCEVEREQkiupuIiIiInFHiXERERERkUSiWbNm+Pv7Ay96GCVLloxq1apRp04d2rRpQ4oUKdSwKiIiIhJPqO4mIiIiEreUGBcRERERSSSOHj2KwWDAzs6On3/+mebNm2NnZ2fpsERERETkFVR3ExEREYlbVpYOQEREREREPo5UqVJhMpkICwvD19eXli1bMn/+fO7fv2/p0ERERETkH1R3ExEREYlbSoyLiIiIiCQSf/zxB2PHjqVixYoAHDlyhCFDhvDZZ58BEBoaSkREhCVDFBEREZH/Ud1NREREJG4pMS4iIiIikkjY2tpSs2ZNZsyYwY4dO+jUqROZMmXCaDQCcOXKFSpWrIivr6+FIxURERER1d1ERERE4pYS4yIiIiIiiVD69Onp0KED27ZtY/bs2dSpUwc7OzsePXqEn5+fpcMTERERkWhUdxMRERGJfTaWDkBERERERGJXuXLlKFeuHE+ePGHNmjUsX77c0iGJiIiIyGuo7iYiIiISO9RjXEREREQkiUiRIgX/+c9/WLlypaVDEREREZG3UN1NRERE5ONSYlxERERERERERERERERERBI1JcZFRERERERERERERERERCRRU2JcREREREREREREREREREQSNSXGRUREREREREREREREREQkUbOxdAAilpIpqwvPw42WDkNEJF7Jkt3V0iGIiIiIiIiIiIiIiHx0SoxLktVlwFdYW1tbOgwRkXjHaIzE2lqDyoiIiIiIiIiIiIhI4qFWb0myjEb1Fk8ojEYjp0+f1jlLIHS+Ep5/njMlxUVEREREREREREQksVHLt4gkCCEhIZYOQd6DzlfCo3MmIiIiIiIiIiIiIomZEuMiIiIiIiIiIiIiIiIiIpKoKTEuIiIiIiIiIiIiIiIiIiKJmhLjIiIiIiISq8LCwujVqxclS5bk008/xc/Pz9IhiYiIiMhrqO4mIiIiiZWNpQMQEREREZHEbcSIEZw8eZK5c+dy8+ZNevbsScaMGalZs6alQxMRERGRf1DdTURERBIrJcZFRERERCTWBAcHs3TpUmbMmEHBggUpWLAgAQEBLFiwQI2rIiIiIvGM6m4iIiKSmGkodRERERERiTVnz54lIiKCYsWKmZeVKFGCY8eOERkZacHIREREROSfVHcTERGRxEw9xiXJMZlMABiNRoxGo4WjkXcRdZ50vhIGna+ER+cs4dE5S3iizlVUPSQpuXfvHqlTp8bOzs68zMXFhbCwMAIDA0mTJs0bt496z8LDw7G2to61OCMiwdk6EmyT3jlKkEwmHOys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xWMqD+RNjhw5EmNkz5kzZ3L9+nW8vb35/fff+emnnwgPD2fw4MHmGyy3bdvGtGnTmDNnDsmSJbNU6AmebpkXEZEkx8nJialTp9K3b18aN25MmzZtqFu3LuHh4VSqVClJJsXhxXyJTk5OrF279oP2s27dOpIlS0azZs0+UmQiIpIU/XNUmvTp09OmTRvKly/PsGHDzL1p7OzsmD17Nt26daNly5Y0a9aMLVu2AC8aG2xtbQkPD0f3hIvIh6hWrRqFChVizZo1HDp0iE6dOmFjY0OePHmws7OjcePG3L9/H/j/8uufDdpq4BZJ3CIjI81JsOvXrxMeHk6FChXo2LEjAFOmTOH06dN899131KpVi61btzJq1ChKlChB//791es3CYpe302TJg39+vWjQoUKfPPNN1y6dIksWbJw8+ZNrly5gqOjIwBz5szB2dmZevXqYWNjQ0REhKXClzdQeSBv8uuvvzJ06FA2btxoXnby5EnzKGeff/45Xl5ewIv64/nz57l//z5LliwhderUL02JKu9HPcZFRCRJ2r59O1OnTuXChQuEhYWZ52Tq0aMHqVKlsnR4FjN9+nQmT57M77//TurUqd97+0ePHvH555/z448/0qZNm1iIUEREkoLo84GvXr2aBw8ekD59emrXrs21a9cYMmQI169fZ8KECS9N23H48GFOnDjBuXPn2LJlCwsXLiRv3ryWOAwRSWR27NjBnDlzSJUqFa6urvTp08f83IABA9izZw+rVq1SDx6RJCh6z9AxY8awZcsWTCYT//3vf2nYsCEXL15k0qRJGI1G2rdvT4ECBZg0aRJ3795lyJAhMXqVStIQvb57+fJlHBwcyJAhA+Hh4XTr1o29e/eae457enqyefNm0qdPj42NDStXrsTGxualHskSP6g8kLc5c+YMc+bM4dGjR9SrV4969erRq1cvnJycYtQvp0+fzoIFCzCZTCRPnhxHR0d+++03bG1tY5Qh8n6UGBcREREREZF44Z+Ne8OGDWP58uW4urpib29P6dKl8fT05OrVq4wYMYK///6bCRMmkC1bNnPDwK+//spff/2FnZ0d7du3J0+ePBY8IhFJyKLKpOhDoM+cOZORI0fy3Xff0bNnT/M658+fp1OnTkydOvWlG3ZEJHGLXn/ZuHEjAwYMwNPTk3379hEQEED16tVp1aoVly5dYvLkyURG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yZNjb29PhgwZaNq0KQsWLDCK0fny5aNp06a4u7vj4uJidLn9Kh4eHqxdu5aOHTvi6emJo6Mjzs7O+Pj4MGTIEKZNm2YxXrSrqysrVqygU6dOxvIpUqSgatWqrF69mnz58sXuyYtGihQpWLJkCZ988gkuLi6kTJmS1q1b06NHD2OZyN3WRyd58uR8//339OnThzx58uDi4oKjoyM5c+akR48efP/997i4uBjL29raMmfOHPr160eePHlwdnbmgw8+4JNPPjF+f3FhwYIFlCxZEkdHR1KnTk2nTp3o379/nMeVPn16Vq5cSdWqVXFzc8PBwYHMmTPTpUsXxo8f/1bbdHd3p3v37qRLlw4nJyeyZs1KcHBwjK9tkYTGZP63AS1EREREREREREREREREXuHgwYOEh4eTLl060qVLZ4wDvnHjRrp27YrJZOLo0aNGq/yEZsqUKUydOhWAv/76C0dHRytHJCJvQ490iIiIiIiIiIiIiIiIyFvbvHkzixcvBqB9+/bUqlWL+/fvs2jRIuB5l90JtSguIomHCuMiIiIiIiIiIiIiIiLy1mrXrs3y5csJDg5m2rRpTJs2zWJ+8+bNrRSZiMgLGmNcRERERERERERERERE3lru3LmZM2cOxYsXJ3ny5MYY7r6+vowfP57PPvvM2iGKiGiMcRERERERERERERERERERSdzUYlxERERERERERERERERERBI1FcZFRERERERERERERERERCRRU2FcROQ91bt3b7y8vPjf//4Xq8s2btwYLy8v48+hQ4cs5q9fv95ifu/evV+7vTJlylgsf/v2bYv5M2bMsJg/ZcqUf43xTUTsv2vXrnG27n/ZR3x2/vx5a4cgIiLy1l7Oaby8vPD29qZo0aI0btyYAwcOWDvEWPPyZ3Z8yE2uXbtGv379KFOmDN7e3hQoUIDPPvuMhQsXEhoaGu06cZV7mM1mLly4ECfbji0R1+jYsWOtHUqsSQjnXURERGIuIr+uV6/ea5c7duwYzZo1w9fXl0KFCtG5c2du3LjxjqIUkcROhXEREYlTBw8etHj9X28iv7x+YropnVhcvXqVNm3aMGTIEGuHIiIiEqtCQkLw9/dn//79NGvWLEqek9Dcu3ePr7/+mrZt21o7FAvnz5+nZs2arFq1iuvXrxMSEsLTp085fvw43377LR06dMBsNhvLx2XucerUKRo0aMB3330X69uWV9N5FxEReT+dOHGCL774gj/++IOAgAAeP37M5s2badSoEU+ePLF2eCKSCKgwLiIicWr//v0Wr/9rITvy9kJDQzly5Mh/2p7Evp49e7Jjxw5rhyEiIhIrcufOzc6dO9m+fTsbNmygU6dOmEwmQkJCmDBhgrXD+0++/fZb1q1bZ1FkBli+fDk7d+5k0KBBVolr9OjRPHnyBDc3N8aNG8eWLVtYvny50XvR9u3b+e2334zl4zL3aN26tfJNK9B5FxEReT9NnTqV4OBgMmbMyMqVKxk1ahQmk4kbN26wYMECa4cnIomACuMiIhIn0qZNC8Dhw4eN7i7v37/P5cuXAUiXLt1bbS9yYf3UqVMEBARgb2/Phx9+GBthSyx4+ea6iIhIQmZvb0+aNGlIly4dnp6etG/fntKlSwPP85yQkBDrBvgfvOoz293dnTRp0pA8efJ3G9D/i2iJX6FCBapWrUrmzJnJnz8/Y8aMwcbm+W2MyDlhXOYeymusQ+ddRETk/RMeHm4MjdO2bVvy5ctHzZo1yZkzJwBHjx61YnQiklioMC4iInEiX7582NnZERAQwKlTp4AXNzBTp05N+vTp32h7BQsWBODSpUvcu3fPYnve3t44OjpGu97Fixfp0aMHxYsXJ2/evFSqVIlp06YRFBRksZzZbGbevHmUK1eOvHnzUr9+ff76669XxrNy5UqqVauGt7c3xYsXZ9CgQfj5+b3RMb1OxDiRGzduZPbs2ZQuXZr8+fPTtm1b7ty5w+XLl2nRogU+Pj6UKlWKOXPmWKwfMTbo9OnTWbduHZUqVSJv3rzUqVOHvXv3WiwbHBzM5MmTqVixIj4+PhQoUICaNWuyZMmSKHEdOXKEFi1aUKhQIXx9falduzarV6+22O+xY8eA5637vby8WLNmTaydFxERkfgge/bswPObdw8ePABefPZOnDiR7t27kzdvXooXL879+/cBePToEaNHj6Z8+fLkzZuXEiVKMGDAAG7fvm2x7YjtzJ07l1WrVlGxYkXy5ctHo0aNuHjxInfv3qVLly74+vry8ccfM2rUKIsxtyPGbuzXrx87d+6kVq1a5M2bl08//ZSNGzdaLBfx+vr163h5eTFlyhSLGCKPMR45t9i6dSs1atQwcqt169ZFOUdbtmyhevXqxr43b97MhAkT8PLyonHjxq89vw4ODgD89NNPrFq1isDAQADc3NzYu3cve/fupWPHjkZc0eUe//zzj5FPrV+/nrp16+Lt7W3s+9GjRwwfPpyyZcuSN29eChUqxOeff25xjry8vIy8c+3atXh5ebFv3z4AwsLCmD17NhUqVMDb25syZcowduxYI9bIfvjhBypWrEjevHmpXbs2+/bto0ePHnh5edG7d29CQkIoWrRotOO6Hzp0yDiON2kVH/n4Dx06xJgxY/j444/x9fWlV69ePHnyhL/++ov69euTL18+KlSoECVni1h/3bp1zJs3jzJlypAvXz4aN25s5PcRYnI+I+zYsYOGDRvi6+tL4cKFqV+/Ptu2bYvReRcREZHEIywsjBYtWuDl5UXu3LnZtWsX27ZtY/v27VSsWNFYLiAgAHj+wKqIyH9lZ+0AREQkcXJxcSFnzpycOHGC/fv3ky9fPqP1T4ECBYybxDGVOXNmUqZMiZ+fHwcOHKBy5cpGYbxgwYJs2rQpyjoHDx6kVatWRgINcPnyZSZPnszvv//O/PnzjYL62LFjLcYwPHLkCF9++WW0sUyaNInp06cbr+/evcuyZcs4cOAAq1atwsXF5Y2O7XWmTp3KxYsXjdfbt2+nbdu23Lp1yziHt27dYuzYsaRJk4Zq1apZrL9x40bjaVt4PlZTy5YtmTt3Lh999BEAgwYNinIj9PTp0wwZMgQHBwfq1q0LwK5du/jqq68sWsadPHmSvn37cu/ePdq0aRNrxy0iIhKfnTt3DgBbW9soraq///57Hj9+DEDKlClxc3PDz8+PevXqce3aNWO5O3fusGLFCrZv386SJUvIlCmTxXZWr15tkQMcPHiQ1q1bY2dnx99//w08v0k4b948kiVLFmWc8CNHjrBmzRrCw8MBuHDhAl27diU4OJiaNWu+9bHv2LGDyZMnGy16L1++zNdff02WLFnw8fEB4Mcff6RXr17GOhcuXKBLly7kzp07RvuoWLEiy5cv58mTJ/Tr14+hQ4dSuHBhSpcuTZUqVUiZMuUbxTxkyBDjd+Ll5QVAhw4dLIqtwcHBHD16lKNHj5IsWTKj2/ZX6dOnDz/++KPx+vr168yZM4djx46xcOFCo2X7jBkzmDhxorHcyZMnadmyJZkzZzam2dvbG8e8a9cugoODjYcDIgrGyZMn/9eYXmXAgAEW19KPP/7IjRs3OHHihFHIv3LlCn369CFTpkzGA6kRvvvuO4t8cv/+/TRq1IhVq1aRLVs2IObnc+XKlfTv399i+0eOHKF9+/aMGTMmSi4rIiIiidfIkSPZs2cP8DxfieiVKaKXySdPnrBs2TKuXLkCoDxBRGKFWoyLiEicKVCgAPCiZXfEvxHT35Svr6+xHbPZzOHDh1+5vdDQUHr16kVAQABubm5MmjSJn3/+mZYtWwLPW99EFLdv377N/PnzgecF+IULF7Jq1Sq8vLwsiuoAV69eZebMmQDUrl2bjRs3MmfOHNzd3bl48SLz5s17q2N7lb///pthw4axfv168ufPDzy/oZo0aVKWL1/O9OnTsbW1BbAYazPC+fPnqV27Nj/99BOjR4/G2dmZ0NBQRo4cCYC/vz+//PILAE2aNOHXX39l+fLleHh4ALB7927g+VO8gwcPJiQkBA8PD+bNm8fPP/9MqVKlAJg+fTr+/v4sX77cuOmdP39+du7cSeXKlWP1nIiIiLxLISEh3Lp1i5s3b3L27FkmT55stNwtWrSoUcCM8PjxY7p3786GDRsYMGAA8Hws72vXrmFnZ0fPnj3ZuHEjw4YNw8XFhbt379K7d+8o+7148SJdunRhw4YNlCtXDnjeCvjx48fMnz+f77//ng8++ACIPge4ePEiJUqUYN26dcyYMQM3Nzfg+fjdwcHBTJo0iTJlygCQJk0adu7cSbNmzf71fBw7doxmzZqxefNm2rdvb0yPaBkcEhLC6NGjgectvKdNm8b69eupXr06J0+e/NftA/To0YM8efIYr589e8bu3bsZOnQopUuXNnIxIEa5R0hICLNnz2b58uU0bNiQc+fOGeNX9+zZk61bt7JgwQLjfEbcoN25c6dRhK9UqRI7d+7E19eXffv2GUXxNm3asGnTJiZOnIizszP79+835vn5+TFt2jQAMmXKxIIFC1izZg1FihQxHq6IEHGj98mTJxa9+0QUxsuXL//WraRu3rzJlClTWLt2LRkyZACe59M5c+Zk3bp1DBkyxFh2+/btUdY/f/48bdq0YcOGDfTr1w8bGxsCAgIYP348QIzP5+PHj/n2228ByJkzJ0uXLmXNmjXkzZsXs9nMmDFjCA0NfeV5FxERkcRj1apVLFq0CICWLVvSoEGDKMtUr16dMWPGAM+7Vq9Spco7jVFEEicVxkVEJM5EFKwPHz6Mv7+/cQPw5VYob7q9AwcOcPbsWR4+fIjJZIq2MP7HH39w/fp1APr27UulSpXInj07PXv2pHjx4sDzFitms5m9e/cSFhYGPH9C9aOPPiJv3ryMGjUqyna3bdtGeHg4NjY2tGvXDldXV3LkyGHczNywYcNbHdurFC9enLp16+Ll5UXVqlWN6R07diR//vyULVuWLFmyABhduUaWJk0ahg4dSo4cOahRowYNGzYEnrcIv337NsmTJ+fAgQNs2rSJXr16kTFjRlKkSEHq1KkBePjwIfC8GB9xPjt27Mj//vc/smfPzoABA+jZsyczZ87EyckJd3d346atg4MDadKkwdnZOVbPiYiIyLt06tQpSpUqRenSpalevbpR6HRxcbFoFR0hTZo0tGrVCk9PTwoXLsyTJ0/YvHkzAHXq1KFly5Zky5aNunXrGq28Dx8+zIULFyy24+npSbt27fD09KROnTrG9KZNm/Lxxx9TuHBhIweKLgdwcnJizJgx5MqVizJlyhhF7Pv373PixAlSpkyJk5MT8Lzle5o0aUiSJMm/no/MmTMbLcQ7duxo9JQTMaTMyZMnjW6w27dvT7ly5fDy8mL48OGkSZPmX7cPkDRpUpYtW8aQIUPw9fU1Wl8DBAUFMWHCBGMol5jkHuXLl6dUqVLkz5+frFmzkiNHDo4cOcKGDRto2bIl6dOnN1r3w4v8J02aNMa+nZ2dSZMmDQ4ODvz666/Gvhs2bIiLiwu+vr7GgwYR+eDevXuNnnb69etHsWLFyJMnD2PHjo0SY6FChYzWURHF8IsXLxq9A3z66acxOnfRqVmzJhUqVCB37tzGQxYAvXv3JleuXHz++efG7zG6ayl//vx069YNT09PmjRpQoUKFYDnBe/Q0NAYn889e/YYD53269ePAgUKkCdPHr755hv69etnFNpfdd5FREQkcbh27RqDBw8Gnj9o2qNHjyjLhIeHc+fOHQBMJpPFfSmR2BIxbM/cuXONaZcuXaJBgwZ4e3tTuXJl/vjjD4t1fvvtNypUqEDevHlp0qQJ//zzzyu3HxYWxrBhwyhUqBBFihRhzJgxRs9boaGhdO/eHV9fX6pVq8bZs2eN9c6cOUPOnDlj/GCxvBkVxkVEJM5E3Kx99OgRS5YsITw83Ohi/b9s7/z582zduhWALFmykCJFiijLRu7usWjRohbzIl7fv3+fBw8eWIztGbl1UqZMmYyWLhEium8KDw83brKWKlXKaCn+999/Exwc/FbHF53I3apGvoEaUQwHjBuZEcX9yHLlyoWd3YuRU7y9vY2fb968CUBgYCB79+6lQ4cOfPTRR1SoUMFojR/R/WrkJC9HjhzGzxkyZKBly5YUK1bMuLkuIiKSWDk4OJA6dWrKlSvHsmXLyJUrV5RlsmbNislkMl5fvnzZKI6+KicBy9wF/nsOkDFjRpIlS2a8zps3r/FzRA7wNrJmzWr8bDKZSJo0KYAxznnkG5aR92lvb2+RZ/0bBwcHPv/8c5YtW8bevXuZMGECZcuWNeZHtDCKiYjuviN79OgRO3bsoFmzZhQuXJjq1asbReiI/OdVIvLBu3fvGrlgqVKljIJ4xE2tV52LFClSROk632QyGcXviAcxIwrkH374IUWKFInx8b4sJtdSxPTorqXI+WPk18+ePTMK6TE5n5GHEoicT+bJk4cmTZpQqFAhi7xVREREEic/Pz8jPz579ixPnz6Nskx4eDgrVqxgxYoVZMuWjd27d9OqVSsj5xT5r86cOcOIESMspoWGhtKhQweOHDlC7ty5+eeff2jfvr1x7/jatWt07tyZO3fukDNnTvbt20fHjh2NYvfLZs+ezeLFi0mePDmurq589913xveYX375hZ9//pmFCxfi5OTEuHHjjPVmzJhBiRIl3uj7k8ScCuMiIhJnUqdOTfr06YEXNy/z589vdP39pry9vXF0dMRsNrN48WLg1a3PX7ePl292Rr55/XIi8/J2/u1mXXh4uNEqJjZEjIEOWLSWijw9cvwve12R3sbGhidPnlC3bl2GDBnC2bNnqVGjBpMnT7a48QyW50VfQkRE5H3i4+PD2bNnOXv2LMePH2fXrl1MmzbNGKv6ZS+3un5d7hA5J3n58zwuc4DXrfdvXn4Q7uVc6W27+47w119/0bt3b5o1a2b0NpQ8eXKqVKnC9OnTqVSpEoBRdI2Jl38nN2/eNLrmvHXrFg0bNmTmzJnky5cvRtv7t1zW398fsDwXr7pZFllE70D37t3jyJEjRhf5lSpVeuv8GV59LUX+Xf6XfPJtzqfySRERkfdb+vTpcXR0xN/fnzlz5kSZb2dnR+7cufHx8aFDhw7A8950zpw5865DlURowYIFNGjQIMo93AMHDnDx4kU+/fRTVqxYQZcuXQgICDCGSlq9ejXBwcH07duXlStXUrp0aU6dOsVff/0V7X6WLVuGk5MTa9euZeXKldja2rJs2TLgRSOk3LlzkylTJuMh0osXL/LLL7/Qrl27uDr8954K4yIiEqciWnlH3CB82/HF4XnLoYgWKv+2vcgtYPbv328xL2Ksc3d3d1KmTGkU7wGLLmquXLli7CdCxLL29vYcP37cuFG+ZcsWtm/fztmzZ3F3d3+7A4wDp06d4tmzZxavI3h4eLBp0yYuXrwIwPfff0+fPn2oWLFilNZCEeNRguU5unnzJp999hl9+vQxbl5H3FiNyQ1gERGRxOblQnj69OmNafv27bOYF5GTgGUL2thw/fp1i15xIn9+R+QzcfGZ7eHhYfx8/Phx4+fg4GCL169iNptZu3Ytf/zxB2vXrn3lcpF79fm343j5d7Js2TLu3r1r3KTq1q0bn3zyCYGBgVHWjW7bEefPw8PDyAXPnj3Lzz//zJ49e4zjfNW58PPzi7awnzNnTuM6WL58OceOHQOw+niaR48etTj+iHzSxcWFFClSxPh8virnPnLkCA0aNGDgwIHGNat8UkREJPFKnjw58+fPN4b7W7hwIXfu3OHu3bv06dOHpk2bWuROkR+oi81eGuX9NXXqVFKlSmUxbCU8z3vhxf3mQoUKAS9y+Yj83NfXF3jRYCu6wvjt27e5desWnp6efPDBB3z44YdkypSJS5cu8eTJEyM3PnXqFFeuXCFjxowAzJo1i0KFCv2ne+jyeiqMi4i850JCQti1a1e0f14eu+dNlo3w8of4244v/qbbK1asGB9++CEA3377LVu2bOHChQuMGzeOPXv2APD5558by0a0pBk8eDB79+7lr7/+inbc0HLlymFnZ0dISAi9e/fm7NmzHD58mKZNm/LJJ5/QokWL/3R8se3BgwdGnBs3buSHH34AIF++fLi5uVl0V7V+/XouX77M/Pnz2b17N/Diy0eePHmMcS+nT5/Ojh07uHDhAkOGDOH48eOsX7/eON8RY0DevHmTCxcucOPGjXd2vCIiIvHNBx98wCeffAI8b2Ewb948Ll68yKpVq5g5cyYAhQsXtuiiPDaEhITQo0cPTp48abRyB0iVKhW5c+cGXnxm+/v7c+bMGaOL8P8iV65cxk2dadOmsW3bNs6cOcPXX39tjBP5Ovny5TPOxcKFC5kxYwbnzp3jzJkzTJo0iS1btgAY43lHPo6Y5h4R41w/e/aMDRs2cOnSJcaNG2d0Zx/55mvEtq9cucL58+fx8/MzWq1fv36d4cOHc/HiRXbv3k39+vUpXrw4AwcOBODjjz82Wqt/++23/Pnnnxw/fpwuXbpYPLgYWbVq1QD48ccfCQ8PJ126dFa/KXbu3DmGDx/O+fPn+eGHH/jll18AKFWqFDY2NjE+n8WLFze6/x85ciT79+/n9OnTjBw5ksOHD/PLL7+QMmVKIPrzLiIiIolDpkyZyJgxI61bt8bV1ZXAwECmTp1KypQp+e2339i7dy9Dhw7lxIkTHDx4kKlTpwLPC+rqWlpiQ9euXVm7di2ZM2e2mB7xfSViSKqIfyMe3nx5fvLkyS3mRxYxLWKZl7dXoUIFqlatypdffsmzZ8/o1q0b165dY8OGDXz11VexcJTyKhq8SUTkPffw4UNatWoV7byIpzTfZtkIkW/k2dra4uPj85/ijby9iCftouPg4MCoUaP46quvuHfvHp06dbKYX6RIEdq0aQM8H+exU6dOjBkzhn/++cc4DicnJzJnzmzRoid9+vQ0adKEefPmsWHDBmMsSXg+NmPHjh3/0/HFNnd3dzZv3symTZuMafb29vTu3RuAEiVKMHbsWEJCQpg0aRKTJk2yWD/iJqStrS2DBg2iffv23L171zh3Edq3b2/cyPT09GT//v38888/fPrpp/To0eOV142IiMj7YMCAAZw4cYKbN28yatQoRo0aZcxLlSpVlLHtYkPy5Mk5evQotWvXNqaZTCb69OljtKD29PQEnheKa9SoQYMGDRg8ePB/2q+NjQ1du3ala9eu3L9/37ipY2dnR/r06Y0uA1/FZDIxYsQImjVrRkBAABMnTmTixIkWy6RPn54uXboYr6PLPSpXrvzKfZQpU8YY5qdv375R5keMmx2x7evXr3PkyBGqVq3KhAkTqFKlChUrVmTLli0sWrTIYrzzlClT0rJlS+B5F+5t2rRh3LhxXLlyhS+//BIAV1dX3N3duXv3bpQuzD/99FPGjx9vtJSuXLnyf+r6PjakTp2axYsXG0MZwfMHPrp27QrE/HwmTZqUr7/+mkGDBnHp0iUaN25ssVzv3r2N7udfdd5FREQk8UiZMiVNmzZl2rRprF69mubNmzNgwAC6d+/OsWPHqFOnjrGsjY0NgwcPthgiRuRtNWrUKNrpQUFBwIsepyKGM4p4qPXf5kcW0btB5N6rIn4OCgrCzs7OYlxxeP690dvbm9y5c9OqVSuOHTtGqVKl+Pbbb//zkFXyglqMi4hInMqePTtJkyYFnncP6erq+p+25+vra9wc/LfWM8WLF2f16tVUr14dd3d37O3tyZw5M507d2bu3LlGSxSAli1bMmTIEDJmzIijoyMFChRg4cKFZMuWLcp2e/XqxeDBg8mVKxdOTk4kT56cUqVKsXjxYvLnz/+fji+2FS5cmAkTJpA5c2YcHBzIly8f8+bNM1raZ8uWjWnTppEnTx6cnJxIkyYNVatWZfTo0cDz8TsjxrgpXbo0Cxcu5H//+x+urq64urqSJ08eRo4cafEkY4sWLShSpAguLi58+OGHFk9GioiIvI9Sp07NunXraN68ORkzZsTe3h53d3c+//xzVq9ebTFkSWzJlCkT3333HTlz5sTe3p7s2bMzadIki+Ji3bp1+eSTT0iSJAnJkyc3en/5r6pUqcK4cePw9PTE3t4eLy8vZsyYYbTwiZyDRSd//vysXbuWzz77DA8PD+zt7XFxcSF79uy0bt2atWvXGg/kwZvnHsWKFWPUqFFky5YNJycnPDw8aNCgAX369AHg0KFDRivozp07kzdvXhwdHUmTJo3R4nns2LF069aNrFmz4uDgwIcffkiVKlVYunSp0WIeoHXr1vTr14/06dPj4OCAr68vCxYsIFWqVEDUMdk9PDwsctxPP/30tcfyLlSvXp2BAweSNm1aHB0d+eijj/j++++NB1Tf5HzWr1+f6dOn4+vri7OzM8mSJaNgwYLMnDmTmjVrGvt81XkXERGRxKV58+YkT56c0NBQxo8fT9WqVZk/fz5FihQhefLkODs789FHH7Fw4cLXPvgoEhsiHrwIDw8HXvR85OTkFKP5kUV854k8XGXE8tE94HHr1i3Wrl1L27ZtWbRoEYcPH2bkyJH89NNPFg2z5L8zmTVgk4iISKJTpkwZrl+/TpUqVZgwYYK1wxEREZF3pHHjxuzfvx8fHx9WrFjxzvcfHBzMjh07SJcuHR4eHqRIkcKY17JlS3bv3v3e5Cf+/v4cOnQIDw8P0qdPb3SrDs9bgl+6dIlWrVrRo0cPi/W++OILDhw4QMaMGfn111/fddgGLy8vgGhjFBERERFJ6KZMmcLUqVPp1asXLVq0YNq0aUyePJnBgwfToEEDjh07Rr169ahYsSKTJ0/myy+/5M8//2Tjxo1ky5aN2bNnM27cOAYMGMAXX3xhse2bN29SunRpi+9lEd8BDh06ZPHdAGDYsGEcPHiQdevW0bZtW/z8/FixYgX/+9//qFy5Mv37939n5yWxU1fqIiIiIiIiIhIr7O3t6du3L48fP8bV1ZXZs2eTOnVqjh07xv79+wGMMc7fBxG96nh4eDB58mQ++OAD9uzZw+XLl4EX58LPz4/Q0FC2bNnCgQMHAKhatap1ghYREREReQ95e3sDcPDgQRo0aMDhw4cByJs3LwB58uThzz//5NChQ2TLls2Yny9fvijbSpMmDW5ubpw7d47Hjx8THBzM1atXyZYtW5Si+L1791i5cqXFkFs2Ns87/Lb2sEqJkQrjIiIiIiIiIhIrTCYT9erVY+7cuTx9+jTK+H0pUqSwGPc8MUuePDmVKlVi8+bNXL9+3WKcTIDMmTNTtmxZANasWcOYMWOMeUmTJqVhw4bvNF4RERERkfdZsWLFyJgxIxs2bODatWucPn0aFxcXatSoAUCdOnVYtGgR3377LStXruSvv/4iT548RuF8woQJnD9/nt69e5MxY0Y+//xzpk+fTq1atQgLCyM0NJT69etH2e+8efPw8PCgQoUKAOTKlYtly5Zx7do1/Pz83qsHi98FjTEuVhUcHEzVqlXZt2+fMe3atWs0bdqU/PnzU6VKFfbs2WOxzh9//EHVqlXx8fGhSZMmxti3IiIiIhK3lLuJSEx069aN7t274+XlhbOzM7a2tri7u/Ppp5+ydOlS3NzcrB3iOzNixAhatWpFlixZcHR0xN7enrRp01KvXj2+//57Y3zBzJkzkzRpUlxdXSlSpAhz587F3d3dytGLSGKg/E1ERCRmHBwcmDVrFgULFuTUqVN4eHgwdepUUqVKBUC2bNmYPHkyqVOn5vTp0xQpUoRJkyYZrboPHz7Mtm3bePjwIQDt27enSZMm+Pv78+TJE1q0aEHjxo0t9unv78/SpUtp3bq10Ur8yy+/JFeuXFSvXp2KFSuqJ6lYpjHGxWqCgoLo3r07v/76K4sWLaJo0aKYzWZq1KhBjhw5aNeuHVu3bmXGjBls3LiRdOnScePGDT799FM6duxIiRIlmDZtGhcvXmT9+vXqUkJEREQkDil3ExEREUlYlL+JiIiIWFKLcbGKCxcuUK9ePa5evWox/c8//+TatWsMGTKEbNmy0aZNG/Lnz8/q1asBWLlyJd7e3jRv3pzs2bMzYsQIrl+/boxVJyIiIiKxT7mbiIiISMKi/E1EREQkKo0xLlaxf/9+ihYtSteuXcmfP78x/dixY+TOnRsXFxdjWsGCBTl69Kgxv1ChQsY8Z2dn8uTJw9GjRylatGiM9h0eHk5oaCg2NjZ60lVERETeCbPZTHh4OHZ2dkbXWAmJcjcRERF5nyT03A2sl78pdxMREZF37U1yNxXGxSoaNmwY7fS7d+8a4zVEcHNz49atWzGaHxOhoaEcP378DSMWERER+e/y5s2Lg4ODtcN4Y8rdRERE5H2UUHM3sF7+ptxNRERErCUmuZsK4xKvBAYGRrloHRwcCA4OjtH8mIh4WiR37tzY2tr+x4hF5H0SFhbGqVOn9P4hIm8s4v0jobY4ehXlbombPvckodM1LAmZrl/rSqy5G8R9/qbczXr0viEJna7hhONJaDgrLt3BLyjU2qHEK2bgWdAznBydUJ8pL6R0tKNe1lQksYu7vOpNcjcVxiVecXR0xN/f32JacHAwTk5OxvyXE/Hg4GCSJk0a431EdOPk4OCgD1gReSNhYWGA3j9E5M1FvH8ktu4klbslbvrck4RO17AkZLp+rSux5m4Q9/mbcjfr0fuGJHS6hhMOG0K5ExLO7aAwa4cSv5jNBAQG42K2g0SYQ7ytUBsbbOzscHCIu5L0m+Ruie+xR0nQUqdOzb179yym3bt3z+jC6VXz3d3d31mMIiIiIvKccjcRERGRhEX5m4iIiLzPVBiXeMXHx4eTJ0/y7NkzY9qhQ4fw8fEx5h86dMiYFxgYyKlTp4z5IiIiIvLuKHcTERERSViUv4mIiMj7TIVxiVeKFClC2rRp6dOnD+fPn2f27Nn89ddffPbZZwDUqVOHw4cPM3v2bM6fP0+fPn1Inz49RYsWtXLkIiIiIu8f5W4iIiIiCYvyNxEREXmfqTAu8YqtrS3Tp0/n7t271K5dm/Xr1zNt2jTSpUsHQPr06ZkyZQqrV6/ms88+w9/fn2nTpiXKMZ9ERERE4jvlbiIiIiIJi/I3EREReZ/F3UjnIjF09uxZi9eZMmXi+++/f+XypUqVolSpUnEdloiIiIhEQ7mbiIiISMKi/E1ERETkObUYFxERERERERERERERERGRRE2FcRERERERERERERERERERSdRUGBcRERERERERERERERERkURNhXEREREREREREREREREREUnUVBgXEREREREREREREREREZFETYVxERERERERERERERERERFJ1FQYFxERERERERERERERERGRRE2FcRERERERERERERERERERSdRUGBcRERERERERERERERERkURNhXEREREREREREREREREREUnUVBgXEREREREREREREREREZFETYVxERERERERERERERERERFJ1FQYFxERERERERERERERERGRRM3O2gFIwvDkyRN+/vlnfv/9d06dOoWfnx82NjZ8+OGHeHt7U6JECSpWrIizs7O1QxURERF57yl3ExERERERERERsaTCuLxWQEAAU6ZMYfny5QQGBmI2my3mP336lCtXrrBx40aGDh1Kw4YNadu2La6urlaKWEREROT9pdxNREREREREREQkeiqMy2tVqlSJO3fu4OPjQ9myZfHx8SFbtmwkTZoUAH9/fy5fvszJkyfZuXMn8+fPZ+3atezZs8fKkYuIiIi8f5S7iYiIiIiIiIiIRE+FcXmtChUq0LBhQ7JmzRrt/FSpUpEqVSqKFi1K8+bNuX37NosXL37HUYqIiIgIKHcTERERERERERF5FRXG5bX69+//RsunTp2aHj16xFE0IiIiIvI6yt1ERERERERERESiZ2PtACTh+fvvv2nZsiVFixalSJEitGjRgkuXLlk7LBERERGJhnI3ERERERERERERFcblLfTu3ZtLly7x8ccfU6JECe7evcvXX39t7bBEREREJBrK3URERERERERERNSVuvyLn376iWrVqllMu3TpEqNHj6Z06dIAXL16lVq1alkhOhERERGJTLmbiIiIiIiIiIhI9FQYl9fq06cPc+fOpWvXrpQqVQqAYsWK0a5dO9zc3LCxseH+/fuUKVPGypGKiIiIiHI3ERERERERERGR6KkwLq+1YcMGJk6cSNu2bSlQoADdunXj22+/JWfOnBw/fhwAb29vmjRpYuVIRURERES5m4iIiIiIiIiISPRUGJfXypQpExMmTKBVq1aMGzeOL774gpIlS9K1a1fatWtn7fBEREREJBLlbiIiIiIiIiIiItGzsXYAkjDkzp2buXPnsnDhQvz9/alduzbdu3fn2rVr1g5NRERERF6i3E1ERERERERERMSSWozLawUFBbFs2TKuXLlC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IiIiIiIi8oIK4xJj2bNn5/Dhw2zYsMGY9tNPP3H48GG8vLysGJmIiIiIvEy5m4iIiIiIiIiIyAsqjEuMtWjRgrCwMHr06IGvry++vr706tULs9nMl19+ae3wRERERCQS5W4iIiIiIiIiIiIvqDAuMVaxYkWGDBlC0qRJCQwMJDAwEFdXV77++msqV65s7fBEREREJBLlbiIiIiIiIiIiIi/YWTsASVjq1atHzZo1uXDhAjY2NmTJkgVHR0drhyUiIiIi0VDuJiIiIiIiIiIi8pxajMsb+fvvvzl06BC5c+cmZ86cLFq0iAsXLlg7LBERERGJhnI3ERERERERERGR51QYlxg7ePAgtWrV4ocffgDAbDYzbdo06taty6FDh6wcnYiIiIhEptxNRERERERERETkBRXGJcYmTpxIYGAgWbJkASAkJIRatWoRGBjIpEmTrBydiIiIiESm3E2iExwczDfffEPhwoX5+OOPGT9+PGazGYBTp05Rt25dfHx8qFOnDidPnnzttpYsWULp0qUpUKAAnTp1wt/f/x0cgYiIiIiIiIjI21FhXGLs9OnTFCxYkG7dugHg4ODAoEGDKFiwIKdPn7ZydCIiIiISmXI3ic6wYcP4448/mDt3LuPGjWPFihUsX76cgIAAWrduTaFChVizZg2+vr60bduWZ8+eRbudjRs3Mnr0aPr06cOyZcu4efMmQ4YMecdHIyIiIiIiIiISc3bWDkASlkePHkWZ9uDBA8LCwqwQjYiIiIi8jnI3iczf35/Vq1czf/588uXLB0Dz5s05duwYdnZ2ODo60qtXL0wmE/369WPnzp3s27ePjz76KMq25syZQ6tWrahYsSIAvXr14ptvviEsLAxbW9t3elwiIiIiIiIiIjGhwrjEWKFChdi1axetW7emRIkShIWFsXPnTi5fvkyJEiWsHZ6IiIiIRKLcTV526NAhkiRJQpEiRYxprVu3BmDAgAEULFgQk8kEgMlkokCBApw/fz7Kdp48ecKpU6cYOXKkMa1w4cL8/PPPcXwEIiIiIiIiIiJvT4VxibGePXty9OhRdu3axe7duwEwm80kTZqUnj17Wjk6EREREYlMuZu87Nq1a3h4eLBu3TpmzpxJSEgItWvXpl27dty9exdPT0+L5d3c3Pj777+j3Q6An58f9evX559//uF///sf/fr1I2nSpO/iUERE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n+Ln5weAv78/Q4YMoVatWnz66afcvXvX+BMWFmbFIxSR951yNxEREZGE4+zZsxQsWNDiocXChQvj4+PD9evXrRiZiIiISOKhrtTljTRq1IhGjRrx9OlTwsLCSJo0qTGvadOm1gtMRCQWValShadPnzJr1ixu3bpFrly5WLhwIW5ubly7do358+fz448/8ttvv/H7778TEBDA2rVro4xBvm3bNtKnT2+loxARUe4mIiISX7Vu3ZqUKVMycuRIANavX8+0adO4efMmuXPnfu2DayEhIUycOJEff/yR0NBQatWqRffu3bGz022+hCxp0qRcvnyZwMBAY9qDBw84d+4cKVKksGJkIiIiIomHMmZ5rQMHDsR42cKFC8dhJCIicSvihlSEunXrUrduXYtpES3AO3ToQOfOnQH49NNP+fTTT99NkCIi/0K5m4iISPy3YcMGdu7cSa1atQA4ePAg/fr1Y9iwYRQoUIAffviBNm3aMGHChGjXnzx5MuvWrePbb7/lww8/pF+/fowcOZL+/fu/y8OQWFa1alUWLFhA+fLlMZlMHDhwgEqVKvHo0SMaN25s7fBEREREEgUVxuW1GjdujMlkitGyp0+fjuNoREREROR1lLuJiIjEb/7+/owePZq8efMa0+7evctXX31FjRo1AGjfvj3z5s3jn3/+ibK+2WxmyZIl9OvXj1KlSgHwzTff0KhRI7p27Yqrq+u7ORCJdd26dePWrVts3rwZgIcPHwJQoUIFunbtas3QRERERBINFcbltVKlSmVxc/Xu3buEh4fj7OyMjY0NT58+xcXFhfz581svSBGRd8jR0dHaIYiIvJJyNxERkfht1KhR1KhRgzt37hjTKleubPz87NkzFixYgJubW7TDMvn5+fH06VN8fHyMaV5eXoSEhHDixAmKFi0atwcgcebu3btMnDiRq1evcvLkSezt7cmRIwcZM2a0dmgiIiIiiYYK4/Jau3btMn5etWoVQ4cOZcaMGXz88cfG/A4dOlh8iRMICA0iOCzE2mGISCwzA+6Z0vEoNBBTqLWjEZHY5GBrj4tdwn/wRbmbiIhI/LV3714OHjzITz/9xODBg6Od37x5c8xmM6NHj8bJySnKMsmSJcPe3p7bt2/j6ekJwM2bN4Hn41FLwvX555+TNWtWFi1apGK4iIiISBxRYVxibNq0afj6+ho3VgFKliyJ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Lwtekqcdb7dv39bAgQP11ltvqUSJEurZs6du374tSdqzZ48qV66sFStW6O2339abb76pmTNn6tdff1X16tVVrFgx9erVyz6OPvroI02aNElNmjRRkSJF4o3Pv7tz54569uyp4sWLq2zZsho+fLiioqIkPTqWJem3335T/fr1VbhwYdWuXVubN2+2P1efPn00atQode3aVUWKFFGFChW0Zs2aeK/Fl19+af+s6NGjh27dumW/f8GCBapUqZIKFSqk+vXr67fffrPfFxgYqLJly6pw4cL66KOPdObMmWf8F0n8CMYBAEgELl68KLPZLMMwZBiGtm/frhEjRrzy6+gAAPAkJpNJkyZN0sCBAzVixAgtWLBAFovluc4QARILi8Uif39/tW/fXt7e3lqxYoV2797t6LKQjDzuvZb3XyDh2LhxoypWrCgnJydVrlxZa9assf+ODhgwQPv27dOUKVM0Z84c7du3TxMmTJAkff755woLC9OiRYs0YcIErVq1SosXL36qdR44cEC5c+fWsmXLVLZsWY0YMULnzp3TnDlztGHDBvn7+6t///6KiYl54rree+897dy5036AvtVq1ebNm/Xee++9+BcKCd6FCxcUGRmpQoUKPXKfYRgqXbq0XF1d7bd9/PHHqlGjhmrUqKEVK1bIarWqffv2ypIli9auXaugoCBZLBYFBARIkn3a9IkTJ+rjjz+O9/w3btxQ06ZNlTFjRi1fvlyDBw/WokWLtGDBAvsymzdvlpubm1avXq1PPvlE48aN07lz517GS4FX4GnHW8eOHXXixAlNmzZNc+fOVUhIiPr06WNf9tq1awoODtbChQvVvn17BQYGauTIkRo9erQCAwP13XffxTuwdfr06Xr33Xe1atUq+fj4qG3btvb3yof1799fd+/e1ZIlSzRlyhQdOXJEw4YNk/ToWA4LC1O7du1Uv359rV+/Xm3atFGfPn3iBdiLFy9WgQIFtGHDBlWrVk2DBw+2H3AeGBioo0ePaubMmVqwYIHu3bunLl26SJKOHz+usWPHavDgwfr+++/l7++vrl27ymq1asuWLVq6dKkmTJigDRs2KH369Orbt+8L+NdJnJhKHQCABO67777TxIkT1a9fP5UpU0Ymk0mnT59WRESEnJycZLFY5Ozs7OgyAQDJnM1mk5eXl3bt2qWSJUtq27ZtmjdvHp9RSBZsNpt9rJ84cUJ3797Vzz//rLt37yomJkYVKlRwcIVI6uIuXXH48GEdPXpUsbGxKliwoEqUKOHo0gBI+vPPP7V//361bt1aklStWjUtWbJE+/bt0xtvvKFNmzZp7ty59t/ZYcOG6cSJEzp58qQOHDig4OBg+7TrQ4YMUWRk5FOt1zAMdejQwT4N9ZtvvqnWrVsrT548kh4ElsuXL9f169d1+/btf1xXqVKl5O3tra1bt6pOnTr67bffFBsbq7fffvuFvk5IHO7cuSNJSpUq1VMtnyJFCvsYTJs2rSIjI9W4cWM1bdpUnp6ekqR69epp1qxZ9mUkydvbWylSpIj3XBs2bJCHh4eGDx8uk8mkXLlyKSwsTJMnT1arVq0kSalTp1bv3r3l7OysNm3aaObMmTp69ChTbSdSTzPeTp48qb1792rTpk32f+eAgADVrFlTZ8+elSTFxsaqd+/eypEjh3x9fTV27Fg1a9ZMRYsWlSTly5fPvqwklS9f3j6mhg8frnLlymnnzp1644037MtcuHBBwcHB2rt3r72+4cOHq27duurbt+8jY3nmzJl666231Lx5c0lS9uzZdeLECc2fP1/+/v6SJD8/P3366aeSpC5dumjBggU6c+aM8uXLp0WLFmnlypXy8/OTJI0dO1alSpXSqVOndOnSJRmGIV9fX2XNmlVdu3ZVpUqVZLVadenSJbm4uMjX11e+vr4aOHBgvG1NbgjGAQBI4KpWraoVK1Zo6tSpkqS3335bhmHYj9R2dnYmHAcAOJxhGIqOjlZoaKhSpUolk8mkBQsW6PXXX1emTJkcXR7wUhmGIUn2M1R69eqlokWL6n//+5+CgoJkNpv1zjvvOLhKJGWGYeiHH37QoEGDlD9/fqVJk0ajRo1Sr169Hjv1KIBXa+PGjXJzc1PZsmUlSSVLlpS3t7dWr16tRo0ayWKxqECBAvbl/f395e/vr++//16pU6eOdy3yKlWqSFK8KdT/Sbp06eJdm7lu3boKDg7WsmXLdPbsWR07dkzSg1lPzp0794/rkqQaNWpo06ZNqlOnjr7//ntVrVpVLi4uz/iKIDFLnTq1JNmnqf6vPD091aRJE61Zs0ZHjx7V2bNndfz4caVPn/5fHxsSEqICBQrIZPor2ipWrJjCwsLsAWrWrFnj7SNLkSKFzGbzM9UKx3ua8Xb27Fl5eXnFO/ghV65c8vb21tmzZ+2hddz7W9z7YpYsWezLu7u7xzsjvHjx4va/p0yZUjly5FBISEi8YDwkJERWq1Xly5ePV4/VatUff/yhggULPlLntm3bVKxYMfttsbGx8ep+/fXX461Xksxmsy5evKjY2Fg1btz4kXWdP39e5cuXV548eVS7dm3lz59f77zzjho0aCCTyaT33ntPixYt0jvvvKOiRYuqSpUq+vDDD//x9UzqCMYBAEjAzGazXFxcNGPGDLVr104TJ06UyWRSmjRpFBsbqyNHjqhAgQKPhOJxZ4wAAPCyWa1WOTk9uEqXm5ubcuXKpe3bt+vOnTuqUaOGBg4cqOHDhxOOI8mzWq06deqU2rRpow8++ECSVK5cOa1cuVLLly+Xq6urypUr5+AqkVRduXJFEyZMUNeuXdW4cWPduHFDGzdulGEYun//vtzc3PiOADjQxo0bFRUVFW8WB4vFok2bNj0xnHhS8Py43+e/h39/PyimV69eOnDggN5//301adJEGTJkUKNGjf51XZJUq1YtffTRR7p37562bNlin/Yayc9rr72mVKlS6dixYypcuPAj93fo0MF+rfvHiYiI0Icffqg0adKocuXKqlWrls6ePas5c+b867ofd6BX3GUGLRaLpMePZS4tkng9zXiL673/zmKx2MeFpHgHVEiyf499nL8va7FYHlneYrEoVapUWrly5SOP9/HxeeQ2s9ms2rVrq3379v+4rn8av3Hb8e2339pnWoiTLl06eXh4aPny5dq7d6+2bdumVatWacmSJfap4L///nvt3LlT27Zt0+zZs7Vs2TKtWbNGHh4e//gaJFVcYxwAgAQsrjEymUyaNm2a0qdPrylTpujMmTP69ddfNXr0aFWpUkUDBw7Uhg0b7NexZIcXAOBVeDgUX7p0qYYOHao+ffpo7dq18vLy0tq1a3XixAkNHjxY165dk9VqVXh4uIOrBl48m80ms9ms8+fP6+LFi/bb8+XLp4YNG+rSpUuaPn26Nm/e7MAqkZS5urrK09NT7733ni5evKi6deuqYcOG+uCDDzRkyBD99ttvfEcAHOTcuXM6fvy4BgwYoDVr1tj/jB8/Xvfu3dMff/whZ2dnnTx50v6Y4OBg1atXT9mzZ9etW7f0559/2u9bsGCBPvvsM3t4EhERYb/vSWeR37t3Txs2bND48ePVuXNnVa1a1X4Gps1m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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "✅ Visualization saved to '/Users/ismatsamadov/SOCAR_Hackathon/output/rag_optimization_benchmark/results.png'\n" + ] + } + ], "source": [ - "## 11. Final Recommendations" + "import os\n", + "from pathlib import Path\n", + "\n", + "# Create output directory - using dynamic path\n", + "output_dir = OUTPUT_DIR / 'rag_optimization_benchmark'\n", + "output_dir.mkdir(parents=True, exist_ok=True)\n", + "\n", + "fig, axes = plt.subplots(2, 3, figsize=(20, 12))\n", + "\n", + "# 1. Top Configurations\n", + "ax1 = axes[0, 0]\n", + "top_configs = config_summary.head(10)\n", + "config_labels = [c.split('_')[-2] + '+' + c.split('_')[-1] for c in top_configs.index]\n", + "ax1.barh(config_labels, top_configs['LLM_Judge_Score'], color=sns.color_palette('viridis', len(top_configs)))\n", + "ax1.set_xlabel('LLM Judge Score (%)', fontsize=11, fontweight='bold')\n", + "ax1.set_title('Top 10 Configurations', fontsize=13, fontweight='bold')\n", + "ax1.set_xlim(0, 100)\n", + "for i, score in enumerate(top_configs['LLM_Judge_Score']):\n", + " ax1.text(score + 1, i, f'{score:.1f}', va='center', fontsize=10)\n", + "\n", + "# 2. Embedding Model Impact\n", + "ax2 = axes[0, 1]\n", + "ax2.bar(embed_impact.index, embed_impact.values, color='skyblue', alpha=0.8)\n", + "ax2.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\n", + "ax2.set_title('Embedding Model Impact', fontsize=13, fontweight='bold')\n", + "ax2.set_ylim(0, 100)\n", + "ax2.tick_params(axis='x', rotation=45)\n", + "for i, (model, score) in enumerate(embed_impact.items()):\n", + " ax2.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=10)\n", + "\n", + "# 3. Retrieval Strategy Impact\n", + "ax3 = axes[0, 2]\n", + "ax3.bar(retrieval_impact.index, retrieval_impact.values, color='coral', alpha=0.8)\n", + "ax3.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\n", + "ax3.set_title('Retrieval Strategy Impact', fontsize=13, fontweight='bold')\n", + "ax3.set_ylim(0, 100)\n", + "ax3.tick_params(axis='x', rotation=45)\n", + "for i, (strategy, score) in enumerate(retrieval_impact.items()):\n", + " ax3.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=9)\n", + "\n", + "# 4. LLM Model Impact\n", + "ax4 = axes[1, 0]\n", + "ax4.bar(llm_impact.index, llm_impact.values, color='mediumseagreen', alpha=0.8)\n", + "ax4.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\n", + "ax4.set_title('LLM Model Impact', fontsize=13, fontweight='bold')\n", + "ax4.set_ylim(0, 100)\n", + "ax4.tick_params(axis='x', rotation=45)\n", + "for i, (model, score) in enumerate(llm_impact.items()):\n", + " ax4.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=10)\n", + "\n", + "# 5. Prompting Strategy Impact\n", + "ax5 = axes[1, 1]\n", + "ax5.bar(prompt_impact.index, prompt_impact.values, color='mediumpurple', alpha=0.8)\n", + "ax5.set_ylabel('Avg LLM Judge Score (%)', fontsize=11, fontweight='bold')\n", + "ax5.set_title('Prompting Strategy Impact', fontsize=13, fontweight='bold')\n", + "ax5.set_ylim(0, 100)\n", + "ax5.tick_params(axis='x', rotation=45)\n", + "for i, (strategy, score) in enumerate(prompt_impact.items()):\n", + " ax5.text(i, score + 2, f'{score:.1f}', ha='center', fontsize=10)\n", + "\n", + "# 6. Score Components (best config)\n", + "ax6 = axes[1, 2]\n", + "best_config = config_summary.iloc[0]\n", + "components = ['Accuracy', 'Citation', 'Completeness']\n", + "scores = [best_config['Accuracy_Score'], best_config['Citation_Score'], best_config['Completeness_Score']]\n", + "colors_comp = ['#FF6B6B', '#4ECDC4', '#45B7D1']\n", + "bars = ax6.bar(components, scores, color=colors_comp, alpha=0.8)\n", + "ax6.set_ylabel('Score (%)', fontsize=11, fontweight='bold')\n", + "ax6.set_title(f'Best Config Components\\n{best_config.name.split(\"_\")[2]}', fontsize=13, fontweight='bold')\n", + "ax6.set_ylim(0, 100)\n", + "for i, score in enumerate(scores):\n", + " ax6.text(i, score + 2, f'{score:.1f}%', ha='center', fontsize=10, fontweight='bold')\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(output_dir / 'results.png', dpi=300, bbox_inches='tight')\n", + "plt.show()\n", + "\n", + "print(f\"\\n✅ Visualization saved to '{output_dir}/results.png'\")" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1231,11 +1412,11 @@ "✅ Best Configuration: bge-large-en_vanilla_k3_Llama-4-Maverick_few_shot\n", "\n", "📊 Performance:\n", - " LLM Judge Score: 61.51%\n", + " LLM Judge Score: 60.57%\n", " Accuracy: 11.35%\n", - " Citation Quality: 78.67%\n", + " Citation Quality: 76.00%\n", " Completeness: 100.00%\n", - " Avg Response Time: 1.64s\n", + " Avg Response Time: 1.63s\n", "\n", "⚙️ Components:\n", " Embedding Model: bge-large-en\n", @@ -1247,17 +1428,17 @@ "\n", "💡 Key Findings:\n", " 1. Best Embedding: bge-large-en (49.64%)\n", - " 2. Best Retrieval: vanilla_k3 (50.58%)\n", + " 2. Best Retrieval: vanilla_k3 (50.81%)\n", " 3. Best LLM: Llama-4-Maverick (48.22%)\n", - " 4. Best Prompt: few_shot (61.51%)\n", + " 4. Best Prompt: few_shot (60.57%)\n", "\n", "🎯 Hackathon Impact:\n", " LLM Quality = 30% of total score\n", - " Your score: 61.51% × 30% = 18.45 points\n", + " Your score: 60.57% × 30% = 18.17 points\n", "\n", "📈 Improvement vs Baseline:\n", - " +24.51% quality improvement\n", - " = +7.35 hackathon points\n", + " +14.24% quality improvement\n", + " = +4.27 hackathon points\n", "\n", "====================================================================================================\n", "📝 IMPLEMENTATION CHECKLIST\n", @@ -1269,7 +1450,7 @@ "4. Apply prompt: few_shot\n", "\n", "5. Expected performance:\n", - " - LLM Judge Score: 61.51%\n", + " - LLM Judge Score: 60.57%\n", " - Response time: ~1.6s\n", "====================================================================================================\n" ] @@ -1329,18 +1510,49 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 17, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "✅ Results exported to output/rag_optimization_benchmark/:\n", + " - detailed_results.csv (all tests)\n", + " - summary.csv (config rankings)\n", + " - component_impacts.csv (component analysis)\n", + " - results.png (visualizations)\n" + ] + } + ], "source": [ - "## 12. Export Results" + "# Save results\n", + "from pathlib import Path\n", + "\n", + "# Using dynamic path\n", + "output_dir = OUTPUT_DIR / 'rag_optimization_benchmark'\n", + "output_dir.mkdir(parents=True, exist_ok=True)\n", + "\n", + "df.to_csv(output_dir / 'detailed_results.csv', index=False, encoding='utf-8')\n", + "config_summary.to_csv(output_dir / 'summary.csv', encoding='utf-8')\n", + "\n", + "# Save component impacts\n", + "impacts = pd.DataFrame({\n", + " 'Embedding_Impact': embed_impact,\n", + " 'Retrieval_Impact': retrieval_impact.reindex(embed_impact.index, fill_value=0),\n", + " 'LLM_Impact': llm_impact.reindex(embed_impact.index, fill_value=0),\n", + " 'Prompt_Impact': prompt_impact.reindex(embed_impact.index, fill_value=0)\n", + "}).fillna(0)\n", + "impacts.to_csv(output_dir / 'component_impacts.csv', encoding='utf-8')\n", + "\n", + "print(\"\\n✅ Results exported to output/rag_optimization_benchmark/:\")\n", + "print(\" - detailed_results.csv (all tests)\")\n", + "print(\" - summary.csv (config rankings)\")\n", + "print(\" - component_impacts.csv (component analysis)\")\n", + "print(\" - results.png (visualizations)\")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": "# Save results\nfrom pathlib import Path\n\noutput_dir = Path('output/rag_optimization_benchmark')\noutput_dir.mkdir(parents=True, exist_ok=True)\n\ndf.to_csv(output_dir / 'detailed_results.csv', index=False, encoding='utf-8')\nconfig_summary.to_csv(output_dir / 'summary.csv', encoding='utf-8')\n\n# Save component impacts\nimpacts = pd.DataFrame({\n 'Embedding_Impact': embed_impact,\n 'Retrieval_Impact': retrieval_impact.reindex(embed_impact.index, fill_value=0),\n 'LLM_Impact': llm_impact.reindex(embed_impact.index, fill_value=0),\n 'Prompt_Impact': prompt_impact.reindex(embed_impact.index, fill_value=0)\n}).fillna(0)\nimpacts.to_csv(output_dir / 'component_impacts.csv', encoding='utf-8')\n\nprint(\"\\n✅ Results exported to output/rag_optimization_benchmark/:\")\nprint(\" - detailed_results.csv (all tests)\")\nprint(\" - summary.csv (config rankings)\")\nprint(\" - component_impacts.csv (component analysis)\")\nprint(\" - results.png (visualizations)\")" } ], "metadata": { @@ -1364,4 +1576,4 @@ }, "nbformat": 4, "nbformat_minor": 4 -} \ No newline at end of file +}