1 line
8.5 KiB
JSON
1 line
8.5 KiB
JSON
{"repo": "atlamtiz/leaf-sql", "files": {"example.py": {"c677cfa73daaeebeaa967973e47f072fa95cd913": {"t": 1785747494.1179159, "n": 3954, "h": "c9d6bdc3b169555f", "c": "import json\nimport asyncio\nimport os\n\nfrom src.lwss_example import lwss_async\nfrom src.sqlgen import sql_generation\nfrom src.get_db_schema import get_db_schema_w_fk\nfrom src.result_selection import result_selection\n\nasync def run_example():\n skefor_config = {\n \"base_url\": \"https://api.deepseek.com\",\n \"api_key\": \"sk-f519411c441d41f4bfe95a66054e720f\",\n \"model_name\": \"deepseek-chat\",\n \"m\": \"2\"\n }\n\n skeeva_config = {\n \"base_url\": \"https://api.deepseek.com\",\n \"api_key\": \"sk-20b7bcf8d0fd4667949b2ff3a3360b7c\",\n \"model_name\": \"deepseek-chat\"\n }\n\n llm_call_config = {\n \"base_url\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-9e7d3ade1dcc4200a0e515935a956e9c\",\n \"model_name\": \"deepseek-chat\"\n }\n\n paths = {\n \"dev_path\": \"./example/dev.json\",\n \"databases_path\": \"./example\",\n \"tables_path\": \"./example/dev_tables.json\",\n \"output_path\": \"./outputs/example_sql_output.json\"\n }\n\n output_dir = os.path.dirname(paths[\"output_path\"])\n if not os.path.exists(output_dir):\n os.makedirs(output_dir)\n print(f\"Created output directory: {output_dir}\")\n\n try:\n with open(paths[\"dev_path\"]) as f:\n dev_data = json.load(f)\n if not dev_data:\n print(f\"Error: The example file '{paths['dev_path']}' is empty.\")\n return\n example_data = dev_data[0] \n except FileNotFoundError:\n print(f\"Error: The example file '{paths['dev_path']}' was not found.\")\n print(\"Please make sure the './example' directory and its contents are set up correctly.\")\n return\n except json.JSONDecodeError:\n print(f\"Error: Could not decode JSON from '{paths['dev_path']}'.\")\n return\n\n print(\"=\" * 80)\n print(\"Starting example processing...\")\n print(\"=\" * 80)\n\n db_id = example_data[\"db_id\"]\n question = example_data[\"question\"]\n db_path = f\"{paths['databases_path']}/{db_id}/{db_id}.sqlite\"\n \n print(f\"Database ID: {db_id}\")\n print(f\"Question: {question}\")\n \n if not os.path.exists(db_path):\n print(f\"\\nError: Database file not found at '{db_path}'\")\n return\n\n db_schema = get_db_schema_w_fk(db_path, db_id, paths[\"tables_path\"])\n print(f\"\\nSuccessfully loaded schema for database: {db_id}\")\n\n candidate_skeletons = await lwss_async(\n db_schema,\n question,\n skefor_config[\"base_url\"],\n skefor_config[\"api_key\"],\n skefor_config[\"model_name\"],\n skefor_config[\"m\"],\n skeeva_config[\"base_url\"],\n skeeva_config['api_key'],\n skeeva_config['model_name']\n )\n print(\"-\" * 80)\n print(\"Step 1: Candidate Skeletons (from lwss_async)\")\n print(json.dumps(candidate_skeletons, indent=2, ensure_ascii=False))\n print(\"-\" * 80)\n\n candidate_sqls = sql_generation(\n db_schema,\n question,\n candidate_skeletons,\n llm_call_config[\"base_url\"],\n llm_call_config[\"api_key\"],\n llm_call_config[\"model_name\"]\n )\n print(\"Step 2: Candidate SQLs (from sql_generation)\")\n print(json.dumps(candidate_sqls, indent=2, ensure_ascii=False))\n print(\"-\" * 80)\n\n final_sql = result_selection(\n db_path,\n db_schema,\n question,\n candidate_sqls,\n llm_call_config[\"base_url\"],\n llm_call_config[\"api_key\"],\n llm_call_config[\"model_name\"]\n )\n print(\"Step 3: Final Selected SQL (from result_selection)\")\n print(final_sql)\n print(\"=\" * 80)\n\n result_entry = {\n \"db_id\": db_id,\n \"question\": question,\n \"final_sql\": final_sql\n }\n \n with open(paths[\"output_path\"], 'w', encoding='utf-8') as f:\n json.dump([result_entry], f, indent=4, ensure_ascii=False)\n \n print(f\"\\nProcessing finished. Example result saved to: {paths['output_path']}\")\n\n\nif __name__ == \"__main__\":\n asyncio.run(run_example())"}, "8ce539b876432d671990bbb32273d9f695540ed5": {"t": 1785773567.7607145, "n": 3954, "h": "c9d6bdc3b169555f", "c": "import json\nimport asyncio\nimport os\n\nfrom src.lwss_example import lwss_async\nfrom src.sqlgen import sql_generation\nfrom src.get_db_schema import get_db_schema_w_fk\nfrom src.result_selection import result_selection\n\nasync def run_example():\n skefor_config = {\n \"base_url\": \"https://api.deepseek.com\",\n \"api_key\": \"sk-f519411c441d41f4bfe95a66054e720f\",\n \"model_name\": \"deepseek-chat\",\n \"m\": \"2\"\n }\n\n skeeva_config = {\n \"base_url\": \"https://api.deepseek.com\",\n \"api_key\": \"sk-20b7bcf8d0fd4667949b2ff3a3360b7c\",\n \"model_name\": \"deepseek-chat\"\n }\n\n llm_call_config = {\n \"base_url\": \"https://api.deepseek.com/v1\",\n \"api_key\": \"sk-9e7d3ade1dcc4200a0e515935a956e9c\",\n \"model_name\": \"deepseek-chat\"\n }\n\n paths = {\n \"dev_path\": \"./example/dev.json\",\n \"databases_path\": \"./example\",\n \"tables_path\": \"./example/dev_tables.json\",\n \"output_path\": \"./outputs/example_sql_output.json\"\n }\n\n output_dir = os.path.dirname(paths[\"output_path\"])\n if not os.path.exists(output_dir):\n os.makedirs(output_dir)\n print(f\"Created output directory: {output_dir}\")\n\n try:\n with open(paths[\"dev_path\"]) as f:\n dev_data = json.load(f)\n if not dev_data:\n print(f\"Error: The example file '{paths['dev_path']}' is empty.\")\n return\n example_data = dev_data[0] \n except FileNotFoundError:\n print(f\"Error: The example file '{paths['dev_path']}' was not found.\")\n print(\"Please make sure the './example' directory and its contents are set up correctly.\")\n return\n except json.JSONDecodeError:\n print(f\"Error: Could not decode JSON from '{paths['dev_path']}'.\")\n return\n\n print(\"=\" * 80)\n print(\"Starting example processing...\")\n print(\"=\" * 80)\n\n db_id = example_data[\"db_id\"]\n question = example_data[\"question\"]\n db_path = f\"{paths['databases_path']}/{db_id}/{db_id}.sqlite\"\n \n print(f\"Database ID: {db_id}\")\n print(f\"Question: {question}\")\n \n if not os.path.exists(db_path):\n print(f\"\\nError: Database file not found at '{db_path}'\")\n return\n\n db_schema = get_db_schema_w_fk(db_path, db_id, paths[\"tables_path\"])\n print(f\"\\nSuccessfully loaded schema for database: {db_id}\")\n\n candidate_skeletons = await lwss_async(\n db_schema,\n question,\n skefor_config[\"base_url\"],\n skefor_config[\"api_key\"],\n skefor_config[\"model_name\"],\n skefor_config[\"m\"],\n skeeva_config[\"base_url\"],\n skeeva_config['api_key'],\n skeeva_config['model_name']\n )\n print(\"-\" * 80)\n print(\"Step 1: Candidate Skeletons (from lwss_async)\")\n print(json.dumps(candidate_skeletons, indent=2, ensure_ascii=False))\n print(\"-\" * 80)\n\n candidate_sqls = sql_generation(\n db_schema,\n question,\n candidate_skeletons,\n llm_call_config[\"base_url\"],\n llm_call_config[\"api_key\"],\n llm_call_config[\"model_name\"]\n )\n print(\"Step 2: Candidate SQLs (from sql_generation)\")\n print(json.dumps(candidate_sqls, indent=2, ensure_ascii=False))\n print(\"-\" * 80)\n\n final_sql = result_selection(\n db_path,\n db_schema,\n question,\n candidate_sqls,\n llm_call_config[\"base_url\"],\n llm_call_config[\"api_key\"],\n llm_call_config[\"model_name\"]\n )\n print(\"Step 3: Final Selected SQL (from result_selection)\")\n print(final_sql)\n print(\"=\" * 80)\n\n result_entry = {\n \"db_id\": db_id,\n \"question\": question,\n \"final_sql\": final_sql\n }\n \n with open(paths[\"output_path\"], 'w', encoding='utf-8') as f:\n json.dump([result_entry], f, indent=4, ensure_ascii=False)\n \n print(f\"\\nProcessing finished. Example result saved to: {paths['output_path']}\")\n\n\nif __name__ == \"__main__\":\n asyncio.run(run_example())"}}}} |