From 5a19a4b9549760862b555f18aa0c34086fdb46dd Mon Sep 17 00:00:00 2001 From: pramitchoudhary Date: Thu, 1 Feb 2024 15:55:04 -0800 Subject: [PATCH] Initial experimentation on LLM2SQL --- .appignore | 17 + .gitignore | 10 +- .vscode/extensions.json | 5 + .vscode/settings.json | 15 + LICENSE | 201 +++ Makefile | 27 + README.md | 98 +- __init__.py | 0 about.md | 12 + app.toml | 49 + eval/README.md | 20 + eval/inference.py | 116 ++ .../notebooks/Guardrails_SQL_injection.ipynb | 677 ++++++++++ examples/notebooks/databricks_db.ipynb | 1178 +++++++++++++++++ examples/notebooks/sdk_quick_tutorial.ipynb | 1144 ++++++++++++++++ examples/sleep_eda/table_info.jsonl | 13 + examples/telemetry/samples.csv | 27 + examples/telemetry/table_info.jsonl | 10 + pyproject.toml | 90 ++ requirements.txt | 112 ++ sidekick/__init__.py | 0 sidekick/configs/__init__.py | 0 sidekick/configs/data_template.py | 11 + sidekick/configs/env.toml | 32 + sidekick/configs/prompt_template.py | 149 +++ sidekick/db_config.py | 295 +++++ sidekick/logger.py | 9 + sidekick/memory.py | 80 ++ sidekick/prompter.py | 749 +++++++++++ sidekick/query.py | 815 ++++++++++++ sidekick/schema_generator.py | 62 + sidekick/utils.py | 631 +++++++++ start.py | 39 + static/screenshot-01.png | Bin 0 -> 229013 bytes static/screenshot-02.png | Bin 0 -> 233174 bytes static/screenshot-03.png | Bin 0 -> 412831 bytes static/screenshot-04.png | Bin 0 -> 391554 bytes static/screenshot-05.png | Bin 0 -> 507487 bytes tests/.env.example | 11 + tests/__init__.py | 0 tests/test_databricks.py | 76 ++ tests/test_db_setup.py | 46 + tests/test_guardrails.py | 173 +++ tests/test_llms.py | 175 +++ tests/test_self_correction.py | 168 +++ ui/app.py | 964 ++++++++++++++ ui/ui_config.toml | 3 + 47 files changed, 8307 insertions(+), 2 deletions(-) create mode 100644 .appignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 __init__.py create mode 100644 about.md create mode 100644 app.toml create mode 100644 eval/README.md create mode 100644 eval/inference.py create mode 100644 examples/notebooks/Guardrails_SQL_injection.ipynb create mode 100644 examples/notebooks/databricks_db.ipynb create mode 100644 examples/notebooks/sdk_quick_tutorial.ipynb create mode 100644 examples/sleep_eda/table_info.jsonl create mode 100644 examples/telemetry/samples.csv create mode 100644 examples/telemetry/table_info.jsonl create mode 100644 pyproject.toml create mode 100644 requirements.txt create mode 100644 sidekick/__init__.py create mode 100644 sidekick/configs/__init__.py create mode 100644 sidekick/configs/data_template.py create mode 100644 sidekick/configs/env.toml create mode 100644 sidekick/configs/prompt_template.py create mode 100644 sidekick/db_config.py create mode 100644 sidekick/logger.py create mode 100644 sidekick/memory.py create mode 100644 sidekick/prompter.py create mode 100644 sidekick/query.py create mode 100644 sidekick/schema_generator.py create mode 100644 sidekick/utils.py create mode 100644 start.py create mode 100644 static/screenshot-01.png create mode 100644 static/screenshot-02.png create mode 100644 static/screenshot-03.png create mode 100644 static/screenshot-04.png create mode 100644 static/screenshot-05.png create mode 100644 tests/.env.example create mode 100644 tests/__init__.py create mode 100644 tests/test_databricks.py create mode 100644 tests/test_db_setup.py create mode 100644 tests/test_guardrails.py create mode 100644 tests/test_llms.py create mode 100644 tests/test_self_correction.py create mode 100644 ui/app.py create mode 100644 ui/ui_config.toml diff --git a/.appignore b/.appignore new file mode 100644 index 0000000..76a5059 --- /dev/null +++ b/.appignore @@ -0,0 +1,17 @@ +.DS_Store +venv/ +.sidekickvenv/ +var/ +.git/ +.idea/ +*/__pycache__/ +scripts/ +setup_cythonize/ +.sh +build/ +dist/ +tests/ +ci/ +examples/sleep_eda/ +examples/telemetry/ +.log diff --git a/.gitignore b/.gitignore index 68bc17f..2fe6b76 100644 --- a/.gitignore +++ b/.gitignore @@ -157,4 +157,12 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +.idea/ + +# osx generated files +.DS_Store +.DS_Store? +.Trashes +ehthumbs.db +Thumbs.db +.idea diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..3a390d4 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "ms-python.python" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c2f20fe --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,15 @@ +{ + "[python]": { + "editor.tabSize": 4, + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "files.eol": "\n", + "files.insertFinalNewline": true, + "files.trimFinalNewlines": true, + "files.trimTrailingWhitespace": true, + "python.formatting.provider": "none", + "python.linting.enabled": true, + "python.linting.flake8Enabled": true, + "python.formatting.blackArgs": ["--line-length", "120"], + "python.linting.flake8Args": ["--max-line-length=120"], +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..25ae411 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023 Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cf44ca7 --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +demo_data = s3cmd get --recursive --skip-existing s3://h2o-sql-sidekick-public/demo/sleepEDA/ ./examples/demo/ + +.PHONY: download_demo_data + +all: download_demo_data + +setup: download_demo_data ## Setup + python3 -m venv .sidekickvenv + ./.sidekickvenv/bin/python3 -m pip install --upgrade pip + ./.sidekickvenv/bin/python3 -m pip install wheel + ./.sidekickvenv/bin/python3 -m pip install -r requirements.txt + mkdir -p ./examples/demo/ + + +download_demo_data: + mkdir -p ./examples/demo/ + $(demo_data) + +run: + ./.sidekickvenv/bin/python3 start.py + +clean: + rm -rf ./db + rm -rf ./var + +cloud_bundle: + h2o bundle -L debug 2>&1 | tee -a h2o-bundle.log diff --git a/README.md b/README.md index 2ad6d58..8443994 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,98 @@ # sql-sidekick -A simple sql assistant +A simple SQL assistant (WIP) +Turn β˜… into ⭐ (top-right corner) if you like the project! πŸ™ + +## Motivation +- Historically, it’s common for data to be stored in Databases, democratizing insight generation. +- Enable a helpful assistant to help write complex queries across different database dialects with acceptable efficient execution accuracy (not just matching accuracy) +- Push to derive consistent generation without errors using smaller OSS models to save on compute costs. +- Provide a toolkit for users to mix and match different model sizes to optimize compute cost - e.g., smaller models for generation, remote bigger models for syntax correction or spell correction … +- Build a smart search engine for Databases/structured data, Text to SQL as a Natural Language interface (NLI) for data analysis + + +## Key Features +- An interactive UI to capture feedback along with a python-client and CLI mode. +- Ability for auto DB schema generation for input data using custom input format. +- Support for in-context learning (ICL) pipeline with RAG support to control hallucination +- Guardrails: to check for SQL injections via SELECT statements, e.g., `SELECT * FROM SleepStudy WHERE user_id = 11 OR 1=1;` +- Entity mapping/Schema linking: Ability to build memory for mapping business context to the data schema dynamically; **Note: currently enabled only via CLI, others WIP. +- Ability to save the chat history of query/answer pairs for future reference and improvements. +- Self-correction loop back: Validates syntactic correction of generation. **Note: Self-correction is currently enabled for all openAI GPT models. WIP for other OSS models. +- Integration with different database dialects - currently, SQLite/Postgres(_might be broken temporarily_)/Databricks is enabled. WIP to add support for Duckdb and others. +- Debug mode: Ability to evaluate/modify and validate SQL query against the configured database via UI +- Recommend sample questions: Often, given a dataset, we are unsure what to ask. To come around this problem, we have enabled the ability to generate recommendations for possible questions. + +# Installation +## Dev +``` +1. git clone git@github.com:h2oai/sql-sidekick.git +2. cd sql-sidekick +3. make setup +4. source ./.sidekickvenv/bin/activate +5. poetry install (in case there is an error, try `poetry update` before `poetry install`) +6. python sidekick/prompter.py +``` +## Usage +``` +Dialect: postgres +- docker pull postgres (will pull the latest version) +- docker run --rm --name pgsql-dev -e POSTGRES_PASSWORD=abc -p 5432:5432 postgres + +Default: sqlite +Step: +- Download and install .whl --> s3://sql-sidekick/releases/sql_sidekick-0.0.3-py3-none-any.whl +- python3 -m venv .sidekickvenv +- source .sidekickvenv/bin/activate +- python3 -m pip install sql_sidekick-0.0.3-py3-none-any.whl +``` +## Start +``` +`sql-sidekick` + +Welcome to the SQL Sidekick! I am an AI assistant that helps you with SQL +queries. I can help you with the following: + 0. Generate input schema: + `sql-sidekick configure generate_schema configure generate_schema --data_path "./sample_passenger_statisfaction.csv" --output_path "./table_config.jsonl"` + + 1. Configure a local database(for schema validation and syntax checking): + `sql-sidekick configure db-setup -t "/table_info.jsonl"` (e.g., format --> https://github.com/h2oai/sql-sidekick/blob/main/examples/telemetry/table_info.jsonl) + + 2. Ask a question: `sql-sidekick query -q "avg Gpus" -s "/samples.csv"` (e.g., format --> https://github.com/h2oai/sql-sidekick/blob/main/examples/telemetry/samples.csv) + + 3. Learn contextual query/answer pairs: `sql-sidekick learn add-samples` (optional) + + 4. Add context as key/value pairs: `sql-sidekick learn update-context` (optional) + +Options: + --version Show the version and exit. + --help Show this message and exit. + +Commands: + configure Helps in configuring local database. + learn Helps in learning and building memory. + query Asks question and returns SQL +``` + +## UI +### Steps to start locally +1. Download wave serve [0.26.3](https://github.com/h2oai/wave/releases/tag/v0.26.3) +2. `tar -xzf wave-0.26.3-linux-amd64`; `./waved -max-request-size="20M"` +3. Download the latest bundle: https://github.com/h2oai/sql-sidekick/releases/latest +4. unzip `ai.h2o.wave.sql-sidekick.x.x.x.wave` +5. make setup +6. source ./.sidekickvenv/bin/activate +7. make run +Screen Shot 2023-11-15 at 6 19 14 PM + +## Citation & Acknowledgment +Please consider citing our project if you find it useful: + +```bibtex +@software{sql-sidekick, + title = {{sql-sidekick: A simple SQL assistant}}, + author = {Pramit Choudhary, Michal Malohlava, Narasimha Durgam, Robin Liu, h2o.ai Team} + url = {https://github.com/h2oai/sql-sidekick}, + year = {2024} +} +``` +LLM frameworks adopted: [h2ogpt](https://github.com/h2oai/h2ogpt), [h2ogpte](https://pypi.org/project/h2ogpte/), [LangChain](https://github.com/langchain-ai/langchain), [llama_index](https://github.com/run-llama/llama_index), [openai](https://openai.com/blog/openai-api) diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/about.md b/about.md new file mode 100644 index 0000000..79fbc99 --- /dev/null +++ b/about.md @@ -0,0 +1,12 @@ +**App Goal:** Web client for SQL-Sidekick + +**Target Audience:** Data (Machine Learning) Scientists, Citizen Data Scientists, Data Engineers Managers and Business Analysts + +**Actively Being Maintained:** Yes (Demo release) + +**Last Updated:** January, 2024 + +**Allows uploading and using new model and data:** Yes + +**Detailed Description:** +An experimental demo to evaluate text-to-SQL capabilities of large language models (LLMs) to enable QnA for structured data. diff --git a/app.toml b/app.toml new file mode 100644 index 0000000..c59edcf --- /dev/null +++ b/app.toml @@ -0,0 +1,49 @@ +[App] +Name = "ai.h2o.wave.sql-sidekick" +Title = "SQL-Sidekick" +Description = "QnA with tabular data using NLQ" +LongDescription = "about.md" +InstanceLifecycle = "MANAGED" +Tags = ["DATA_SCIENCE", "MACHINE_LEARNING", "NLP", "GENERATIVE_AI"] +Version = "0.2.2" + +[Runtime] +MemoryLimit = "64Gi" +MemoryReservation = "64Gi" +module = "start" +VolumeMount = "/meta_data" +VolumeSize = "100Gi" +ResourceVolumeSize = "64Gi" +GPUCount = 2 +RuntimeVersion = "ub2004_cuda114_cudnn8_py38_wlatest_a10g" +RoutingMode = "BASE_URL" +EnableOIDC = true + +[[Env]] +Name = "H2O_WAVE_MAX_REQUEST_SIZE" +Value = "20M" + +[[Env]] +Name = "HEAP_ID" +Secret = "heap-analytics" +SecretKey = "id" + +[[Env]] +Name = "H2OGPT_URL" +Secret = "h2ogpt-oss-sqlsidekick" +SecretKey = "h2ogpt-url" + +[[Env]] +Name = "H2OGPT_API_TOKEN" +Secret = "h2ogpt-oss-sqlsidekick" +SecretKey = "h2ogpt-key" + +[[Env]] +Name = "H2OGPTE_URL" +Secret = "h2ogpte-sqlsidekick" +SecretKey = "h2ogpte-url" + +[[Env]] +Name = "H2OGPTE_API_TOKEN" +Secret = "h2ogpte-sqlsidekick" +SecretKey = "h2ogpte-key" diff --git a/eval/README.md b/eval/README.md new file mode 100644 index 0000000..1cb6fa1 --- /dev/null +++ b/eval/README.md @@ -0,0 +1,20 @@ +Usage: +1. `python3 -m venv .sidekick_venv` +2. `source .sidekick_venv/bin/activate` +3. `pip install --force-reinstall sql_sidekick-x.x.x-py3-none-any.whl` (# replace x.x.x with the latest version number), https://github.com/h2oai/sql-sidekick/releases +4. `python eval/inference.py run-eval --help` +``` +Options: + -i, --input_data_path TEXT Path to dataset in .csv format + -t, --table_name TEXT Table name related to the supplied dataset + -e, --eval_data_path TEXT Path to eval dataset in .csv format + -m, --model_name TEXT Model name to use for inference + -s, --sample_qna_path TEXT Path to sample QnA in .csv format + -n, --iterations INTEGER Number of iterations to run + -th, --threshold FLOAT Similarity threshold + -k, --kwargs TEXT Additional arguments +``` +5. `python eval/inference.py run-eval -i -t "your_table_name" -e -s -m "h2ogpt-sql-sqlcoder-34b-alpha"` + + +Benchmarks: WIP diff --git a/eval/inference.py b/eval/inference.py new file mode 100644 index 0000000..ac767e0 --- /dev/null +++ b/eval/inference.py @@ -0,0 +1,116 @@ +# 1. python3 -m venv .sidekick_venv +# 2. source .sidekick_venv/bin/activate +# 3. pip install --force-reinstall sql_sidekick-x.x.x-py3-none-any.whl (# replace x.x.x with the latest version number) + +import os +from pathlib import Path +from typing import Optional + +import click +import pandas as pd +from sidekick.prompter import ask, db_setup +from sidekick.query import SQLGenerator +from sidekick.schema_generator import generate_schema +from sidekick.utils import generate_text_embeddings, setup_dir +from sklearn.metrics.pairwise import cosine_similarity + +base_path = (Path(__file__).parent / "../").resolve() +base_path = "." +cache_path = f"{base_path}/var/lib/tmp" +setup_dir(base_path) + +HOST_NAME = "localhost" +USER_NAME = "sqlite" +PASSWORD = "abc" +DB_NAME = "query_eval_db" +PORT = "5432" + +# Initialize DB +if Path(f"{base_path}/db/sqlite/{DB_NAME}.db").exists(): + os.remove(f"{base_path}/db/sqlite/{DB_NAME}.db") + +def compute_similarity_score(x1: str, x2:str): + m_path = f"{base_path}/models/sentence_transformers/" + _embedding1 = generate_text_embeddings(m_path, x=[x1, x2]) + _embedding2 = generate_text_embeddings(m_path, x=[x2]) + similarities_score = cosine_similarity(_embedding1.astype(float), _embedding2.astype(float)) + return similarities_score + + +@click.group() +@click.version_option() +def cli(): + """For benchmarking SQL-Sidekick. + """ + +@cli.command() +@click.option("--input_data_path", "-i", help="Path to dataset in .csv format") +@click.option("--table_name", "-t", help="Table name related to the supplied dataset") +@click.option("--eval_data_path", "-e", help="Path to eval dataset in .csv format") +@click.option("--model_name", "-m", default="h2ogpt-sql-sqlcoder-34b-alpha", help="Model name to use for inference") +@click.option("--sample_qna_path", "-s", default=None, help="Path to sample QnA in .csv format") +@click.option("--iterations", "-n", default=1, help="Number of iterations to run") +@click.option("--threshold", "-th", default=0.9, help="Similarity threshold") +@click.option("--kwargs", "-k", default=None, help="Additional arguments") +def run_eval(input_data_path: str, table_name: str, eval_data_path: str, model_name: str, iterations: int, threshold: float, sample_qna_path: Optional[str]=None, **kwargs): + # Generate schema for the supplied input data + _, table_info_path = generate_schema(data_path=input_data_path, output_path=f"{cache_path}/{table_name}_table_info.jsonl") + # Db setup + _, err = db_setup( + db_name=DB_NAME, + hostname=HOST_NAME, + user_name=USER_NAME, + password=PASSWORD, + port=PORT, + table_info_path=table_info_path, + table_samples_path=input_data_path, + table_name=table_name, + local_base_path=base_path + ) + + # read gold context + syntax_accuracy = {} + failures = {} + compare_df = pd.read_csv(eval_data_path) + count = 0 + while count < iterations: + for _row in compare_df.itertuples(): + input_q = _row.question + expected_sql = _row.answer + + # With self-correction + _generated_sql = '' + result, _, _ = ask( + question=input_q, + table_info_path=table_info_path, + sample_queries_path=sample_qna_path, + table_name=table_name, + is_command=False, + model_name=model_name, + is_regenerate=False, + is_regen_with_options=False, + execute_query=True, + local_base_path=base_path, + debug_mode=False, + guardrails=False, + self_correction=True + ) + + if result and len(result) > 0: + _idx = [result.index(_r) for _r in result if _r.startswith("``` sql")] + if _idx: + _generated_sql = str(result[_idx[0]].split("``` sql\n")[1]).replace("```", "").strip() + split_text = _generated_sql.split("\n") + _generated_sql = " ".join(split_text).strip() + _syntax_score = compute_similarity_score(expected_sql, _generated_sql) + + if _syntax_score[0][0] > threshold: + syntax_accuracy[input_q] = _syntax_score[0][0] + else: + failures[input_q] = (expected_sql, _generated_sql) + count+=1 + print(f"Syntax accuracy: {float(len(syntax_accuracy)/compare_df.shape[0])}") + print(f"Failures cases: {failures}") + +if __name__ == "__main__": + cli() diff --git a/examples/notebooks/Guardrails_SQL_injection.ipynb b/examples/notebooks/Guardrails_SQL_injection.ipynb new file mode 100644 index 0000000..5bc921f --- /dev/null +++ b/examples/notebooks/Guardrails_SQL_injection.ipynb @@ -0,0 +1,677 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "8cc48531-3715-4285-b941-6c5c400cc399", + "metadata": {}, + "source": [ + "**Guardrails:** are important to prevent misuse and mitigate concerns on bad actors. Within sql-sidekick, we have added support for scanning malicious patterns that might occur in generated SELECT statements that might destroy the database or compromise sensitive information. \n", + "We adopted a 2-step approach, using pattern matching and LLM prompting to ensure safety and compliance in a product setting. The self-corrective loop with external feedback helps maintain syntactical integrity.\n", + "\n", + "_Reference:_\n", + "1. https://github.com/payloadbox/sql-injection-payload-list#generic-sql-injection-payloads\n", + "2. https://www.invicti.com/blog/web-security/sql-injection-cheat-sheet/#InlineSamples" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed26aaa3-ec95-4ef9-9a93-05f3c629fe90", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --force-reinstall sql_sidekick-0.x.x-py3-none-any.whl" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b336798f-43c6-4ad8-96ba-0cd43ccd8c9d", + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "337f3cf7-a366-4a2e-9746-3a0b8c5e5a1a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0.2.0'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sidekick import prompter\n", + "prompter.__version__" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "0a55a6ac-65c3-47e3-ab3e-0818800ba437", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import pandas as pd\n", + "from pathlib import Path\n", + "\n", + "\n", + "from sidekick.prompter import ask, db_setup\n", + "from sidekick.query import SQLGenerator\n", + "from sidekick.schema_generator import generate_schema\n", + "from sidekick.utils import setup_dir\n", + "\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "78cd0f95-5366-4b3e-b82a-3d5162ab218d", + "metadata": {}, + "outputs": [], + "source": [ + "# env variables\n", + "\n", + "os.environ['OPENAI_API_KEY'] = \"\"\n", + "os.environ['H2OGPT_URL'] = ''\n", + "os.environ['H2OGPT_API_TOKEN'] = \"\"\n", + "os.environ['H2OGPTE_URL'] = \"https://h2ogpte.genai.h2o.ai\" # e.g. https://<>.h2ogpte.h2o.ai\n", + "os.environ['H2OGPTE_API_TOKEN'] = \"\"\n", + "\n", + "\n", + "base_path = \".\"\n", + "cache_path = f\"{base_path}/var/lib/tmp\"\n", + "setup_dir(base_path)\n", + "\n", + "HOST_NAME = \"localhost\"\n", + "USER_NAME = \"sqlite\"\n", + "PASSWORD = \"abc\"\n", + "DB_NAME = \"query_test\"\n", + "PORT = \"5432\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "93071d24-acfa-45e2-9f96-14c6ba87fa82", + "metadata": {}, + "outputs": [], + "source": [ + "data_path = \"./sleep_health_and_lifestyle_dataset.csv\"\n", + "# Replace table_name as needed\n", + "table_name = \"sleep_health_and_lifestyle\"\n", + "table_schema, table_info_path = generate_schema(data_path=data_path, output_path=f\"{cache_path}/{table_name}_table_info.jsonl\")\n", + "\n", + "# Initialize DB\n", + "if Path(f\"{base_path}/db/sqlite/{DB_NAME}.db\").exists():\n", + " os.remove(f\"{base_path}/db/sqlite/{DB_NAME}.db\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "67ea24ce-c170-4977-beb3-f7471c90003c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Information supplied:\n", + " query_test, localhost, sqlite, abc, 5432\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:26.138\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mcreate_db\u001b[0m:\u001b[36m108\u001b[0m - \u001b[34m\u001b[1mSQLite DB is created successfully.\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Database created successfully!\n", + "Table name: sleep_health_and_lifestyle\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:26.142\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36m_extract_schema_info\u001b[0m:\u001b[36m162\u001b[0m - \u001b[34m\u001b[1mUsing schema information from: ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.144\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mcreate_table\u001b[0m:\u001b[36m186\u001b[0m - \u001b[34m\u001b[1mSchema info used for creating table:\n", + " Person_ID NUMERIC,\n", + "Gender TEXT COLLATE NOCASE,\n", + "Age NUMERIC,\n", + "Occupation TEXT COLLATE NOCASE,\n", + "Sleep_Duration NUMERIC,\n", + "Quality_of_Sleep NUMERIC,\n", + "Physical_Activity_Level NUMERIC,\n", + "Stress_Level NUMERIC,\n", + "BMI_Category TEXT COLLATE NOCASE,\n", + "Blood_Pressure TEXT COLLATE NOCASE,\n", + "Heart_Rate NUMERIC,\n", + "Daily_Steps NUMERIC,\n", + "Sleep_Disorder TEXT COLLATE NOCASE\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.155\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mcreate_table\u001b[0m:\u001b[36m198\u001b[0m - \u001b[1mTable created: sleep_health_and_lifestyle\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Checked table sleep_health_and_lifestyle exists in the DB.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:26.159\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m222\u001b[0m - \u001b[34m\u001b[1mAdding sample values to table: ./sleep_health_and_lifestyle_dataset.csv\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.164\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m228\u001b[0m - \u001b[34m\u001b[1mInserting chunk: 0\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.264\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m233\u001b[0m - \u001b[1mData inserted into table: sleep_health_and_lifestyle\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.267\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m238\u001b[0m - \u001b[1mNumber of rows inserted: 374\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Created a Database query_test. Inserted sample values from ./sleep_health_and_lifestyle_dataset.csv into table sleep_health_and_lifestyle, please ask questions!\n" + ] + } + ], + "source": [ + "# Set add_sample=False if no need to add rows to the table\n", + "response , err = db_setup(\n", + " db_name=DB_NAME,\n", + " hostname=HOST_NAME,\n", + " user_name=USER_NAME,\n", + " password=PASSWORD,\n", + " port=PORT,\n", + " table_info_path=table_info_path,\n", + " table_samples_path=data_path,\n", + " table_name=table_name,\n", + " local_base_path=base_path,\n", + " add_sample=True\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "1760df87-0a90-48be-a226-984d082a2481", + "metadata": {}, + "source": [ + "## Example 1:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b1349eb7-4ba8-4a44-9956-02ed3b1b4c63", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:26.321\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m490\u001b[0m - \u001b[1mTable in use: ['sleep_health_and_lifestyle']\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.322\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m491\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.323\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m524\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.324\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m525\u001b[0m - \u001b[1mQuestion: Execute SQL:\n", + "\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.325\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m543\u001b[0m - \u001b[34m\u001b[1mTable info path: ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.326\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:26.327\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.846\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.848\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 21GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.860\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m467\u001b[0m - \u001b[1mUsing information info from path ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.861\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mExecuting user provided SQL without generation...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.862\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m598\u001b[0m - \u001b[1mInput query: Execute SQL:\n", + "\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.863\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m599\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "select * from sleep_health_and_lifestyle where person_id = 105;\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.872\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m625\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "None\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.874\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mexecute_query\u001b[0m:\u001b[36m269\u001b[0m - \u001b[34m\u001b[1mExecuting query:\n", + " select * from sleep_health_and_lifestyle where person_id = 105;\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The results are:\n", + " [(105, 'Female', 36, 'Teacher', 7.2, 8, 60, 4, 'Normal', '115/75', 68, 7000, 'Sleep Apnea')]\n", + "Exiting...\n" + ] + } + ], + "source": [ + "# Example lets consider a simple query as mentioned below,\n", + "# Expected output: a single row having information about person_id=105\n", + "\n", + "input_q = \"\"\"\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105;\n", + " \"\"\"\n", + "\n", + "# We are running in Debug Mode as we are validating SQL statements directly `debug_mode=True`\n", + "result = None\n", + "question = f\"Execute SQL:\\n{input_q}\"\n", + "\n", + "result, _, error = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=None,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-nsql-llama-2-7B\",\n", + " is_regenerate=False,\n", + " is_regen_with_options=False,\n", + " execute_query=True,\n", + " guardrails=False,\n", + " local_base_path=base_path,\n", + " debug_mode=True,\n", + " self_correction=False\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3bbbd22f-a65e-4864-8ff6-716ace096e4a", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:27.939\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m490\u001b[0m - \u001b[1mTable in use: ['sleep_health_and_lifestyle']\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.941\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m491\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.942\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m524\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.942\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m525\u001b[0m - \u001b[1mQuestion: Execute SQL:\n", + "\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105 OR 1=1;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.943\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m543\u001b[0m - \u001b[34m\u001b[1mTable info path: ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.944\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.945\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.946\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.947\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 21GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.957\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m467\u001b[0m - \u001b[1mUsing information info from path ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.958\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mExecuting user provided SQL without generation...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.959\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m598\u001b[0m - \u001b[1mInput query: Execute SQL:\n", + "\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105 OR 1=1;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.960\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m599\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "select * from sleep_health_and_lifestyle where person_id = 105 or 1=1;\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.962\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m625\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "None\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:27.964\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mexecute_query\u001b[0m:\u001b[36m269\u001b[0m - \u001b[34m\u001b[1mExecuting query:\n", + " select * from sleep_health_and_lifestyle where person_id = 105 or 1=1;\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Preview of the result:\n", + " Person_ID Gender Age Occupation Sleep_Duration Quality_of_Sleep \\\n", + "0 1 Male 27 Software Engineer 6.1 6 \n", + "1 2 Male 28 Doctor 6.2 6 \n", + "\n", + " Physical_Activity_Level Stress_Level BMI_Category Blood_Pressure \\\n", + "0 42 6 Overweight 126/83 \n", + "1 60 8 Normal 125/80 \n", + "\n", + " Heart_Rate Daily_Steps Sleep_Disorder \n", + "0 77 4200 None \n", + "1 75 10000 None \n", + "Exiting...\n", + "Number of rows returned: (101, 13)\n" + ] + } + ], + "source": [ + "# Injecting malicious tokens\n", + "# Example: OR 1=1\n", + "# Below user input is a syntactically valid SQL statement but since `0R 1=1` is always true, instead of returning information\n", + "# about person_id=105; a bad actor might get information about all user.\n", + "\n", + "# Built-in guardrails is disabled\n", + "# Result contains more than one rows\n", + "\n", + "result = None\n", + "input_q = \"\"\"\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105 OR 1=1;\n", + " \"\"\"\n", + "question = f\"Execute SQL:\\n{input_q}\"\n", + "#1. Self correction is disabled\n", + "result, _, error = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=None,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-nsql-llama-2-7B\",\n", + " is_regenerate=False,\n", + " is_regen_with_options=False,\n", + " execute_query=True,\n", + " guardrails=False,\n", + " local_base_path=base_path,\n", + " debug_mode=True,\n", + " self_correction=False\n", + ")\n", + "\n", + "# format final output\n", + "import ast\n", + "\n", + "res = ast.literal_eval(result[4])\n", + "final_res = pd.DataFrame(res)\n", + "\n", + "print(f\"Number of rows returned: {final_res.shape}\") " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "72112ca3-4894-40d0-8115-9aef1e98205b", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:28.043\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m490\u001b[0m - \u001b[1mTable in use: ['sleep_health_and_lifestyle']\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.044\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m491\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.046\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m524\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.047\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m525\u001b[0m - \u001b[1mQuestion: Execute SQL:\n", + "\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105 OR 1=1;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.048\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m543\u001b[0m - \u001b[34m\u001b[1mTable info path: ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.049\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.051\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.052\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.053\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 21GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.062\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m467\u001b[0m - \u001b[1mUsing information info from path ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.063\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mExecuting user provided SQL without generation...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.064\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m598\u001b[0m - \u001b[1mInput query: Execute SQL:\n", + "\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105 OR 1=1;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.065\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m599\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "select * from sleep_health_and_lifestyle where person_id = 105 or 1=1;\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.067\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m625\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "None\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.068\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m638\u001b[0m - \u001b[1mChecking for vulnerabilities in the provided SQL: select * from sleep_health_and_lifestyle where person_id = 105 or 1=1;\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:28.075\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mcheck_vulnerability\u001b[0m:\u001b[36m548\u001b[0m - \u001b[34m\u001b[1mRequesting additional scan using configured models\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Warning: Server version 1.3.0-dev5 doesn't match client version 1.2.7: unexpected errors may occur.\n", + "Please install the correct version of H2OGPTE with `pip install h2ogpte==1.3.0-dev5`.\n", + "You can enable strict version checking by passing strict_version_check=True.\n", + "The results are:\n", + " The input question has malicious patterns, **('or', '', ''), or 1=1** that could lead to SQL Injection.\n", + "Sorry, I will not be able to provide an answer.\n", + "Please try rephrasing the question. The query is vulnerable to SQL injection. The use of the OR clause with a constant value (1=1) is a common indicator of an injection attack. This suggests that an attacker may be able to manipulate the query to execute arbitrary SQL code, potentially leading to unauthorized access or modification of data.\n", + "Exiting...\n" + ] + } + ], + "source": [ + "# With guardrails 'ON', we are able prevent such ambigious intent\n", + "# Enabling quardrails is configurable by setting the `guardrails=True/false`\n", + "\n", + "result = None\n", + "input_q = \"\"\"\n", + " SELECT * FROM sleep_health_and_lifestyle WHERE person_id = 105 OR 1=1;\n", + " \"\"\"\n", + "question = f\"Execute SQL:\\n{input_q}\"\n", + "\n", + "result, _, error = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=None,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-nsql-llama-2-7B\",\n", + " is_regenerate=False,\n", + " is_regen_with_options=False,\n", + " execute_query=True,\n", + " guardrails=True,\n", + " local_base_path=base_path,\n", + " debug_mode=True,\n", + " self_correction=False\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "62492d4f-72e8-4bb6-8d17-520dc0645b1a", + "metadata": {}, + "source": [ + "## Example 2:\n", + "Classic Inline Comment SQL Injection Attack" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2fd7f05d-ce44-4b45-90c5-4c077dddacdf", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:24:37.276\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m490\u001b[0m - \u001b[1mTable in use: ['sleep_health_and_lifestyle']\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.277\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m491\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.278\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m524\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.279\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m525\u001b[0m - \u001b[1mQuestion: Execute SQL:\n", + "\n", + " 10; DROP TABLE sleep_health_and_lifestyle /*;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.280\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m543\u001b[0m - \u001b[34m\u001b[1mTable info path: ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.281\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.282\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.283\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.284\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 21GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.294\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m467\u001b[0m - \u001b[1mUsing information info from path ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.295\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mExecuting user provided SQL without generation...\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.296\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m598\u001b[0m - \u001b[1mInput query: Execute SQL:\n", + "\n", + " 10; DROP TABLE sleep_health_and_lifestyle /*;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.298\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m599\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "10; drop table sleep_health_and_lifestyle /*;\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.300\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m625\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "None\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.302\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m638\u001b[0m - \u001b[1mChecking for vulnerabilities in the provided SQL: 10; drop table sleep_health_and_lifestyle /*;\u001b[0m\n", + "\u001b[32m2024-01-19 22:24:37.303\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mcheck_vulnerability\u001b[0m:\u001b[36m548\u001b[0m - \u001b[34m\u001b[1mRequesting additional scan using configured models\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Warning: Server version 1.3.0-dev5 doesn't match client version 1.2.7: unexpected errors may occur.\n", + "Please install the correct version of H2OGPTE with `pip install h2ogpte==1.3.0-dev5`.\n", + "You can enable strict version checking by passing strict_version_check=True.\n", + "The results are:\n", + " The input question has malicious patterns, **SQL keywords does not start with SELECT, only SELECT queries are allowed.** that could lead to SQL Injection.\n", + "Sorry, I will not be able to provide an answer.\n", + "Please try rephrasing the question.\n", + "Exiting...\n" + ] + } + ], + "source": [ + "result = None\n", + "input_q = \"\"\"\n", + " 10; DROP TABLE sleep_health_and_lifestyle /*;\n", + " \"\"\"\n", + "question = f\"Execute SQL:\\n{input_q}\"\n", + "\n", + "result, _, error = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=None,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-nsql-llama-2-7B\",\n", + " is_regenerate=False,\n", + " is_regen_with_options=False,\n", + " execute_query=True,\n", + " guardrails=True,\n", + " local_base_path=base_path,\n", + " debug_mode=True,\n", + " self_correction=False\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "3d3c8150-7bb7-45bf-84e7-99a5d4607817", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 22:32:45.505\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m490\u001b[0m - \u001b[1mTable in use: ['sleep_health_and_lifestyle']\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.506\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m491\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.508\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m524\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.509\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m525\u001b[0m - \u001b[1mQuestion: Execute SQL:\n", + "\n", + " SELECT /*!32302 1/0, */ 1 FROM sleep_health_and_lifestyle;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.509\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m543\u001b[0m - \u001b[34m\u001b[1mTable info path: ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.510\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.511\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.512\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.513\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 21GB\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.524\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m467\u001b[0m - \u001b[1mUsing information info from path ./var/lib/tmp/sleep_health_and_lifestyle_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.525\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mExecuting user provided SQL without generation...\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.526\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m598\u001b[0m - \u001b[1mInput query: Execute SQL:\n", + "\n", + " SELECT /*!32302 1/0, */ 1 FROM sleep_health_and_lifestyle;\n", + " \u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.527\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m599\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "select /*!32302 1/0, */ 1 from sleep_health_and_lifestyle;\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.530\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m625\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "None\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.531\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m638\u001b[0m - \u001b[1mChecking for vulnerabilities in the provided SQL: select /*!32302 1/0, */ 1 from sleep_health_and_lifestyle;\u001b[0m\n", + "\u001b[32m2024-01-19 22:32:45.533\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mcheck_vulnerability\u001b[0m:\u001b[36m548\u001b[0m - \u001b[34m\u001b[1mRequesting additional scan using configured models\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Warning: Server version 1.3.0-dev5 doesn't match client version 1.2.7: unexpected errors may occur.\n", + "Please install the correct version of H2OGPTE with `pip install h2ogpte==1.3.0-dev5`.\n", + "You can enable strict version checking by passing strict_version_check=True.\n", + "The results are:\n", + " The input question has malicious patterns, **/*!32302 1/0, */** that could lead to SQL Injection.\n", + "Sorry, I will not be able to provide an answer.\n", + "Please try rephrasing the question. The query contains a comment with a SQL injection vulnerability. The comment `/*!32302 1/0, */` is not properly formatted and could be used to inject malicious SQL code.\n", + "Exiting...\n" + ] + } + ], + "source": [ + "result = None\n", + "input_q = \"\"\"\n", + " SELECT /*!32302 1/0, */ 1 FROM sleep_health_and_lifestyle;\n", + " \"\"\"\n", + "question = f\"Execute SQL:\\n{input_q}\"\n", + "\n", + "result, _, error = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=None,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-nsql-llama-2-7B\",\n", + " is_regenerate=False,\n", + " is_regen_with_options=False,\n", + " execute_query=True,\n", + " guardrails=True,\n", + " local_base_path=base_path,\n", + " debug_mode=True,\n", + " self_correction=False\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5260a38a-8fa1-4ac1-96e3-b1108cb1eee9", + "metadata": {}, + "source": [ + "**Note:**\n", + "\n", + "Examples shown above are not an exhaustive list but a WIP.\n", + "We have differrent levels of guardrails enabled for safe execution but at the same time we are updating/improving them as we learn further.\n", + "Don't hesitate to reach out." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/databricks_db.ipynb b/examples/notebooks/databricks_db.ipynb new file mode 100644 index 0000000..f48602f --- /dev/null +++ b/examples/notebooks/databricks_db.ipynb @@ -0,0 +1,1178 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "b69aaf22-a0c1-4f9d-b5b1-2ca0aa7130db", + "metadata": {}, + "outputs": [], + "source": [ + "# https://github.com/h2oai/sql-sidekick/releases\n", + "#!pip install --force-reinstall sql_sidekick-0.x.x-py3-none-any.whl" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "746d5a53-4ca8-445d-b795-4f79c77dffcb", + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "032a240c-5e9b-4982-b6e9-398ee6ce001e", + "metadata": {}, + "outputs": [], + "source": [ + "from sidekick import prompter" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "5173aef9-0e2d-4789-8c16-eff0c043c747", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0.1.9'" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "prompter.__version__" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4c92083f-c2d3-4bb9-a22d-479b4f40695a", + "metadata": {}, + "outputs": [], + "source": [ + "import logging\n", + "import sys\n", + "\n", + "logging.basicConfig(stream=sys.stdout, level=logging.INFO)\n", + "logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "023038c9-5758-45ec-a11d-99a64fe423b7", + "metadata": {}, + "outputs": [], + "source": [ + "from sidekick.prompter import db_setup, ask\n", + "from sidekick.schema_generator import generate_schema\n", + "from sidekick.utils import setup_dir, list_db_dialects" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "4bcb8e59-cd09-4f82-8606-0ad481953c04", + "metadata": {}, + "outputs": [], + "source": [ + "base_path = \"./\"\n", + "cache_path = f\"{base_path}/var/lib/tmp\"\n", + "setup_dir(base_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "57217aea-cf04-4710-9784-3fd1eba1970e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['bigquery',\n", + " 'clickhouse',\n", + " 'duckdb',\n", + " 'hive',\n", + " 'mysql',\n", + " 'oracle',\n", + " 'postgres',\n", + " 'presto',\n", + " 'redshift',\n", + " 'snowflake',\n", + " 'spark',\n", + " 'spark2',\n", + " 'sqlite',\n", + " 'starrocks',\n", + " 'tableau',\n", + " 'trino',\n", + " 'tsql',\n", + " 'databricks',\n", + " 'drill',\n", + " 'teradata']" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_db_dialects()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "304da340-1e5f-4562-a9b8-f0bd9dee59ff", + "metadata": {}, + "outputs": [], + "source": [ + "# env variables\n", + "import os\n", + "\n", + "os.environ['DATABRICKS_HOST'] = \"<>.cloud.databricks.com\" # e.g. <>.cloud.databricks.com\n", + "os.environ['DATABRICKS_CLUSTER_ID'] = \"0112-211956-zzzzz\" # e.g. 0232-316956-tsltsyz5\n", + "os.environ['DATABRICKS_TOKEN'] = \"\"\n", + "os.environ['OPENAI_API_KEY'] = \"\"\n", + "\n", + "os.environ['H2OGPT_URL'] = 'http://38.128.233.247'\n", + "os.environ['H2OGPT_API_TOKEN'] = \"\"\n", + "os.environ['H2OGPTE_URL'] = \"https://h2ogpte.genai.h2o.ai\" # e.g. https://<>.h2ogpte.h2o.ai\n", + "os.environ['H2OGPTE_API_TOKEN'] = \"\"" + ] + }, + { + "cell_type": "markdown", + "id": "81b24fab-049f-48bd-bafa-aa3da2ed2a2a", + "metadata": {}, + "source": [ + "# Scenario 1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b3c4683-8d1f-42f3-8118-25ebdc0ca1e1", + "metadata": {}, + "outputs": [], + "source": [ + "# 1. New dataset for QnA\n", + "# 2. Generate SQL syntax, but no access to Databricks cluster for runtime validation.\n", + "\n", + "HOST_NAME = \"localhost\"\n", + "USER_NAME = \"sqlite\"\n", + "PASSWORD = \"abc\"\n", + "DB_NAME = \"querydb\"\n", + "PORT = \"5432\"\n", + "\n", + "\n", + "# Given .csv file, auto-generate schema\n", + "# Download dataset --> https://www.kaggle.com/datasets/uom190346a/sleep-health-and-lifestyle-dataset\n", + "# Adjust data_path as needed.\n", + "data_path = \"./examples/demo/sleep_health_and_lifestyle_dataset.csv\"\n", + "table_name = \"sleep_health_eda_demo\"\n", + "\n", + "table_schema, table_info_path = generate_schema(data_path=data_path, output_path=f\"{cache_path}/{table_name}_table_info.jsonl\")\n", + "\n", + "# Set add_sample=False if no need to add rows to the table\n", + "response , err = db_setup(\n", + " db_name=DB_NAME,\n", + " hostname=HOST_NAME,\n", + " user_name=USER_NAME,\n", + " password=PASSWORD,\n", + " port=PORT,\n", + " table_info_path=table_info_path,\n", + " table_samples_path=data_path,\n", + " table_name=table_name,\n", + " local_base_path=base_path,\n", + " add_sample=True\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "fd3de067-1e85-4869-b5fc-9504dca7d273", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'.//var/lib/tmp/sleep_health_eda_demo_table_info.jsonl'" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "table_info_path" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "3a8859c2-20e2-43d9-9dff-72519a786e31", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'Column Name': 'Person_ID', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Gender',\n", + " 'Column Type': 'TEXT',\n", + " 'Sample Values': ['Male', 'Female']},\n", + " {'Column Name': 'Age', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Occupation',\n", + " 'Column Type': 'TEXT',\n", + " 'Sample Values': ['Accountant',\n", + " 'Salesperson',\n", + " 'Engineer',\n", + " 'Software Engineer',\n", + " 'Nurse',\n", + " 'Teacher',\n", + " 'Manager',\n", + " 'Lawyer',\n", + " 'Doctor',\n", + " 'Sales Representative']},\n", + " {'Column Name': 'Sleep_Duration', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Quality_of_Sleep', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Physical_Activity_Level', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Stress_Level', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'BMI_Category',\n", + " 'Column Type': 'TEXT',\n", + " 'Sample Values': ['Overweight', 'Normal', 'Obese', 'Normal Weight']},\n", + " {'Column Name': 'Blood_Pressure', 'Column Type': 'TEXT'},\n", + " {'Column Name': 'Heart_Rate', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Daily_Steps', 'Column Type': 'NUMERIC'},\n", + " {'Column Name': 'Sleep_Disorder',\n", + " 'Column Type': 'TEXT',\n", + " 'Sample Values': ['None', 'Sleep Apnea', 'Insomnia']}]" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "table_schema" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "606933f5-ecfb-4671-b9bf-cb531f4143e1", + "metadata": {}, + "outputs": [], + "source": [ + "# One could also decide to pass pre-configured table schema via for table creation\n", + "# Schema format:\n", + "\n", + "# [{'Column Name': 'Person_ID', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Gender',\n", + "# 'Column Type': 'TEXT',\n", + "# 'Sample Values': ['Male', 'Female']},\n", + "# {'Column Name': 'Age', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Occupation',\n", + "# 'Column Type': 'TEXT',\n", + "# 'Sample Values': ['Accountant',\n", + "# 'Manager',\n", + "# 'Sales Representative',\n", + "# 'Salesperson',\n", + "# 'Lawyer',\n", + "# 'Nurse',\n", + "# 'Teacher',\n", + "# 'Software Engineer',\n", + "# 'Doctor',\n", + "# 'Scientist']},\n", + "# {'Column Name': 'Sleep_Duration', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Quality_of_Sleep', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Physical_Activity_Level', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Stress_Level', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'BMI_Category',\n", + "# 'Column Type': 'TEXT',\n", + "# 'Sample Values': ['Overweight', 'Normal', 'Obese', 'Normal Weight']},\n", + "# {'Column Name': 'Blood_Pressure', 'Column Type': 'TEXT'},\n", + "# {'Column Name': 'Heart_Rate', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Daily_Steps', 'Column Type': 'NUMERIC'},\n", + "# {'Column Name': 'Sleep_Disorder',\n", + "# 'Column Type': 'TEXT',\n", + "# 'Sample Values': ['None', 'Sleep Apnea', 'Insomnia']}]\n", + "\n", + "\n", + "\n", + "\n", + "# response, err = db_setup(\n", + "# db_name=DB_NAME,\n", + "# hostname=HOST_NAME,\n", + "# user_name=USER_NAME,\n", + "# password=PASSWORD,\n", + "# port=PORT,\n", + "# table_name=table_name,\n", + "# table_schema = r,\n", + "# local_base_path=base_path,\n", + "# add_sample=False\n", + "# )" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "045271a5-a9b3-4b4d-b439-a84d5e4d93fe", + "metadata": {}, + "outputs": [], + "source": [ + "def query(question: str, table_name, table_info_path: str, sample_qna_path: str, regenerate=False, regenerate_with_options=False):\n", + " \"\"\"Asks question and returns SQL.\"\"\"\n", + " base_path = \".\"\n", + " # self_correction is enabled by default, set to False if not needed.\n", + " res = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=sample_qna_path,\n", + " table_name=table_name,\n", + " db_dialect=\"databricks\",\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-sqlcoder-34b-alpha\",\n", + " is_regenerate=regenerate,\n", + " is_regen_with_options=regenerate_with_options,\n", + " execute_query=False,\n", + " local_base_path=base_path,\n", + " )\n", + " sql_str = None\n", + " if res:\n", + " _tmp = res[0][1].split(\"```\")[1].replace(\"sql\", '')\n", + " sql_str = ' '.join(_tmp.split())\n", + " return sql_str" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "389a0464-c834-44dd-84fb-fb0c438e2a2d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:35:33.851\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m493\u001b[0m - \u001b[1mTable in use: ['sleep_health_eda_demo']\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.852\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m494\u001b[0m - \u001b[1mSQL dialect for generation: databricks\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.854\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m527\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.855\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m528\u001b[0m - \u001b[1mQuestion: What is the average sleep duration for each gender?\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.856\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m546\u001b[0m - \u001b[34m\u001b[1mTable info path: .//var/lib/tmp/sleep_health_eda_demo_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.857\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.857\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.859\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.860\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 22GB\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:33.860\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mload_embedding_model\u001b[0m:\u001b[36m98\u001b[0m - \u001b[34m\u001b[1mLoading embedding model from: ./models/sentence_transformers\u001b[0m\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1c00fb4eba874ab5849de7cb228362b6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Fetching 13 files: 0%| | 0/13 [00:00> or ->\n", + "- Use prepared statements with parameterized queries to prevent SQL injection\n", + "\n", + "\n", + "### Input:\n", + "For SQL TABLE 'sleep_health_eda_demo' with sample question/answer pairs,\n", + "(), create a valid SQL (dialect:databricks) query to answer the following question:\n", + "What is the average sleep duration for each gender?.\n", + "This query will run on a database whose schema is represented in this string:\n", + "CREATE TABLE 'sleep_health_eda_demo' (['Person_ID NUMERIC, Gender TEXT, Age NUMERIC, Occupation TEXT, Sleep_Duration NUMERIC, Quality_of_Sleep NUMERIC, Physical_Activity_Level NUMERIC, Stress_Level NUMERIC, BMI_Category TEXT, Blood_Pressure TEXT, Heart_Rate NUMERIC, Daily_Steps NUMERIC, Sleep_Disorder TEXT,']\n", + ");\n", + "\n", + "-- Table 'sleep_health_eda_demo', , has sample values ({'sleep_health_eda_demo': [\"'Gender' contains values similar to Male,Female.\", \"'Occupation' contains values similar to Accountant,Salesperson,Engineer,Software Engineer,Nurse,Teacher,Manager,Lawyer,Doctor,Sales Representative.\", \"'BMI_Category' contains values similar to Overweight,Normal,Obese,Normal Weight.\", \"'Sleep_Disorder' contains values similar to None,Sleep Apnea,Insomnia.\"]})\n", + "\n", + "### Response:\n", + "Based on your instructions, here is the SELECT SQL query I have generated to answer the question `What is the average sleep duration for each gender?`:\n", + "```SELECT\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:42.964\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m609\u001b[0m - \u001b[34m\u001b[1mGeneration with default temperature : 0.5\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:httpx:HTTP Request: POST http://38.128.233.247:5000/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "HTTP Request: POST http://38.128.233.247:5000/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "HTTP Request: POST http://38.128.233.247:5000/v1/chat/completions \"HTTP/1.1 200 OK\"\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:35:45.369\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m618\u001b[0m - \u001b[34m\u001b[1mGenerated tokens: \n", + "Gender, AVG(Sleep_Duration) AS Average_Sleep_Duration FROM sleep_health_eda_demo GROUP BY Gender ORDER BY Gender DESC;\n", + "\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:45.375\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m601\u001b[0m - \u001b[1mInput query: What is the average sleep duration for each gender?\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:45.377\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m602\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "SELECT `Gender`, AVG(`Sleep_Duration`) AS `Average_Sleep_Duration` FROM `sleep_health_eda_demo` GROUP BY `Gender` ORDER BY `Gender` DESC LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-19 09:35:45.384\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m628\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "[]\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exiting...\n" + ] + } + ], + "source": [ + "res = query(\"What is the average sleep duration for each gender?\", table_name=table_name, \n", + " table_info_path=table_info_path, sample_qna_path=None, regenerate=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "2ea92cd8-e362-4359-a1a0-2d07b47aaf71", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'SELECT `Gender`, AVG(`Sleep_Duration`) AS `Average_Sleep_Duration` FROM `sleep_health_eda_demo` GROUP BY `Gender` ORDER BY `Gender` DESC LIMIT 100'" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res" + ] + }, + { + "cell_type": "markdown", + "id": "58cf9a8d-d162-416e-8e13-714ecee2a179", + "metadata": {}, + "source": [ + "# Scenario 2" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "9e916d58-92cb-4adc-9c0c-afa3262c0071", + "metadata": {}, + "outputs": [], + "source": [ + "# 1. Connect to pre-configured Catalog/Schema on Databricks cluster\n", + "# 2. Retrieve information\n", + "# 3. Generate SQL syntax, execute against configured DB for the final result" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "b8409b8c-eab7-44fd-9c1f-b675502fa8d5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:databricks.sql.client:Successfully opened session 89def2e0-902d-4230-91f3-0b2f8404e628\n", + "Successfully opened session 89def2e0-902d-4230-91f3-0b2f8404e628\n", + "Successfully opened session 89def2e0-902d-4230-91f3-0b2f8404e628\n" + ] + } + ], + "source": [ + "# Retrieve information\n", + "from sidekick.db_config import DBConfig\n", + "\n", + "DBConfig.dialect = \"databricks\"\n", + "# Using a demo dataset from Databricks Catalog\n", + "config_args = {\n", + " \"catalog\": \"samples\",\n", + " \"schema\": \"nyctaxi\",\n", + " \"cluster_id\": os.environ.get(\"DATABRICKS_CLUSTER_ID\")\n", + "}\n", + "table_name = \"trips\" # sample table related to NYC Taxi dataset\n", + "DBConfig.table_name = table_name\n", + "column_info, table_info_path = DBConfig.get_column_info(output_path=f\"{cache_path}/{table_name}_table_info.jsonl\", **config_args)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "beed4542-52ba-4a6c-b2bb-c613155ad86c", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:36:07.870\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m493\u001b[0m - \u001b[1mTable in use: ['trips']\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.871\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m494\u001b[0m - \u001b[1mSQL dialect for generation: databricks\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.873\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m527\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.874\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m528\u001b[0m - \u001b[1mQuestion: Compute average trip distance\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.875\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m546\u001b[0m - \u001b[34m\u001b[1mTable info path: .//var/lib/tmp/trips_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.876\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m353\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.877\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m357\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.878\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m360\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.879\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m361\u001b[0m - \u001b[1mFree GPU memory: 22GB\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:07.880\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mload_embedding_model\u001b[0m:\u001b[36m98\u001b[0m - \u001b[34m\u001b[1mLoading embedding model from: .//models/sentence_transformers\u001b[0m\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9fc31d9146bc4ccb849762069ae003c1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Fetching 13 files: 0%| | 0/13 [00:00> or ->\n", + "- Use prepared statements with parameterized queries to prevent SQL injection\n", + "\n", + "\n", + "### Input:\n", + "For SQL TABLE 'trips' with sample question/answer pairs,\n", + "(), create a valid SQL (dialect:databricks) query to answer the following question:\n", + "Compute average trip distance.\n", + "This query will run on a database whose schema is represented in this string:\n", + "CREATE TABLE 'trips' (['tpep_pickup_datetime DATETIME, tpep_dropoff_datetime DATETIME, trip_distance FLOAT, fare_amount FLOAT, pickup_zip INTEGER, dropoff_zip INTEGER,']\n", + ");\n", + "\n", + "-- Table 'trips', , has sample values ({})\n", + "\n", + "### Response:\n", + "Based on your instructions, here is the SELECT SQL query I have generated to answer the question `Compute average trip distance`:\n", + "```SELECT\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:13.261\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m609\u001b[0m - \u001b[34m\u001b[1mGeneration with default temperature : 0.5\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:httpx:HTTP Request: POST http://38.128.233.247:5000/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "HTTP Request: POST http://38.128.233.247:5000/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "HTTP Request: POST http://38.128.233.247:5000/v1/chat/completions \"HTTP/1.1 200 OK\"\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:36:14.569\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m618\u001b[0m - \u001b[34m\u001b[1mGenerated tokens: AVG(trip_distance) AS average_trip_distance FROM trips;\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:14.572\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m601\u001b[0m - \u001b[1mInput query: Compute average trip distance\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:14.574\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m602\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "SELECT AVG(`trip_distance`) AS `average_trip_distance` FROM `trips` LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:14.579\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m628\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "[]\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:14.581\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m641\u001b[0m - \u001b[1mChecking for vulnerabilities in the provided SQL: SELECT AVG(`trip_distance`) AS `average_trip_distance` FROM `trips` LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:14.600\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mcheck_vulnerability\u001b[0m:\u001b[36m548\u001b[0m - \u001b[34m\u001b[1mRequesting additional scan using configured models\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Warning: Server version 1.3.0-dev3 doesn't match client version 1.2.7: unexpected errors may occur.\n", + "Please install the correct version of H2OGPTE with `pip install h2ogpte==1.3.0-dev3`.\n", + "You can enable strict version checking by passing strict_version_check=True.\n", + "INFO:databricks.sql.client:Successfully opened session 2371a48a-b7f8-4497-b844-68fa41ec06f2\n", + "Successfully opened session 2371a48a-b7f8-4497-b844-68fa41ec06f2\n", + "Successfully opened session 2371a48a-b7f8-4497-b844-68fa41ec06f2\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:36:30.379\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mexecute_query\u001b[0m:\u001b[36m268\u001b[0m - \u001b[34m\u001b[1mExecuting query:\n", + " SELECT AVG(\"trip_distance\") AS \"average_trip_distance\" FROM \"trips\" LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:30.558\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mexecute_query\u001b[0m:\u001b[36m291\u001b[0m - \u001b[1mError occurred : (databricks.sql.exc.ServerOperationError) \n", + "[PARSE_SYNTAX_ERROR] Syntax error at or near '\"average_trip_distance\"'.(line 1, pos 31)\n", + "\n", + "== SQL ==\n", + "SELECT AVG(\"trip_distance\") AS \"average_trip_distance\" FROM \"trips\" LIMIT 100\n", + "-------------------------------^^^\n", + "\n", + "[SQL: SELECT AVG(\"trip_distance\") AS \"average_trip_distance\" FROM \"trips\" LIMIT 100]\n", + "(Background on this error at: https://sqlalche.me/e/20/4xp6)\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:databricks.sql.client:Closing session 2371a48a-b7f8-4497-b844-68fa41ec06f2\n", + "Closing session 2371a48a-b7f8-4497-b844-68fa41ec06f2\n", + "Closing session 2371a48a-b7f8-4497-b844-68fa41ec06f2\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:36:30.689\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m666\u001b[0m - \u001b[1mAttempting to auto-correct the query...\u001b[0m\n", + "\u001b[32m2024-01-19 09:36:30.690\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m669\u001b[0m - \u001b[34m\u001b[1mAttempt: 1\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Warning: Server version 1.3.0-dev3 doesn't match client version 1.2.7: unexpected errors may occur.\n", + "Please install the correct version of H2OGPTE with `pip install h2ogpte==1.3.0-dev3`.\n", + "You can enable strict version checking by passing strict_version_check=True.\n", + "INFO:databricks.sql.client:Successfully opened session 856311f5-20ca-45a9-b58d-b3ea0a427ecc\n", + "Successfully opened session 856311f5-20ca-45a9-b58d-b3ea0a427ecc\n", + "Successfully opened session 856311f5-20ca-45a9-b58d-b3ea0a427ecc\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:36:48.508\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mexecute_query\u001b[0m:\u001b[36m268\u001b[0m - \u001b[34m\u001b[1mExecuting query:\n", + " SELECT AVG(`trip_distance`) AS `average_trip_distance` FROM `trips` LIMIT 100\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:databricks.sql.client:Closing session 856311f5-20ca-45a9-b58d-b3ea0a427ecc\n", + "Closing session 856311f5-20ca-45a9-b58d-b3ea0a427ecc\n", + "Closing session 856311f5-20ca-45a9-b58d-b3ea0a427ecc\n", + "The query results are:\n", + " [(2.8528291993434256,)]\n", + "Exiting...\n" + ] + } + ], + "source": [ + "input_q = \"Compute average trip distance\"\n", + "result, _, error = ask(\n", + " question=input_q,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=None,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-sqlcoder-34b-alpha\",\n", + " db_dialect=\"databricks\",\n", + " execute_db_dialect=\"databricks\",\n", + " is_regenerate=False,\n", + " is_regen_with_options=False,\n", + " execute_query=True,\n", + " local_base_path=base_path,\n", + " debug_mode=False,\n", + " guardrails=True,\n", + " self_correction=True\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0105c31c-fb21-4f81-a734-1b4c45f74b24", + "metadata": {}, + "outputs": [], + "source": [ + "?ask" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "30caae94-37a3-4563-b311-42833e402c39", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['**Generated response for question,**\\nCompute average trip distance\\n',\n", + " '``` sql\\nSELECT AVG(`trip_distance`) AS `average_trip_distance`\\nFROM `trips`\\nLIMIT 100\\n```\\n\\n',\n", + " '\\n',\n", + " '**Result:** \\n',\n", + " '[(2.8528291993434256,)]',\n", + " '\\n']" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "be504033-2da0-4a02-b710-04d0c5a5eb23", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:databricks.sql.client:Successfully opened session 84ea4e01-818d-4f1c-a4a2-7dbb94cd646a\n", + "Successfully opened session 84ea4e01-818d-4f1c-a4a2-7dbb94cd646a\n", + "Successfully opened session 84ea4e01-818d-4f1c-a4a2-7dbb94cd646a\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-19 09:37:58.015\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mexecute_query\u001b[0m:\u001b[36m268\u001b[0m - \u001b[34m\u001b[1mExecuting query:\n", + " SELECT SUM(`trip_distance`) AS `average_trip_distance`\n", + "FROM `trips`\n", + "LIMIT 1\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:databricks.sql.client:Closing session 84ea4e01-818d-4f1c-a4a2-7dbb94cd646a\n", + "Closing session 84ea4e01-818d-4f1c-a4a2-7dbb94cd646a\n", + "Closing session 84ea4e01-818d-4f1c-a4a2-7dbb94cd646a\n" + ] + }, + { + "data": { + "text/plain": [ + "([(62568.24999999994,)],\n", + " 'SELECT SUM(`trip_distance`) AS `average_trip_distance`\\nFROM `trips`\\nLIMIT 1')" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# One can make further changes and re-execute the query against the configured Database as required.\n", + "DBConfig.execute_query(\"SELECT SUM(`trip_distance`) AS `average_trip_distance`\\nFROM `trips`\\nLIMIT 1\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/sdk_quick_tutorial.ipynb b/examples/notebooks/sdk_quick_tutorial.ipynb new file mode 100644 index 0000000..de888d8 --- /dev/null +++ b/examples/notebooks/sdk_quick_tutorial.ipynb @@ -0,0 +1,1144 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 20, + "id": "60080b7e-2e80-4154-aa35-87c13b6ab371", + "metadata": {}, + "outputs": [], + "source": [ + "# https://github.com/h2oai/sql-sidekick/releases\n", + "#!python3 -m pip install --force-reinstall sql_sidekick-0.2.2-py3-none-any.whl" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f480e37a-4327-48da-8c84-aba0ac1eef23", + "metadata": {}, + "outputs": [], + "source": [ + "import logging\n", + "import sys\n", + "\n", + "logging.basicConfig(stream=sys.stdout, level=logging.INFO)\n", + "logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c91887ce-c74a-432b-a3f9-120c8abc0003", + "metadata": {}, + "outputs": [], + "source": [ + "from sidekick.prompter import db_setup, ask\n", + "from sidekick.schema_generator import generate_schema\n", + "from sidekick.utils import setup_dir, list_models" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9fc212c8-dc73-4330-a07f-7394fd198395", + "metadata": {}, + "outputs": [], + "source": [ + "base_path = \"./\"\n", + "cache_path = f\"{base_path}/var/lib/tmp\"\n", + "setup_dir(base_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "6421a995-f846-4a1e-8292-374bd7500382", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "f = pd.read_csv(\"./sleep_health_and_lifestyle_dataset.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "eac0fa65-bb06-415a-aa87-1185789f878d", + "metadata": {}, + "outputs": [], + "source": [ + "# Env variables\n", + "import os\n", + "\n", + "os.environ['OPENAI_API_KEY'] = \"\"\n", + "os.environ['H2OGPT_URL'] = 'http://38.128.233.247'\n", + "os.environ['H2OGPT_API_TOKEN'] = \"\"\n", + "# To get access to h2ogpte endpoint, reach out to cloud-feedback@h2o.ai\n", + "os.environ['H2OGPTE_URL'] = \"https://h2ogpte.genai.h2o.ai\" # e.g. https://<>.h2ogpte.h2o.ai\n", + "os.environ['H2OGPTE_API_TOKEN'] = \"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "62e23b39-caa8-4e2f-bf12-678dd586f0df", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Information supplied:\n", + " querydb, localhost, sqlite, abc, 5432\n", + "Database already exists!\n", + "Table name: sleep_health_eda\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-27 20:35:06.568\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36m_extract_schema_info\u001b[0m:\u001b[36m162\u001b[0m - \u001b[34m\u001b[1mUsing schema information from: .//var/lib/tmp/sleep_health_eda_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:06.572\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mcreate_table\u001b[0m:\u001b[36m186\u001b[0m - \u001b[34m\u001b[1mSchema info used for creating table:\n", + " Person_ID NUMERIC,\n", + "Gender TEXT COLLATE NOCASE,\n", + "Age NUMERIC,\n", + "Occupation TEXT COLLATE NOCASE,\n", + "Sleep_Duration NUMERIC,\n", + "Quality_of_Sleep NUMERIC,\n", + "Physical_Activity_Level NUMERIC,\n", + "Stress_Level NUMERIC,\n", + "BMI_Category TEXT COLLATE NOCASE,\n", + "Blood_Pressure TEXT COLLATE NOCASE,\n", + "Heart_Rate NUMERIC,\n", + "Daily_Steps NUMERIC,\n", + "Sleep_Disorder TEXT COLLATE NOCASE\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:06.578\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36mcreate_table\u001b[0m:\u001b[36m198\u001b[0m - \u001b[1mTable created: sleep_health_eda\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Checked table sleep_health_eda exists in the DB.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-27 20:35:06.586\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m222\u001b[0m - \u001b[34m\u001b[1mAdding sample values to table: ./sleep_health_and_lifestyle_dataset.csv\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:06.597\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m228\u001b[0m - \u001b[34m\u001b[1mInserting chunk: 0\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:06.755\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m233\u001b[0m - \u001b[1mData inserted into table: sleep_health_eda\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:06.759\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.db_config\u001b[0m:\u001b[36madd_samples\u001b[0m:\u001b[36m238\u001b[0m - \u001b[1mNumber of rows inserted: 2618\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Created a Database querydb. Inserted sample values from ./sleep_health_and_lifestyle_dataset.csv into table sleep_health_eda, please ask questions!\n" + ] + } + ], + "source": [ + "HOST_NAME = \"localhost\"\n", + "USER_NAME = \"sqlite\"\n", + "PASSWORD = \"abc\"\n", + "DB_NAME = \"querydb\"\n", + "PORT = \"5432\"\n", + "\n", + "\n", + "# Given .csv file, auto-generate schema\n", + "# Download dataset --> https://www.kaggle.com/datasets/uom190346a/sleep-health-and-lifestyle-dataset\n", + "data_path = \"./sleep_health_and_lifestyle_dataset.csv\"\n", + "table_name = \"sleep_health_eda\"\n", + "\n", + "r, table_info_path = generate_schema(data_path=data_path, output_path=f\"{cache_path}/{table_name}_table_info.jsonl\")\n", + "\n", + "llm_response, err = db_setup(\n", + " db_name=DB_NAME,\n", + " hostname=HOST_NAME,\n", + " user_name=USER_NAME,\n", + " password=PASSWORD,\n", + " port=PORT,\n", + " table_info_path=table_info_path,\n", + " table_samples_path=data_path,\n", + " table_name=table_name,\n", + " local_base_path=base_path\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "80dec22c-362e-41a0-8f34-0690465542e6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['h2ogpt-sql-sqlcoder2-4bit',\n", + " 'h2ogpt-sql-sqlcoder-34b-alpha-4bit',\n", + " 'h2ogpt-sql-nsql-llama-2-7B-4bit',\n", + " 'h2ogpt-sql-sqlcoder2',\n", + " 'h2ogpt-sql-sqlcoder-34b-alpha',\n", + " 'h2ogpt-sql-nsql-llama-2-7B',\n", + " 'gpt-3.5-turbo',\n", + " 'gpt-4-8k',\n", + " 'gpt-4-1106-preview-128k']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# List supported models\n", + "list_models()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2b3db015-1d9e-46b0-ad58-2f5aac0c6e4c", + "metadata": {}, + "outputs": [], + "source": [ + "# Use `list_models()` to check other supported models\n", + "\n", + "def query(\n", + " question: str,\n", + " table_name,\n", + " table_info_path: str,\n", + " sample_qna_path: str,\n", + " regenerate=False,\n", + " regenerate_with_options=False,\n", + "):\n", + " \"\"\"Asks question and returns SQL.\"\"\"\n", + " base_path = \"./\"\n", + " # self_correction is enabled by default, set to False if not needed.\n", + " res = ask(\n", + " question=question,\n", + " table_info_path=table_info_path,\n", + " sample_queries_path=sample_qna_path,\n", + " table_name=table_name,\n", + " is_command=False,\n", + " model_name=\"h2ogpt-sql-sqlcoder2-4bit\", #Other default model option: h2ogpt-sql-sqlcoder-34b-alpha\n", + " is_regenerate=regenerate,\n", + " is_regen_with_options=regenerate_with_options,\n", + " execute_query=False,\n", + " local_base_path=base_path,\n", + " )\n", + " return res" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "523f1a88-eea8-414c-89b1-b7a2b3126535", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-27 20:35:33.226\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m500\u001b[0m - \u001b[1mTable in use: ['sleep_health_eda']\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:33.229\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m501\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:33.231\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m534\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:33.232\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m535\u001b[0m - \u001b[1mQuestion: What is the average sleep duration for each gender?\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:33.234\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m553\u001b[0m - \u001b[34m\u001b[1mTable info path: .//var/lib/tmp/sleep_health_eda_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:33.235\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m355\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:33.236\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m359\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.049\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m362\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.055\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m363\u001b[0m - \u001b[1mFree GPU memory: 20GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.057\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36m__new__\u001b[0m:\u001b[36m83\u001b[0m - \u001b[1mLoading local model: h2ogpt-sql-sqlcoder2-4bit\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.058\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mload_causal_lm_model\u001b[0m:\u001b[36m382\u001b[0m - \u001b[1mTotal GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.059\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_load_llm\u001b[0m:\u001b[36m390\u001b[0m - \u001b[1mFree GPU memory: 20GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.060\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_load_llm\u001b[0m:\u001b[36m393\u001b[0m - \u001b[1mLoading model: defog/sqlcoder2 on device id: 0\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.062\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_load_llm\u001b[0m:\u001b[36m394\u001b[0m - \u001b[34m\u001b[1mModel cache: .//models/\u001b[0m\n", + "\u001b[32m2024-01-27 20:35:35.063\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_load_llm\u001b[0m:\u001b[36m432\u001b[0m - \u001b[34m\u001b[1mLoading in 4 bit mode: True with device {'': 0}\u001b[0m\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dec7435d27704941a96dcdb9951ed10e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading checkpoint shards: 0%| | 0/4 [00:00> or ->\n", + "- Use prepared statements with parameterized queries to prevent SQL injection\n", + "\n", + "\n", + "### Input:\n", + "For SQL TABLE 'sleep_health_eda' with sample question/answer pairs,\n", + "(), create a valid SQL (dialect:sqlite) query to answer the following question:\n", + "What is the average sleep duration for each gender?.\n", + "This query will run on a database whose schema is represented in this string:\n", + "CREATE TABLE 'sleep_health_eda' (['Person_ID NUMERIC, Gender TEXT, Age NUMERIC, Occupation TEXT, Sleep_Duration NUMERIC, Quality_of_Sleep NUMERIC, Physical_Activity_Level NUMERIC, Stress_Level NUMERIC, BMI_Category TEXT, Blood_Pressure TEXT, Heart_Rate NUMERIC, Daily_Steps NUMERIC, Sleep_Disorder TEXT,']\n", + ");\n", + "\n", + "-- Table 'sleep_health_eda', , has sample values ({'sleep_health_eda': [\"'Gender' contains values similar to Male,Female.\", \"'Occupation' contains values similar to Lawyer,Teacher,Doctor,Software Engineer,Scientist,Sales Representative,Accountant,Salesperson,Manager,Nurse.\", \"'BMI_Category' contains values similar to Overweight,Normal,Obese,Normal Weight.\", \"'Sleep_Disorder' contains values similar to None,Sleep Apnea,Insomnia.\"]})\n", + "\n", + "### Response:\n", + "Based on your instructions, here is the SELECT SQL query I have generated to answer the question `What is the average sleep duration for each gender?`:\n", + "```SELECT\u001b[0m\n", + "\u001b[32m2024-01-27 20:36:22.461\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mContext length: 743\u001b[0m\n", + "Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.\n", + "\u001b[32m2024-01-27 20:36:30.891\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m608\u001b[0m - \u001b[1mInput query: What is the average sleep duration for each gender?\u001b[0m\n", + "\u001b[32m2024-01-27 20:36:30.895\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m609\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "SELECT \"gender\", AVG(\"sleep_duration\") AS \"average_sleep_duration\" FROM \"sleep_health_eda\" GROUP BY \"gender\" LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-27 20:36:30.905\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m635\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "[]\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exiting...\n" + ] + } + ], + "source": [ + "res = query(\"What is the average sleep duration for each gender?\", table_name=\"sleep_health_eda\", \n", + " table_info_path=table_info_path, sample_qna_path=None)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b17e2b4f-8736-4d44-addc-db8d2be4ce51", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Question = **Generated response for question,**\n", + "What is the average sleep duration for each gender?\n", + "\n", + "----\n", + "Generated SQL = ``` sql\n", + "SELECT \"gender\",\n", + " AVG(\"sleep_duration\") AS \"average_sleep_duration\"\n", + "FROM \"sleep_health_eda\"\n", + "GROUP BY \"gender\"\n", + "LIMIT 100\n", + "```\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(f\"Question = {res[0][0]}\")\n", + "print(\"----\")\n", + "print(f\"Generated SQL = {res[0][1]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "03c5dfc0-c6f0-4573-b36d-56dc7bcbe8bc", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-27 20:39:50.016\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m500\u001b[0m - \u001b[1mTable in use: ['sleep_health_eda']\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.017\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m501\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.018\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m534\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.019\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m535\u001b[0m - \u001b[1mQuestion: What are the most common occupations among individuals in the dataset?\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.020\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m553\u001b[0m - \u001b[34m\u001b[1mTable info path: .//var/lib/tmp/sleep_health_eda_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.021\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m355\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.022\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m359\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.023\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m362\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.024\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m363\u001b[0m - \u001b[1mFree GPU memory: 8GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.038\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m469\u001b[0m - \u001b[1mUsing information info from path .//var/lib/tmp/sleep_health_eda_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.039\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m603\u001b[0m - \u001b[1mComputing user request ...\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.043\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36msemantic_search\u001b[0m:\u001b[36m155\u001b[0m - \u001b[34m\u001b[1mInput questions: # query: what are the most common occupations among individuals in the dataset?\u001b[0m\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e4589b85d3514f2ea3c88a505f15698c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Batches: 0%| | 0/1 [00:00> or ->\n", + "- Use prepared statements with parameterized queries to prevent SQL injection\n", + "\n", + "\n", + "### Input:\n", + "For SQL TABLE 'sleep_health_eda' with sample question/answer pairs,\n", + "(), create a valid SQL (dialect:sqlite) query to answer the following question:\n", + "What are the most common occupations among individuals in the dataset?.\n", + "This query will run on a database whose schema is represented in this string:\n", + "CREATE TABLE 'sleep_health_eda' (['Person_ID NUMERIC, Gender TEXT, Age NUMERIC, Occupation TEXT, Sleep_Duration NUMERIC, Quality_of_Sleep NUMERIC, Physical_Activity_Level NUMERIC, Stress_Level NUMERIC, BMI_Category TEXT, Blood_Pressure TEXT, Heart_Rate NUMERIC, Daily_Steps NUMERIC, Sleep_Disorder TEXT,']\n", + ");\n", + "\n", + "-- Table 'sleep_health_eda', , has sample values ({'sleep_health_eda': [\"'Gender' contains values similar to Male,Female.\", \"'Occupation' contains values similar to Lawyer,Teacher,Doctor,Software Engineer,Scientist,Sales Representative,Accountant,Salesperson,Manager,Nurse.\", \"'BMI_Category' contains values similar to Overweight,Normal,Obese,Normal Weight.\", \"'Sleep_Disorder' contains values similar to None,Sleep Apnea,Insomnia.\"]})\n", + "\n", + "### Response:\n", + "Based on your instructions, here is the SELECT SQL query I have generated to answer the question `What are the most common occupations among individuals in the dataset?`:\n", + "```SELECT\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.161\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mContext length: 749\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.162\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m651\u001b[0m - \u001b[1mRegeneration requested on previous query ...\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:50.163\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m652\u001b[0m - \u001b[34m\u001b[1mSelected temperature for fast regeneration : 0.8\u001b[0m\n", + "Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.\n", + "\u001b[32m2024-01-27 20:39:52.499\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m675\u001b[0m - \u001b[34m\u001b[1mTemperature saved: 0.8\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:52.512\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m608\u001b[0m - \u001b[1mInput query: What are the most common occupations among individuals in the dataset?\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:52.513\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m609\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "SELECT \"occupation\", COUNT(1) AS \"COUNT\" FROM \"sleep_health_eda\" GROUP BY \"occupation\" ORDER BY \"COUNT\" DESC LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:52.516\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m635\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "[]\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exiting...\n" + ] + } + ], + "source": [ + "# On using re-generation flag we toggle the temperature values between 0 and 1 alternating between low \n", + "# (focus/conservative generation and high values (random/creative generation)\n", + "res = query(\"What are the most common occupations among individuals in the dataset?\", table_name=\"sleep_health_eda\", \n", + " table_info_path=table_info_path, sample_qna_path=None, regenerate=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "cf2fc33d-ea21-4ab2-9019-329f5bc2051d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Question = **Generated response for question,**\n", + "What are the most common occupations among individuals in the dataset?\n", + "\n", + "----\n", + "Generated SQL = ``` sql\n", + "SELECT \"occupation\",\n", + " COUNT(1) AS \"COUNT\"\n", + "FROM \"sleep_health_eda\"\n", + "GROUP BY \"occupation\"\n", + "ORDER BY \"COUNT\" DESC\n", + "LIMIT 100\n", + "```\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(f\"Question = {res[0][0]}\")\n", + "print(\"----\")\n", + "print(f\"Generated SQL = {res[0][1]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "b47bef8d-c991-4581-a7fc-23a056911c3f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-01-27 20:39:56.595\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m500\u001b[0m - \u001b[1mTable in use: ['sleep_health_eda']\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.597\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m501\u001b[0m - \u001b[1mSQL dialect for generation: sqlite\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.598\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m534\u001b[0m - \u001b[1mSetting context...\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.599\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m535\u001b[0m - \u001b[1mQuestion: What is the average sleep duration for each gender?\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.601\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m553\u001b[0m - \u001b[34m\u001b[1mTable info path: .//var/lib/tmp/sleep_health_eda_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.602\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m355\u001b[0m - \u001b[1mNumber of GPUs: 1\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.604\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m359\u001b[0m - \u001b[34m\u001b[1mInformation on device: 0\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.605\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m362\u001b[0m - \u001b[1mTotal Memory: 23GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.607\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36mis_resource_low\u001b[0m:\u001b[36m363\u001b[0m - \u001b[1mFree GPU memory: 8GB\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.629\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36m_check_file_info\u001b[0m:\u001b[36m469\u001b[0m - \u001b[1mUsing information info from path .//var/lib/tmp/sleep_health_eda_table_info.jsonl\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.631\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m603\u001b[0m - \u001b[1mComputing user request ...\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.640\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.utils\u001b[0m:\u001b[36msemantic_search\u001b[0m:\u001b[36m155\u001b[0m - \u001b[34m\u001b[1mInput questions: # query: what is the average sleep duration for each gender?\u001b[0m\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5ed8c4c529c54952a30bfb4d99b7ec95", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Batches: 0%| | 0/1 [00:00> or ->\n", + "- Use prepared statements with parameterized queries to prevent SQL injection\n", + "\n", + "\n", + "### Input:\n", + "For SQL TABLE 'sleep_health_eda' with sample question/answer pairs,\n", + "(), create a valid SQL (dialect:sqlite) query to answer the following question:\n", + "What is the average sleep duration for each gender?.\n", + "This query will run on a database whose schema is represented in this string:\n", + "CREATE TABLE 'sleep_health_eda' (['Person_ID NUMERIC, Gender TEXT, Age NUMERIC, Occupation TEXT, Sleep_Duration NUMERIC, Quality_of_Sleep NUMERIC, Physical_Activity_Level NUMERIC, Stress_Level NUMERIC, BMI_Category TEXT, Blood_Pressure TEXT, Heart_Rate NUMERIC, Daily_Steps NUMERIC, Sleep_Disorder TEXT,']\n", + ");\n", + "\n", + "-- Table 'sleep_health_eda', , has sample values ({'sleep_health_eda': [\"'Gender' contains values similar to Male,Female.\", \"'Occupation' contains values similar to Lawyer,Teacher,Doctor,Software Engineer,Scientist,Sales Representative,Accountant,Salesperson,Manager,Nurse.\", \"'BMI_Category' contains values similar to Overweight,Normal,Obese,Normal Weight.\", \"'Sleep_Disorder' contains values similar to None,Sleep Apnea,Insomnia.\"]})\n", + "\n", + "### Response:\n", + "Based on your instructions, here is the SELECT SQL query I have generated to answer the question `What is the average sleep duration for each gender?`:\n", + "```SELECT\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.785\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m590\u001b[0m - \u001b[1mContext length: 743\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.787\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m677\u001b[0m - \u001b[1mRegeneration with options requested on previous query ...\u001b[0m\n", + "\u001b[32m2024-01-27 20:39:56.788\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m692\u001b[0m - \u001b[34m\u001b[1mSelected temperature for diverse beam search: 0.4\u001b[0m\n", + "/home/pramit/.jupyterven/lib/python3.8/site-packages/transformers/generation/configuration_utils.py:392: UserWarning: `do_sample` is set to `False`. However, `temperature` is set to `0.4` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `temperature`.\n", + " warnings.warn(\n", + "/home/pramit/.jupyterven/lib/python3.8/site-packages/transformers/generation/configuration_utils.py:407: UserWarning: `do_sample` is set to `False`. However, `top_k` is set to `5` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `top_k`.\n", + " warnings.warn(\n", + "Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.\n", + "\u001b[32m2024-01-27 20:42:01.434\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m727\u001b[0m - \u001b[1mGenerated options:\n", + "\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.440\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m748\u001b[0m - \u001b[1mAlternate options:\n", + "Option 1: (_probability_: 0.381034255027771)\n", + "``` sql\n", + "SELECT gender,\n", + " AVG(sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.444\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m748\u001b[0m - \u001b[1mAlternate options:\n", + "Option 2: (_probability_: 0.2624567449092865)\n", + "``` sql\n", + "SELECT AVG(sleep_duration) AS average_sleep_duration,\n", + " gender\n", + "FROM sleep_health_eda\n", + "GROUP BY gender\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.446\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m748\u001b[0m - \u001b[1mAlternate options:\n", + "Option 3: (_probability_: 0.22498156130313873)\n", + "``` sql\n", + "SELECT Gender,\n", + " AVG(Sleep_Duration) AS average_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY Gender\n", + "ORDER BY average_duration DESC NULLS LAST\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.451\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m748\u001b[0m - \u001b[1mAlternate options:\n", + "Option 4: (_probability_: 0.13085876405239105)\n", + "``` sql\n", + "SELECT 'Gender',\n", + " AVG('Sleep_Duration') AS average_sleep_duration\n", + "FROM'sleep_health_eda'\n", + "GROUP BY 'Gender'\n", + "ORDER BY average_sleep_duration DESC NULLS LAST\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.474\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.query\u001b[0m:\u001b[36mgenerate_sql\u001b[0m:\u001b[36m748\u001b[0m - \u001b[1mAlternate options:\n", + "Option 5: (_probability_: 0.0006686743581667542)\n", + "``` sql\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.488\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m608\u001b[0m - \u001b[1mInput query: What is the average sleep duration for each gender?\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.489\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m609\u001b[0m - \u001b[1mGenerated response:\n", + "\n", + "SELECT \"gender\", AVG(\"sleep_duration\") AS \"average_sleep_duration\" FROM \"sleep_health_eda\" GROUP BY \"gender\" ORDER BY \"average_sleep_duration\" DESC LIMIT 100\u001b[0m\n", + "\u001b[32m2024-01-27 20:42:01.492\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36msidekick.prompter\u001b[0m:\u001b[36mask\u001b[0m:\u001b[36m635\u001b[0m - \u001b[1mAlternate responses:\n", + "\n", + "['Option 1: (_probability_: 0.381034255027771)\\n``` sql\\nSELECT gender,\\n AVG(sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY gender\\nORDER BY average_sleep_duration DESC NULLS LAST\\nLIMIT 100;\\n```\\n\\n\\n', 'Option 2: (_probability_: 0.2624567449092865)\\n``` sql\\nSELECT AVG(sleep_duration) AS average_sleep_duration,\\n gender\\nFROM sleep_health_eda\\nGROUP BY gender\\nLIMIT 100;\\n```\\n\\n\\n', 'Option 3: (_probability_: 0.22498156130313873)\\n``` sql\\nSELECT Gender,\\n AVG(Sleep_Duration) AS average_duration\\nFROM sleep_health_eda\\nGROUP BY Gender\\nORDER BY average_duration DESC NULLS LAST\\nLIMIT 100;\\n```\\n\\n\\n', \"Option 4: (_probability_: 0.13085876405239105)\\n``` sql\\nSELECT 'Gender',\\n AVG('Sleep_Duration') AS average_sleep_duration\\nFROM'sleep_health_eda'\\nGROUP BY 'Gender'\\nORDER BY average_sleep_duration DESC NULLS LAST\\nLIMIT 100;\\n```\\n\\n\\n\", 'Option 5: (_probability_: 0.0006686743581667542)\\n``` sql\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\\nFROM sleep_health_eda\\nGROUP BY sleep_health_eda.gender\\nORDER BY average_sleep_duration DESC NULLS LAST;\\n\\nSELECT sleep_health_eda.gender,\\n AVG(sleep_health_eda\\nLIMIT 100;\\n```\\n\\n\\n']\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exiting...\n" + ] + } + ], + "source": [ + "# Alternate options\n", + "res = query(\"What is the average sleep duration for each gender?\", table_name=\"sleep_health_eda\", \n", + " table_info_path=table_info_path, sample_qna_path=None, regenerate_with_options=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "e415c0b9-466e-4417-ac1e-493914a83c36", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Question = **Generated response for question,**\n", + "What is the average sleep duration for each gender?\n", + "\n", + "----Options----\n", + "Option 1: (_probability_: 0.381034255027771)\n", + "``` sql\n", + "SELECT gender,\n", + " AVG(sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\n", + "Option 2: (_probability_: 0.2624567449092865)\n", + "``` sql\n", + "SELECT AVG(sleep_duration) AS average_sleep_duration,\n", + " gender\n", + "FROM sleep_health_eda\n", + "GROUP BY gender\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\n", + "Option 3: (_probability_: 0.22498156130313873)\n", + "``` sql\n", + "SELECT Gender,\n", + " AVG(Sleep_Duration) AS average_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY Gender\n", + "ORDER BY average_duration DESC NULLS LAST\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\n", + "Option 4: (_probability_: 0.13085876405239105)\n", + "``` sql\n", + "SELECT 'Gender',\n", + " AVG('Sleep_Duration') AS average_sleep_duration\n", + "FROM'sleep_health_eda'\n", + "GROUP BY 'Gender'\n", + "ORDER BY average_sleep_duration DESC NULLS LAST\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\n", + "Option 5: (_probability_: 0.0006686743581667542)\n", + "``` sql\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda.sleep_duration) AS average_sleep_duration\n", + "FROM sleep_health_eda\n", + "GROUP BY sleep_health_eda.gender\n", + "ORDER BY average_sleep_duration DESC NULLS LAST;\n", + "\n", + "SELECT sleep_health_eda.gender,\n", + " AVG(sleep_health_eda\n", + "LIMIT 100;\n", + "```\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(f\"Question = {res[0][0]}\")\n", + "print(\"----Options----\")\n", + "for _r in res[1]:\n", + " print(_r)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6308230-3595-400e-8f85-0a67bcdca029", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/sleep_eda/table_info.jsonl b/examples/sleep_eda/table_info.jsonl new file mode 100644 index 0000000..04fc5b7 --- /dev/null +++ b/examples/sleep_eda/table_info.jsonl @@ -0,0 +1,13 @@ +{"Column Name": "Person_ID", "Column Type": "uuid PRIMARY KEY"} +{"Column Name": "Gender", "Column Type": "TEXT", "Sample Values": ["Female", "Male"]} +{"Column Name": "Age", "Column Type": "NUMERIC"} +{"Column Name": "Occupation", "Column Type": "TEXT", "Sample Values": ["Accountant", "Doctor", "Engineer", "Lawyer","Manager", "Nurse", "Sales Representative", "Salesperson", "Scientist", "Software Engineer", "Teacher"]} +{"Column Name": "Sleep_Duration", "Column Type": "NUMERIC"} +{"Column Name": "Quality_of_Sleep", "Column Type": "NUMERIC"} +{"Column Name": "Physical_Activity_Level", "Column Type": "NUMERIC"} +{"Column Name": "Stress_Level", "Column Type": "NUMERIC"} +{"Column Name": "BMI_Category", "Column Type": "TEXT", "Sample Values": ["Normal", "Normal Weight", "Obese", "Overweight"]} +{"Column Name": "Blood_Pressure", "Column Type": "TEXT", "Sample Values": ["115/75", "115/78", "117/76", "118/75", "118/76", "119/77"]} +{"Column Name": "Heart_Rate", "Column Type": "NUMERIC"} +{"Column Name": "Daily_Steps", "Column Type": "NUMERIC"} +{"Column Name": "Sleep_Disorder", "Column Type": "TEXT", "Sample Values": ["Insomnia", "Sleep Apnea"]} diff --git a/examples/telemetry/samples.csv b/examples/telemetry/samples.csv new file mode 100644 index 0000000..6f2f598 --- /dev/null +++ b/examples/telemetry/samples.csv @@ -0,0 +1,27 @@ +query,answer +Total number of CPUs used?,SELECT sum((payload->'engineEvent'-> 'pausing' -> 'engine'->> 'cpu')::integer) AS total_cpus_used FROM telemetry WHERE payload->'engineEvent'-> 'pausing' -> 'engine'->> 'cpu' IS NOT NULL; +Find the number of AI units for each user using stream for each resource type (overall),"SELECT user_id, user_name, resource_type, date_trunc('day', ts) as start_day, + sum(AI_units) as AI_units FROM ( + SELECT user_id, user_name, resource_type, ts, + extract(epoch from ts - lag(ts) over (partition by user_id, resource_type order by ts)) / 3600 AS AI_units + FROM telemetry + WHERE stream = 'running' + ) sub GROUP BY user_id, user_name, resource_type, start_day +ORDER BY start_day DESC NULLS LAST;" +Compute global usage over time,"SELECT + ts AS time_interval, + GREATEST((GREATEST((ram_gi / 64.0), (cpu / 8.0)) - gpu), 0) + (gpu * 4.0) as ai_units +FROM ( + SELECT + -- This is a gauge stream, meaning multiple sources are exporting duplicate entries during the same hour interval + ts, + -- RAM usage in Gi + COALESCE(((payload->'usageGauge'->'billingResources'->>'paddedMemoryReservationBytes')::bigint/1024.0/1024.0/1024.0), 0) AS ram_gi, + -- CPU usage in vCPU + COALESCE(((payload->'usageGauge'->'billingResources'->'paddedCpuReservationMillicpu')::int/1000.0), 0) AS cpu, + -- GPU usage in number of GPUs + COALESCE(((payload->'usageGauge'->'billingResources'->'gpuCount')::int), 0) AS gpu + FROM telemetry + WHERE stream = 'gauage_resources' +) AS internal +ORDER BY 1, 2 DESC;" \ No newline at end of file diff --git a/examples/telemetry/table_info.jsonl b/examples/telemetry/table_info.jsonl new file mode 100644 index 0000000..9d957ba --- /dev/null +++ b/examples/telemetry/table_info.jsonl @@ -0,0 +1,10 @@ +{"Column Name": "id", "Column Type": "uuid PRIMARY KEY"} +{"Column Name": "ts", "Column Type": "TIMESTAMP WITH TIME ZONE NOT NULL"} +{"Column Name": "kind", "Column Type": "TEXT NOT NULL, -- or int?", "Sample Values": ["EVENT"]} +{"Column Name": "user_id", "Column Type": "TEXT"} +{"Column Name": "user_name", "Column Type": "TEXT"} +{"Column Name": "resource_type", "Column Type": "TEXT NOT NULL, -- or int?", "Sample Values": ["FEATURE_STORE", "PROJECT", "MLOPS_EXPERIMENT", "APP", "APP_INSTANCE", "MLOPS_DEPLOYMENT", "MLOPS_DATASET", "MLOPS_USER", "RESOURCE_TYPE_UNSPECIFIED", "SCORING", "DAI_ENGINE", "MLOPS_MODEL"]} +{"Column Name": "resource_id", "Column Type": "TEXT"} +{"Column Name": "stream", "Column Type": "TEXT NOT NULL", "Sample Values": ["air/h2o/cloud/mlops/deployment/created", "ai/h2o/cloud/appstore/instance/gauge/running", "ai/h2o/cloud/mlops/project/unshared", "ai/h2o/cloud/mlops/gauge/project", "ai/h2o/cloud/appstore/user/event/login", "ai/h2o/cloud/mlops/gauge/registered-model-version", "ai/h2o/cloud/appstore/instance/event/started", "ai/h2o/cloud/mlops/deployment/deleted", "ai/h2o/cloud/mlops/gauge/dataset", "ai/h2o/cloud/fs/job/running", "ai/h2o/engine/event/paused", "ai/h2o/cloud/mlops/project/deleted", "ai/h2o/engine/event/deleting", "ai/h2o/engine/event/pausing", "ai/h2o/cloud/mlops/gauge/deployment", "ai/h2o/cloud/usage/global/gauge/resources", "ai/h2o/cloud/mlops/gauge/registered-model", "ai/h2o/cloud/appstore/instance/event/suspended", "ai/h2o/cloud/usage/namespace/gauge/resources", "ai/h2o/cloud/mlops/registered-model-version/created", "ai/h2o/cloud/mlops/project/created", "ai/h2o/cloud/mlops/project/shared", "ai/h2o/cloud/mlops/experiment/created", "ai/h2o/cloud/mlops/dataset/created", "ai/h2o/cloud/appstore/app/event/created", "ai/h2o/cloud/appstore/instance/event/terminated", "ai/h2o/cloud/mlops/gauge/user", "ai/h2o/engine/event/starting", "ai/h2o/cloud/mlops/event/scoring-result/created", "ai/h2o/engine/event/running", "ai/h2o/cloud/fs/job/submitted", "ai/h2o/cloud/mlops/registered-model/created", "ai/h2o/cloud/mlops/gauge/experiment", "ai/h2o/document/ai/proxy", "ai/h2o/cloud/mlops/experiment/unlinked", "ai/h2o/cloud/fs/job/finished", "ai/h2o/cloud/appstore/app/event/deleted", "ai/h2o/cloud/appstore/instance/event/resumed"]} +{"Column Name": "source", "Column Type": "TEXT NOT NULL"} +{"Column Name": "payload", "Column Type": "jsonb NOT NULL", "Sample Values":[{"engineEvent": {"pausing": {"engine": {"cpu": "1", "memory": "1", "gpu": "0"}}}}]} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..3c210b9 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,90 @@ +[tool.poetry] +name = "sql-sidekick" +version = "0.2.2" +license = "Apache-2.0 license" +description = "An AI assistant for SQL generation" +authors = [ + "Pramit Choudhary ", + "Michal Malohlava " +] +readme = "README.md" +classifiers = [ + "Development Status :: Alpha", + "Environment :: CLI", + "Intended Audience :: Developers, Analysts", + "License :: Apache-2.0 license", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8+", + "Topic :: Scientific/Engineering", + "Topic :: Scientific/Engineering :: Artificial Intelligence" +] +packages = [{include = "sidekick"}] + +[tool.poetry.dependencies] +python = ">=3.8.1,<=3.10" +pandas = "^1.3.3" +numpy = "^1.21.2" +click = "^8.0.1" +sqlalchemy = "^2.0.25" +psycopg2-binary = "^2.9.6" +colorama = "^0.4.6" +llama_index = "^0.9.0" +loguru = "^0.7.0" +toml = "^0.10.2" +sqlglot = "^12.2.0" +sqlparse = "^0.4.4" +transformers = "^4.29.0" +sentence-transformers = "^2.2.2" +torch = "2.0.1" +sqlalchemy-utils = "^0.41.1" +h2o-wave = "0.26.3" +pandasql = "0.7.3" +accelerate = "0.21.0" +bitsandbytes = "0.41.0" +InstructorEmbedding = "^1.0.1" +h2ogpte = "1.2.7" +openai = "^1.3.0" +langchain-community = "^0.0.13" +python-dotenv = "^1.0.0" +databricks-sql-connector = "^3.0.1" + +[tool.poetry.scripts] +sql-sidekick = "sidekick.prompter:cli" + +[tool.poetry.dev-dependencies] +pylint = { version = "^2.12.2", allow-prereleases = true } +flake8 = { version = "^4.0.1", allow-prereleases = true } +black = { version = "21.12b0", allow-prereleases = true } +pytest = { version = "^7.4.4", allow-prereleases = true } + +[tool.black] +line-length = 120 +skip-string-normalization = true +target-version = ['py38.16'] +include = '\.pyi?$' +exclude = ''' +( + /( + \.eggs # exclude a few common directories in the + | \.git # root of the project + | \.hg + | \.mypy_cache + | \.tox + | \.venv + | _build + | buck-out + | build + | dist + )/ + | notebooks + | local +) +''' + +[tool.isort] +line_length = 120 +multi_line_output = 3 + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9599e5e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,112 @@ +accelerate==0.21.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +aiohttp==3.9.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +aiosignal==1.3.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +ansicon==1.89.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" and platform_system == "Windows" +anyio==4.2.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +async-timeout==4.0.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +attrs==23.2.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +beautifulsoup4==4.12.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +bitsandbytes==0.41.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +blessed==1.20.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +bs4==0.0.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +certifi==2023.11.17 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +charset-normalizer==3.3.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +click==8.1.7 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +colorama==0.4.6 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +databricks-sql-connector==3.0.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +dataclasses-json==0.6.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +deprecated==1.2.14 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +distro==1.9.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +editor==1.6.5 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +et-xmlfile==1.1.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +exceptiongroup==1.2.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +filelock==3.13.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +frozenlist==1.4.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +fsspec==2023.12.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +greenlet==3.0.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +h11==0.14.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +h2o-wave==0.26.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +h2ogpte==1.2.7 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +httpcore==0.17.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +httpx==0.24.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +huggingface-hub==0.20.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +idna==3.6 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +inquirer==3.2.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +instructorembedding==1.0.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +jinja2==3.1.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +jinxed==1.2.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" and platform_system == "Windows" +joblib==1.3.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +jsonpatch==1.33 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +jsonpointer==2.4 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +langchain-community==0.0.13 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +langchain-core==0.1.11 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +langsmith==0.0.81 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +llama-index==0.9.32 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +loguru==0.7.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +lxml==4.9.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +lz4==4.3.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +markupsafe==2.1.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +marshmallow==3.20.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +mpmath==1.3.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +multidict==6.0.4 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +mypy-extensions==1.0.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +nest-asyncio==1.5.9 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +networkx==3.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +nltk==3.8.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +numpy==1.24.4 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +oauthlib==3.2.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +openai==1.8.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +openpyxl==3.1.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +packaging==23.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pandas==1.5.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pandasql==0.7.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pillow==10.2.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +psutil==5.9.7 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +psycopg2-binary==2.9.9 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pyarrow==14.0.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pydantic==1.10.13 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pydantic[dotenv]==1.10.13 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +python-dateutil==2.8.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +python-dotenv==1.0.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pytz==2023.3.post1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +pyyaml==6.0.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +readchar==4.0.5 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +regex==2023.12.25 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +requests==2.31.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +runs==1.2.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +safetensors==0.4.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +scikit-learn==1.3.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +scipy==1.10.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sentence-transformers==2.2.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sentencepiece==0.1.99 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +setuptools==69.0.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +six==1.16.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sniffio==1.3.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +soupsieve==2.5 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sqlalchemy-utils==0.41.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sqlalchemy==2.0.25 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sqlalchemy[asyncio]==2.0.25 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sqlglot==12.4.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sqlparse==0.4.4 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +starlette==0.35.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +sympy==1.12 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +tenacity==8.2.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +threadpoolctl==3.2.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +thrift==0.16.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +tiktoken==0.5.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +tokenizers==0.15.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +toml==0.10.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +torch==2.0.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +torchvision==0.15.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +tqdm==4.66.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +transformers==4.36.2 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +typing-extensions==4.9.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +typing-inspect==0.9.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +urllib3==2.1.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +uvicorn==0.26.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +wcwidth==0.2.13 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +websockets==11.0.3 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +win32-setctime==1.1.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" and sys_platform == "win32" +wrapt==1.16.0 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +xmod==1.8.1 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" +yarl==1.9.4 ; python_full_version >= "3.8.1" and python_full_version <= "3.10.0" diff --git a/sidekick/__init__.py b/sidekick/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sidekick/configs/__init__.py b/sidekick/configs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sidekick/configs/data_template.py b/sidekick/configs/data_template.py new file mode 100644 index 0000000..0f7f662 --- /dev/null +++ b/sidekick/configs/data_template.py @@ -0,0 +1,11 @@ +# Reference: https://github.com/openai/openai-cookbook/blob/main/examples/Backtranslation_of_SQL_queries.py +question_query_samples = """ +{ + "question": "{}", + "query": "{}" +} +""" + +schema_info_template = {"Column Name": "", "Column Type": "", "Sample Values": []} + +data_samples_template = "'{column_name}' contains values similar to {comma_separated_sample_values}." diff --git a/sidekick/configs/env.toml b/sidekick/configs/env.toml new file mode 100644 index 0000000..82ed886 --- /dev/null +++ b/sidekick/configs/env.toml @@ -0,0 +1,32 @@ +[MODEL_INFO] +OPENAI_API_KEY = "" # Needed only for openAI models +MODEL_NAME = "h2ogpt-sql-sqlcoder-34b-alpha" # Others: e.g. gpt-4, gpt-4-32k, text-davinci-003 +QUANT_TYPE = '4bit' + +H2OGPT_URL = 'http://38.128.233.247' +H2OGPT_API_TOKEN = "" +H2OGPTE_URL = "" +H2OGPTE_API_TOKEN = "" + +RECOMMENDATION_MODEL = "h2oai/h2ogpt-4096-llama2-70b-chat" +VULNERABILITY_SCANNER = "h2oai/h2ogpt-4096-llama2-70b-chat" # other options openai models depending on availability (e.g. 'gpt-3.5-turbo') +SELF_CORRECTION_MODEL = "h2oai/h2ogpt-4096-llama2-70b-chat" # other options openai models depending on availability (e.g. 'gpt-3.5-turbo') + +[LOCAL_DB_CONFIG] +HOST_NAME = "localhost" +USER_NAME = "sqlite" +PASSWORD = "abc" +DB_NAME = "querydb" +PORT = "5432" + +[LOGGING] +LOG-LEVEL = "DEBUG" + +[DB-DIALECT] +DB_TYPE = "sqlite" + +[TABLE_INFO] +TABLE_INFO_PATH = "examples/demo/table_info.jsonl" +SAMPLE_QNA_PATH = "examples/demo/demo_qa.csv" +TABLE_SAMPLES_PATH = "examples/demo/demo_data.csv" +TABLE_NAME = "demo" diff --git a/sidekick/configs/prompt_template.py b/sidekick/configs/prompt_template.py new file mode 100644 index 0000000..2a254cd --- /dev/null +++ b/sidekick/configs/prompt_template.py @@ -0,0 +1,149 @@ +# Chain of thought for reasoning and task decomposition +# Reference: https://arxiv.org/pdf/2201.11903.pdf +TASK_PROMPT = { + "system_prompt": "Act as a Data Analyst", + "user_prompt": """ + ### For table {_table_name}, given an input *Question*, let's work it out in a detailed step by step way and only return specific, detailed and informative tasks as an ordered numeric list for SQL generation to be sure we have the right answer. + Use values that are explicitly mentioned in the *Question*. + Use the *History* and *Context* section for co-reference and to infer relationships and identify column names. *Context* contains entity mapping containing keys:values. + If the words in the *Question* do not match column names *Data* section; Search for them in *Context* section. + Always use *Context* with highest similarity score with the *Question*. + If words in the *Question* match more than one key, include both the values using "or" when forming step by step tasks. + If no information related to the *Question* is found; apply self reasoning and predict for possible tasks. + Infer the return type of the Question. + DO NOT generate SQL response, only return itemized tasks. + # *Data:* \nFor table {_table_name} schema info is mentioned below,\n{_data_info} + # *History*: \n{_sample_queries} + # *Question*: For table {_table_name}, {_question_str}, *Context*: {_context} + # Output: Tasks: ordered numeric list of tasks + """, +} + +# Few shot learning prompt +## Task Description +## Examples +## Prompt +# Reference: https://arxiv.org/pdf/2005.14165.pdf +QUERY_PROMPT = """ + ### System: Act as a SQL Expert + # For table {_table_name}, given an input *Question*, only generate syntactically correct {dialect} SQL queries. + # Let's work it out in a detailed step by step way using the reasoning from *Tasks* section. + # Pick the SQL query which has the highest average log probability if more than one result is likely to answer the + candidate *Question*. + ### {dialect} SQL tables + ### *Data:* \nFor table {_table_name} schema info is mentioned below,\n{_data_info} + ### *History*:\n{_sample_queries} + ### *Question*: For table {_table_name}, {_question} + # SELECT 1 + ### *Plan for table {_table_name}*:\n{_tasks} + ### *Policies for SQL generation*: + # Avoid overly complex SQL queries, favor concise human readable SQL queries which are easy to understand and debug + # Avoid patterns that might be vulnerable to SQL injection + # Use values and column names that are explicitly mentioned in the question or in the *Data* section. + # DO NOT query for columns that do not exist + # Validate column names with the table name when needed + # DO NOT USE aggregate and window function together + # Use COUNT(1) instead of COUNT(*) + # Return with LIMIT 100 + # Prefer NOT EXISTS to LEFT JOIN ON null id + # Avoid using the WITH statement + # When using DESC keep NULLs at the end + # Always cast the numerator as float when computing ratios + # If JSONB format found in Table schema, do pattern matching on keywords from the question and use SQL functions such as ->> or -> + # Use prepared statements with parameterized queries to prevent SQL injection + # Add explanation and reasoning for each SQL query + """ + +DEBUGGING_PROMPT = { +"system_prompt": "Act as a SQL expert for {dialect} database", +"user_prompt": """ +Help fix the provided incorrect SQL Query mentioned below in the *Query* section",\n +### Error: {ex_traceback}\n +### Query:\n {qry_txt}\n\n +### Output: Add '```sql' as prefix and '```' as suffix to generated SQL +""", +} + +GUARDRAIL_PROMPT = { +"system_prompt": "Act as a Security expert your job is to detect SQL injection vulnerabilities", +"user_prompt":""" +Help audit SQL injection patterns within the provided the SQL *Query*. +Flag as vulnerable if there are any known SQL injection string pattern is found in the *Query*, few *Examples* are provided below, +### *Examples*:\n +1. SELECT * FROM sleep_health_and_lifestyle_study WHERE UserId = 105; vulnerable: false +2. SELECT * FROM sleep_health_and_lifestyle_study WHERE UserId = 105 OR 1=1; vulnerable: true +\n +Only SELECT queries are allowed, flag as vulnerable if other SQL statements are found in the *Query* (e.g. DROP, INSERT, UPDATE, DELETE, etc.). +If there are more than one possible vulnerabilities, summarize in a single explanation.\n +### Query:\n {query_txt}\n\n +### Output: Return result as a valid dictionary string using the JSON schema format, don't add a separate Explanation section or after the json schema, \n{schema} +""" +} + +NSQL_QUERY_PROMPT = """ +For {dialect} SQL TABLE '{table_name}' with sample question/answer pairs,\n({sample_queries}) + +CREATE TABLE '{table_name}'({column_info} +) + +Table '{table_name}' has sample values ({data_info_detailed}) + + + +-- Using valid and syntactically correct {dialect} SQL syntax, answer the following questions (check for typos, grammatical and spelling errors and fix them) with the information for '{table_name}' provided above; for final SQL only use column names from the CREATE TABLE (Do not query for columns that do not exist). + + +-- Using reference for TABLES '{table_name}' {context}; {question_txt}? + +SELECT""" + +# https://colab.research.google.com/drive/13BIKsqHnPOBcQ-ba2p77L5saiepTIwu0#scrollTo=0eI-VpCkf-fN +STARCODER2_PROMPT = """ +### Instructions: +Your task is convert a question into a valid {dialect} syntax SQL query, given a {dialect} database schema. Let's work this out step by step to be sure we have the right answer. +Only use the column names from the CREATE TABLE statement. +Adhere to these rules: +- **Deliberately go through the question and database schema word by word** to appropriately answer the question +- **Use Table Aliases** to prevent ambiguity. For example, `SELECT table1.col1, table2.col1 FROM table1 JOIN table2 ON table1.id = table2.id`. +- Only use supplied table names: **{table_name}** for generation +- Only use column names from the CREATE TABLE statement: **{column_info}** for generation. DO NOT USE any other column names outside of this. +- Avoid overly complex SQL queries, favor concise human readable SQL queries which are easy to understand and debug +- Avoid patterns that might be vulnerable to SQL injection, e.g. use proper sanitization and escaping for raw user input +- Always cast the numerator as float when computing ratios +- Always use COUNT(1) instead of COUNT(*) +- If the question is asking for a rate, use COUNT to compute percentage +- Avoid using the WITH statement +- DO NOT USE aggregate and window function together +- Prefer NOT EXISTS to LEFT JOIN ON null id +- When using DESC keep NULLs at the end +- If JSONB format found in Table schema, do pattern matching on keywords from the question and use SQL functions such as ->> or -> +- Use prepared statements with parameterized queries to prevent SQL injection + + +### Input: +For SQL TABLE '{table_name}' with sample question/answer pairs,\n({sample_queries}), create a valid SQL (dialect:{dialect}) query to answer the following question:\n{question_txt}. +This query will run on a database whose schema is represented in this string: +CREATE TABLE '{table_name}' ({column_info} +); + +-- Table '{table_name}', {context}, has sample values ({data_info_detailed}) + +### Response: +Based on your instructions, here is the SELECT SQL query I have generated to answer the question `{question_txt}`: +```SELECT""" + + +RECOMMENDATION_PROMPT=""" +Generate {n_questions} simple questions for the given dataset. +Only use the specified column names mentioned in *Data Schema*. + +### Data Schema: +{data_schema} + + +Output: ordered numeric list of questions + + +### Response: +1. +""" diff --git a/sidekick/db_config.py b/sidekick/db_config.py new file mode 100644 index 0000000..2dac460 --- /dev/null +++ b/sidekick/db_config.py @@ -0,0 +1,295 @@ +# create db with supplied info +import json +from pathlib import Path +from typing import Any, Optional + +import pandas as pd +import sqlalchemy +from langchain_community.utilities import SQLDatabase +from psycopg2.extras import Json +from sidekick.configs.data_template import data_samples_template +from sidekick.logger import logger +from sidekick.schema_generator import generate_schema +from sqlalchemy import create_engine, text +from sqlalchemy.exc import SQLAlchemyError +from sqlalchemy.schema import CreateTable +from sqlalchemy_utils import database_exists + + +class DBConfig: + dialect = "sqlite" + _url = None + db_name = "default" + + def __init__( + self, + hostname, + user_name, + password, + port, + base_path, + schema_info_path=None, + schema_info=None + ) -> None: + self.hostname = hostname + self.user_name = user_name + self.password = password + self.port = port + self._table_name = None + self.schema_info_path = schema_info_path + self.schema_info = schema_info + self._engine = None + self.base_path = base_path + self.column_names = [] + + if self.dialect == "sqlite": + self._url = f"sqlite:///{base_path}/db/sqlite/{self.db_name}.db" + elif self.dialect == "postgresql": + self._url = f"{self.dialect}://{self.user_name}:{self.password}@{self.hostname}:{self.port}/" + else: + self._url = None # currently databricks is initialized _get_raw_table_schema + DBConfig._url = self._url + + @property + def table_name(self): + return self._table_name + + @table_name.setter + def table_name(self, val): + self._table_name = val.lower().replace(" ", "_") + + @property + def engine(self): + return self._engine + + def db_exists(self): + if self.dialect == "sqlite": + engine = create_engine(f"{self._url}", echo=True) + else: + engine = create_engine(f"{self._url}{self.db_name}", echo=True) + return database_exists(f"{engine.url}") + + @classmethod + def _get_raw_table_schema(cls, **config_args:Any): + if cls.dialect == "databricks": + _catalog = config_args.get("catalog", "samples") + _schema = config_args.get("schema", "default") + _cluster_id = config_args.get("cluster_id", None) + db = SQLDatabase.from_databricks(catalog=_catalog, schema=_schema, cluster_id=_cluster_id) + tbl = [_t for _t in db._metadata.sorted_tables if _t.name == cls.table_name.lower()][0] + cls.engine = db._engine + cls._url = db._engine.url + # TODO pending sqlite/postgresql + create_table_info = CreateTable(tbl).compile(cls.engine) if tbl is not None else '' + return str(create_table_info).strip() + + @classmethod + def get_column_info(cls, output_path: str, engine_format:bool=True, **config_args:Any): + # Getting raw info should help in getting all relevant information about the columns including - foreign keys, primary keys, etc. + raw_info = cls._get_raw_table_schema(**config_args) + c_info = [_c.strip().split("\n)")[0] for _c in raw_info.split("(\n\t")[1].split(",")[:-1]] + c_info_dict = dict([(f"{_c.split(' ')[0]}", _c.split(' ')[1]) for _c in c_info]) + column_info, output_path = generate_schema(output_path=output_path, column_info=c_info_dict) if engine_format else (c_info_dict, None) + return column_info, output_path + + def create_db(self): + engine = create_engine(self._url) + self._engine = engine + try: + with engine.connect() as conn: + # conn.execute("commit") + # Do not substitute user-supplied database names here. + if self.dialect != "sqlite": + conn.execute("commit") + res = conn.execute(f"CREATE DATABASE {self.db_name}") + self._url = f"{self._url}{self.db_name}" + return res, None + else: + logger.debug("SQLite DB is created successfully.") + + return True, None + except SQLAlchemyError as sqla_error: + logger.debug("SQLAlchemy error:", sqla_error) + return None, sqla_error + except Exception as error: + logger.debug("Error Occurred:", error) + return None, error + + + def _parser(self, file_handle=None, schema_info=None): + sample_values = [] + res = [] + _lines = file_handle if file_handle else schema_info + for line in _lines: + data = json.loads(line) if isinstance(line, str) and line.strip() else line + if "Column Name" in data and "Column Type" in data: + col_name = data["Column Name"] + self.column_names.append(col_name) + col_type = data["Column Type"] + if col_type.lower() == "text": + col_type = col_type + " COLLATE NOCASE" + # if column has sample values, save in cache for future use. + if "Sample Values" in data: + _sample_values = data["Sample Values"] + _ds = data_samples_template.format( + column_name=col_name, + comma_separated_sample_values=",".join( + str(_sample_val) for _sample_val in _sample_values + ), + ) + sample_values.append(_ds) + _new_samples = f"{col_name} {col_type}" + res.append(_new_samples) + return res, sample_values + + + def _extract_schema_info(self, schema=None, schema_path=None): + # From jsonl format + # E.g. {"Column Name": "id", "Column Type": "uuid PRIMARY KEY"} + res = [] + sample_values = [] + try: + if schema is not None: + logger.debug(f"Using passed schema information.") + res, sample_values = self._parser(schema_info=schema) + else: + if schema_path is None: + table_info_file = f"{self.base_path}/var/lib/tmp/data/table_context.json" + if Path(table_info_file).exists(): + with open(table_info_file, "w") as outfile: + schema_path = json.load(outfile)["schema_info_path"] + if Path(schema_path).exists(): + logger.debug(f"Using schema information from: {schema_path}") + with open(schema_path, "r") as in_file: + res, sample_values = self._parser(file_handle=in_file) + if len(sample_values) > 0: + # cache it for future use + with open( + f"{self.base_path}/var/lib/tmp/data/{self._table_name}_column_values.json", "w" + ) as outfile: + json.dump(sample_values, outfile, indent=2, sort_keys=False) + except ValueError as ve: + logger.error(f"Error in reading table context file: {ve}") + pass + return res + + def create_table(self, schema_info_path=None, schema_info=None): + try: + engine = create_engine(self._url, isolation_level="AUTOCOMMIT") + self._engine = engine + if self.schema_info is None and schema_info_path: + # If schema information is not provided, extract from the template. + self.schema_info = """,\n""".join(self._extract_schema_info(schema_path=schema_info_path)).strip() + else: + self.schema_info = """,\n""".join(self._extract_schema_info(schema=schema_info)).strip() + + logger.debug(f"Schema info used for creating table:\n {self.schema_info}") + # Currently, multiple tables is not supported. + # TODO https://github.com/h2oai/sql-sidekick/issues/62 + create_syntax = f""" + CREATE TABLE IF NOT EXISTS {self.table_name} ( + {self.schema_info} + ) + """ + with engine.connect() as conn: + if self.dialect != "sqlite": + conn.execute("commit") + conn.execute(text(create_syntax)) + logger.info(f"Table created: {self.table_name}") + return self.table_name, None + except SQLAlchemyError as sqla_error: + logger.debug("SQLAlchemy error:", sqla_error) + return None, sqla_error + except Exception as error: + logger.debug("Error Occurred:", error) + return None, error + + def has_table(self): + engine = create_engine(self._url) + return sqlalchemy.inspect(engine).has_table(self.table_name) + + def data_preview(self, table_name): + if table_name: + query_str = f"SELECT * FROM {table_name} LIMIT 10" + result = self.execute_query(query_str) + else: + result = "Table not found. Make sure uploaded dataset is registered." + return result + + def add_samples(self, data_csv_path=None): + conn_str = self._url + try: + logger.debug(f"Adding sample values to table: {data_csv_path}") + df_chunks = pd.read_csv(data_csv_path, chunksize=5000) + engine = create_engine(conn_str, isolation_level="AUTOCOMMIT") + + for idx, chunk in enumerate(df_chunks): + # Write rows to database + logger.debug(f"Inserting chunk: {idx}") + chunk.columns = self.column_names + # Make sure column names in the data-frame match the schema + chunk.to_sql(self.table_name, engine, if_exists="append", index=False, method="multi") + + logger.info(f"Data inserted into table: {self.table_name}") + # Fetch the number of rows from the table + sample_query = f"SELECT COUNT(*) AS ROWS FROM {self.table_name} LIMIT 1" + num_rows = pd.DataFrame(engine.connect().execute(text(sample_query))) + res = num_rows.values[0][0] if not num_rows.empty else 0 + logger.info(f"Number of rows inserted: {res}") + engine.dispose() + return res, None + except (SQLAlchemyError, AttributeError) as sqla_error: + logger.debug("SQLAlchemy error:", sqla_error) + return None, sqla_error + except Exception as error: + logger.debug("Error Occurred:", error) + return None, error + finally: + if engine: + engine.dispose() + + @classmethod + def execute_query(cls, query=None, n_rows=100): + output = [] + if cls.dialect == "sqlite" or cls.dialect == "databricks": + conn_str = cls._url + elif cls.dialect == "postgresql": + conn_str = f"{cls._url}{cls.db_name}" + else: + conn_str = None + + # Create an engine + engine = create_engine(conn_str) + # Create a connection + connection = engine.connect() + + try: + if query: + logger.debug(f"Executing query:\n {query}") + _query = text(query) + result = connection.execute(_query) + + # Process the query results + cnt = 0 + for row in result: + if cnt <= n_rows: + # Access row data using row[column_name] + output.append(row) + cnt += 1 + else: + break + # Close the connection + connection.close() + + # Close the engine + engine.dispose() + else: + logger.info("Query Empty or None!") + return output, query + except Exception as e: + err = f"Error occurred: {format(e)}" + logger.info(err) + return None, err + finally: + connection.close() + engine.dispose() diff --git a/sidekick/logger.py b/sidekick/logger.py new file mode 100644 index 0000000..b7a9999 --- /dev/null +++ b/sidekick/logger.py @@ -0,0 +1,9 @@ +from loguru import logger +import sys +import toml +from pathlib import Path + +logger.remove() +base_path = (Path(__file__).parent / "../").resolve() +env_settings = toml.load(f"{base_path}/sidekick/configs/env.toml") +logger.add(sys.stderr, level=env_settings["LOGGING"]["LOG-LEVEL"]) diff --git a/sidekick/memory.py b/sidekick/memory.py new file mode 100644 index 0000000..4ca2176 --- /dev/null +++ b/sidekick/memory.py @@ -0,0 +1,80 @@ +import json +import re +from pathlib import Path +from typing import Dict, List, Tuple + + +# Reference: https://python.langchain.com/en/latest/modules/memory/examples/custom_memory.html +class EntityMemory: + def __init__(self, k, path: str = None): + self.k = k + self.track_history: List = [] + self.track_entity: List = [] + self.path = path + + def extract_entity(self, question: str, answer: str) -> Tuple[List, List]: + # Currently, anything tagged between below tags are extracted respectively, + # 1. From Input text: some key + # 2. From Output text: some key + # TODO Chat mode for auto extraction of entities + c_k = re.findall(r"(.+?)", question) + c_val = re.findall(r"(.+?)", answer) + return (c_k, c_val) + + def save_context(self, info: str, extract_context: bool = True) -> Dict: + # Construct dictionary to record history + # { + # 'Query': + # 'Answer': + # } + # Extract info from the supplied text + split_token = ";" + query = " ".join(info.partition(":")[2].split(split_token)[0].strip().split()) + response = " ".join(info.partition(":")[2].split(split_token)[1].partition(":")[2].strip().split()) + + # Check if entity extraction is enabled + # Add logic for entity extraction + extracted_entity = None + if extract_context: + _k, _v = self.extract_entity(query, response) + k_v = " ".join(_k) + c_v = ", ".join(_v) + extracted_entity = {k_v: c_v} + self.track_entity.append(extracted_entity) + + chat_history = {} + if query.strip() and "SELECT".lower() in response.lower(): + # Remove and tags from the query/response before persisting + query = ( + query.lower().replace("", "").replace("", "").replace("", "").replace("", "") + ) + response = ( + response.lower() + .replace("", "") + .replace("", "") + .replace("", "") + .replace("", "") + ) + chat_history = {"Query": query, "Answer": response, "Entity": extracted_entity} + self.track_history.append(chat_history) + else: + raise ValueError("Response not valid. Please try again.") + # persist the information for future use + res = {"history": self.track_history, "entity": self.track_entity} + + # Persist added information locally + if chat_history: + # TODO: Persist history for each user. This flow is currently only affects openai models. + with open(f"{self.path}/var/lib/tmp/.cache/history.jsonl", "a") as outfile: + json.dump(chat_history, outfile) + outfile.write("\n") + if extract_context: + # Update context.json file for tracking entities + content_file_path = f"{self.path}/var/lib/tmp/data/context.json" + context_dict = extracted_entity + if Path(content_file_path).exists(): + context_dict = json.load(open(content_file_path, "r")) + context_dict.update(extracted_entity) + with open(content_file_path, "w") as outfile: + json.dump(context_dict, outfile, indent=4, sort_keys=False) + return res diff --git a/sidekick/prompter.py b/sidekick/prompter.py new file mode 100644 index 0000000..895bb06 --- /dev/null +++ b/sidekick/prompter.py @@ -0,0 +1,749 @@ +import gc +import json +import os +from pathlib import Path +from typing import Optional + +import click +import openai +import pandas as pd +import sqlparse +import toml +import torch +from colorama import Back as B +from colorama import Fore as F +from colorama import Style +from pandasql import sqldf +from sidekick.db_config import DBConfig +from sidekick.logger import logger +from sidekick.memory import EntityMemory +from sidekick.query import SQLGenerator +from sidekick.schema_generator import generate_schema +from sidekick.utils import (REMOTE_LLMS, _execute_sql, check_vulnerability, + execute_query_pd, extract_table_names, + generate_suggestions, save_query, setup_dir) + +__version__ = "0.2.2" + +# Load the config file and initialize required paths +app_base_path = (Path(__file__).parent / "../").resolve() +# Below check is to handle the case when the app is running on the h2o.ai cloud or locally +default_base_path = app_base_path if os.path.isdir("./.sidekickvenv/bin/") else "/meta_data" +env_settings = toml.load(f"{app_base_path}/sidekick/configs/env.toml") +db_dialect = env_settings["DB-DIALECT"]["DB_TYPE"] +model_name = env_settings["MODEL_INFO"]["MODEL_NAME"] +h2o_remote_url = env_settings["MODEL_INFO"]["H2OGPTE_URL"] +h2o_key = env_settings["MODEL_INFO"]["H2OGPTE_API_TOKEN"] +# h2ogpt base model urls +h2ogpt_base_model_url = env_settings["MODEL_INFO"]["H2OGPT_URL"] +h2ogpt_base_model_key = env_settings["MODEL_INFO"]["H2OGPT_API_TOKEN"] + +self_correction_model = env_settings["MODEL_INFO"]["SELF_CORRECTION_MODEL"] +recommendation_model = env_settings["MODEL_INFO"]['RECOMMENDATION_MODEL'] + +os.environ["TOKENIZERS_PARALLELISM"] = "False" +# Env variables +if not os.getenv("H2OGPT_URL"): + os.environ["H2OGPT_URL"] = h2ogpt_base_model_url +if not os.getenv("H2OGPT_API_TOKEN"): + os.environ["H2OGPT_API_TOKEN"] = h2ogpt_base_model_key +if not os.getenv("H2OGPTE_URL"): + os.environ["H2OGPTE_URL"] = h2o_remote_url +if not os.getenv("H2OGPTE_API_TOKEN"): + os.environ["H2OGPTE_API_TOKEN"] = h2o_key +if not os.getenv("SELF_CORRECTION_MODEL"): + os.environ["SELF_CORRECTION_MODEL"] = self_correction_model +if not os.getenv("RECOMMENDATION_MODEL"): + os.environ["RECOMMENDATION_MODEL"] = recommendation_model + +def color(fore="", back="", text=None): + return f"{fore}{back}{text}{Style.RESET_ALL}" + + +msg = """Welcome to the SQL Sidekick!\nI am an AI assistant that helps you with SQL queries. +I can help you with the following:\n +1. Configure a local database(for schema validation and syntax checking): `sql-sidekick configure db-setup`.\n +2. Learn contextual query/answer pairs: `sql-sidekick learn add-samples`.\n +3. Simply add context: `sql-sidekick learn update-context`.\n +4. Ask a question: `sql-sidekick query`. +""" + + +@click.group(help=msg) +@click.version_option("-V", "--version", message=f"sql-sidekick - {__version__}") +def cli(): + # Book-keeping + setup_dir(default_base_path) + + +@cli.group("configure") +def configure(): + """Helps in configuring local database.""" + + +def enter_table_name(): + val = input(color(F.GREEN, "", "Would you like to create a table for the database? (y/n): ")) + return val + + +def enter_file_path(table: str): + val = input(color(F.GREEN, "", f"Please input the CSV file path to table {table} : ")) + return val + + +@configure.command("log", help="Adjust log settings") +@click.option("--set_level", "-l", help="Set log level (Default: INFO)") +def set_loglevel(set_level): + env_settings["LOGGING"]["LOG-LEVEL"] = set_level + # Update settings file for future use. + f = open(f"{default_base_path}/sidekick/configs/env.toml", "w") + toml.dump(env_settings, f) + f.close() + + +def _get_table_info(cache_path: str, table_name: str = None): + # Search for the file in the default current path, if not present ask user to enter the path + if Path(f"{cache_path}/{table_name}_table_info.jsonl").exists(): + table_info_path = f"{cache_path}/{table_name}_table_info.jsonl" # input schema in jsonl format + else: + # Search for table related meta data in tables.json + # TODO: In future, metadata could be pushed on to a Db. + if Path(f"{cache_path}/tables.json").exists(): + f = open(f"{cache_path}/tables.json", "r") + table_metadata = json.load(f) + current_meta = table_metadata[table_name] + if "schema_info_path" in current_meta: + table_info_path = current_meta["schema_info_path"] + if table_info_path is None: + # if table_info_path is None, generate default schema n set path + data_path = current_meta["samples_path"] + _, table_info_path = generate_schema(data_path=data_path, output_path=f"{cache_path}/{table_name}_table_info.jsonl") + table_metadata = {"schema_info_path": table_info_path} + with open(f"{cache_path}/table_context.json", "w") as outfile: + json.dump(table_metadata, outfile, indent=4, sort_keys=False) + return table_info_path + + +def update_table_info(cache_path: str, table_info_path: str = None, table_name: str = None): + if Path(f"{cache_path}/table_context.json").exists(): + f = open(f"{cache_path}/table_context.json", "r") + table_metadata = json.load(f) + if table_name: + table_metadata["tables_in_use"] = [table_name] + if table_info_path: + table_metadata["schema_info_path"] = table_info_path + else: + table_metadata = dict() + if table_name: + table_metadata["tables_in_use"] = [table_name] + if table_info_path: + table_metadata["schema_info_path"] = table_info_path + + table_metadata["data_table_map"] = {} + with open(f"{cache_path}/table_context.json", "w") as outfile: + json.dump(table_metadata, outfile, indent=4, sort_keys=False) + +# Experimental, might change in future. +def recommend_suggestions(cache_path: str, table_name: str, n_qs: int=10): + column_names = [] + if cache_path is None: + path = f"{default_base_path}/var/lib/tmp/data" + logger.debug(f"Retrieve meta information for table {table_name}") + cache_path = _get_table_info(path, table_name) + logger.debug(f"Updated table info path: {cache_path}") + if Path(cache_path).exists(): + with open(cache_path, "r") as in_file: + for line in in_file: + if line.strip(): + data = json.loads(line) + if "Column Name" in data and "Column Type" in data: + col_name = data["Column Name"] + column_names.append(col_name) + try: + r_url = _key = None + # First check for keys in env variables + logger.debug(f"Checking environment settings ...") + env_url = os.environ["H2OGPTE_URL"] + env_key = os.environ["H2OGPTE_API_TOKEN"] + if env_url and env_key: + r_url = env_url + _key = env_key + elif Path(f"{app_base_path}/sidekick/configs/env.toml").exists(): + # Reload .env info + logger.debug(f"Checking configuration file ...") + env_settings = toml.load(f"{app_base_path}/sidekick/configs/env.toml") + r_url = env_settings["MODEL_INFO"]["H2OGPTE_URL"] + _key = env_settings["MODEL_INFO"]["H2OGPTE_API_TOKEN"] + else: + raise Exception("Model url or key is missing.") + + result = generate_suggestions(remote_url=r_url, client_key=_key, column_names=column_names, n_qs=n_qs + ) + except Exception as e: + logger.error(f"Something went wrong, check the supplied credentials:\n{e}") + result = None + return result + + + +@configure.command( + "generate_schema", help=f"Helps generate default schema for the selected Database dialect: {db_dialect}" +) +@click.option("--data_path", default="data.csv", help="Enter the path of csv", type=str) +@click.option("--output_path", default="table_info.jsonl", help="Enter the path of generated schema in jsonl", type=str) +def generate_input_schema(data_path, output_path): + _, o_path = generate_schema(data_path=data_path, output_path=output_path) + click.echo(f"Schema generated for the input data at {o_path}") + + +@configure.command("db-setup", help=f"Enter information to configure {db_dialect} database locally") +@click.option("--db_name", "-n", default="querydb", help="Database name", prompt="Enter Database name") +@click.option("--hostname", "-h", default="localhost", help="Database hostname", prompt="Enter hostname name") +@click.option("--user_name", "-u", default=f"{db_dialect}", help="Database username", prompt="Enter username name") +@click.option( + "--password", + "-p", + default="abc", + hide_input=True, + help="Database password", + prompt="Enter password", +) +@click.option("--port", "-P", default=5432, help="Database port", prompt="Enter port (default 5432)") +@click.option("--table-info-path", "-t", help="Table info path", default=None) +def db_setup_cli(db_name: str, hostname: str, user_name: str, password: str, port: int, table_info_path: str): + db_setup( + db_name=db_name, + hostname=hostname, + user_name=user_name, + password=password, + port=port, + table_info_path=table_info_path, + table_samples_path=None, + table_name=None, + is_command=True, + ) + + +def db_setup( + db_name: str, + hostname: str, + user_name: str, + password: str, + port: int, + table_name: str, + table_info_path: Optional[str] = None, + table_schema: Optional[list] = None, + table_samples_path: Optional[str] = None, + add_sample: bool=True, + is_command: bool = False, + local_base_path: Optional[str] = None +): + """Helps setup local database. + Args: + db_name (str): Database name. + hostname (str): Hostname. + user_name (str): Username. + password (str): Password. + port (int): Port. + table_name (str): Table name. + table_info_path (str): Table info path. + table_schema (list): Table schema. + table_samples_path (str): Table samples path. + add_sample (bool): Add sample rows. + is_command (bool): Is command line interface. + local_base_path (str): Local base path. + """ + click.echo(f" Information supplied:\n {db_name}, {hostname}, {user_name}, {password}, {port}") + try: + res = err = None + # To-DO + # --- Need to remove the below keys from ENV toml --- # + # env_settings["TABLE_INFO"]["TABLE_INFO_PATH"] = table_info_path + # env_settings["TABLE_INFO"]["TABLE_SAMPLES_PATH"] = table_samples_path + + # Update settings file for future use. + # Check if the env.toml exists. + env_config_fname = f"{app_base_path}/sidekick/configs/env.toml" + if Path(env_config_fname).exists(): + env_settings["LOCAL_DB_CONFIG"]["HOST_NAME"] = hostname + env_settings["LOCAL_DB_CONFIG"]["USER_NAME"] = user_name + env_settings["LOCAL_DB_CONFIG"]["PASSWORD"] = password + env_settings["LOCAL_DB_CONFIG"]["PORT"] = port + env_settings["LOCAL_DB_CONFIG"]["DB_NAME"] = db_name + f = open(env_config_fname, "w") + toml.dump(env_settings, f) + f.close() + base_path = local_base_path if local_base_path else default_base_path + path = f"{base_path}/var/lib/tmp/data" + # For current session + DBConfig.db_name = db_name + DBConfig.dialect = db_dialect + db_obj = DBConfig(hostname, user_name, password, port, base_path=base_path) + + # Create Database + if db_obj.dialect == "sqlite" and not os.path.isfile(f"{base_path}/db/sqlite/{db_name}.db"): + res, err = db_obj.create_db() + click.echo("Database created successfully!") + elif not db_obj.db_exists(): + res, err = db_obj.create_db() + click.echo("Database created successfully!") + else: + click.echo("Database already exists!") + + # Create Table in DB + val = enter_table_name() if is_command else "y" + while True: + if val.lower() != "y" and val.lower() != "n": + click.echo("In-correct values. Enter Yes(y) or no(n)") + val = enter_table_name() + else: + break + + if table_info_path is None and table_schema is None: + logger.debug(f"Retrieve meta information for table {table_name}") + table_info_path = _get_table_info(path, table_name) + logger.debug(f"Updated table info path: {table_info_path}") + + if val.lower() == "y" or val.lower() == "yes": + table_value = input("Enter table name: ") if is_command else table_name + click.echo(f"Table name: {table_value}") + # set table name + db_obj.table_name = table_value.lower().replace(" ", "_") + if table_schema: + res, err = db_obj.create_table(schema_info=table_schema) + else: + if table_info_path: + res, err = db_obj.create_table(schema_info_path=table_info_path) + + update_table_info(path, table_info_path, db_obj.table_name) + # Check if table exists; pending --> and doesn't have any rows + # Add rows to table + if db_obj.has_table(): + click.echo(f"Checked table {db_obj.table_name} exists in the DB.") + val = ( + input(color(F.GREEN, "", "Would you like to add few sample rows (at-least 3)? (y/n):")) + if is_command and not add_sample + else "y" + ) + val = "n" if not add_sample else "y" + if val.lower().strip() == "y" or val.lower().strip() == "yes": + val = input("Path to a CSV file to insert data from:") if is_command else table_samples_path + res, err = db_obj.add_samples(val) + else: + click.echo("Exiting...") + return None, err + else: + echo_msg = "Job done. Ask a question now!" + click.echo(echo_msg) + + if err is None: + click.echo( + f"Created a Database {db_name}. Inserted sample values from {table_samples_path} into table {table_name}, please ask questions!" + ) + return res, None + else: + return 0, err + except Exception as e: + error_msg = f"Error creating database. Check configuration parameters.\n: {e}" + click.echo(error_msg) + if not is_command: + return 0, error_msg + + +@cli.group("learn") +def learn(): + """Helps in learning and building memory.""" + + +def _add_context(entity_memory: EntityMemory): + _FORMAT = '''# Add input Query and Response \n\n +"Query": "";\n +"Response": """""" +''' + res = click.edit(_FORMAT.replace("\t", "")) + # Check if user has entered any value + if res: + try: + _ = entity_memory.save_context(res) + except ValueError as ve: + logger.info(f"Not a valid input. Try again") + + +@learn.command("add-samples", help="Helps add contextual query/answer pairs.") +def add_query_response(): + em = EntityMemory(k=5, path=default_base_path) + _add_context(em) + _more = "y" + while _more.lower() != "n" or _more.lower() != "no": + _more = click.prompt("Would you like to add more samples? (y/n)") + if _more.lower() == "y": + _add_context(em) + else: + break + + +@learn.command("update-context", help="Update context in memory for future use") +def update_context(): + """Helps learn context for generation.""" + # Book-keeping + setup_dir(default_base_path) + + context_dict = """{\n"": ""\n} + """ + content_file_path = f"{default_base_path}/var/lib/tmp/data/context.json" + context_str = context_dict + if Path(f"{default_base_path}/var/lib/tmp/data/context.json").exists(): + context_dict = json.load(open(content_file_path, "r")) + context_dict[""] = "" in context_dict: + del context_dict[""] + path = f"{default_base_path}/var/lib/tmp/data/" + with open(f"{path}/context.json", "w") as outfile: + json.dump(context_dict, outfile, indent=4, sort_keys=False) + else: + logger.debug("No content updated ...") + + +@cli.command() +@click.option("--question", "-q", help="Database name", prompt="Ask a question") +@click.option("--table-info-path", "-t", help="Table info path", default=None) +@click.option("--sample_qna_path", "-s", help="Samples path", default=None) +def query(question: str, table_info_path: str, sample_qna_path: str): + """Asks question and returns SQL.""" + ask( + question=question, + table_info_path=table_info_path, + sample_queries_path=sample_qna_path, + table_name=None, + is_command=True, + ) + +def data_preview(table_name): + hostname = env_settings["LOCAL_DB_CONFIG"]["HOST_NAME"] + user_name = env_settings["LOCAL_DB_CONFIG"]["USER_NAME"] + password = env_settings["LOCAL_DB_CONFIG"]["PASSWORD"] + port = env_settings["LOCAL_DB_CONFIG"]["PORT"] + + db_obj = DBConfig(hostname, user_name, password, port, base_path=default_base_path + ) + if not db_obj.table_name: + db_obj.table_name = table_name + q_res = db_obj.data_preview(table_name) + # Convert result to data-frame + res = pd.DataFrame(q_res[0]) if q_res and q_res[0] else pd.DataFrame() + return res + +def ask( + question: str, + table_info_path: str, + sample_queries_path: str, + table_name: str, + model_name: str = "h2ogpt-sql-nsql-llama-2-7B", + db_dialect = "sqlite", + execute_db_dialect="sqlite", + is_regenerate: bool = False, + is_regen_with_options: bool = False, + is_command: bool = False, + debug_mode: bool = False, + execute_query: bool = True, + guardrails: bool = True, + self_correction: bool = True, + local_base_path = None, +): + """Ask a question and returns generate SQL. + Args: + question (str): Question to ask. + table_info_path (str): Path to table info. + sample_queries_path (str): Path to sample queries. + table_name (str): Table name. + model_name (str): Model name. + db_dialect (str): Database dialect. + execute_db_dialect (str): Database dialect to execute. + is_regenerate (bool): Regenerate SQL. + is_regen_with_options (bool): Regenerate SQL with options. + is_command (bool): Is command line interface. + execute_query (bool): Execute SQL. + debug_mode (bool): Debug mode. + self_correction (bool): Self correction. + local_base_path (str): Local base path. + + Returns: + list: List of results. + """ + + results = [] + res = err = alt_res = None # TODO - Need to handle errors if occurred + # Book-keeping + base_path = local_base_path if local_base_path else default_base_path + setup_dir(base_path) + + # Check if table exists + path = f"{base_path}/var/lib/tmp/data" + table_context_file = f"{path}/table_context.json" + table_context = json.load(open(table_context_file, "r")) if Path(table_context_file).exists() else {} + table_names = [] + + if not model_name: + model_name = env_settings["MODEL_INFO"]["MODEL_NAME"] + if table_name is not None: + table_names = [table_name.lower().replace(" ", "_")] + elif table_context and "tables_in_use" in table_context: + _tables = table_context["tables_in_use"] + table_names = [_t.lower().replace(" ", "_") for _t in _tables] + else: + # Ask for table name only when more than one table exists. + table_names = [click.prompt("Which table to use?")] + table_context["tables_in_use"] = [_t.lower().replace(" ", "_") for _t in table_names] + with open(f"{path}/table_context.json", "w") as outfile: + json.dump(table_context, outfile, indent=4, sort_keys=False) + logger.info(f"Table in use: {table_names}") + logger.info(f"SQL dialect for generation: {db_dialect}") + # Check if env.toml file exists + api_key = os.getenv("OPENAI_API_KEY", None) + if (model_name == 'gpt-3.5-turbo-0301' or model_name == 'gpt-3.5-turbo-1106') and api_key is None: + api_key = env_settings["MODEL_INFO"]["OPENAI_API_KEY"] + if api_key is None: + if is_command: + val = input( + color( + F.GREEN, "", "Looks like API key is not set, would you like to set OPENAI_API_KEY? (y/n):" + ) + ) + if val.lower() == "y": + api_key = input(color(F.GREEN, "", "Enter OPENAI_API_KEY :")) + + if api_key is None and is_command: + return ["Looks like API key is not set, please set OPENAI_API_KEY!"], err + + if os.getenv("OPENAI_API_KEY", None) is None: + os.environ["OPENAI_API_KEY"] = api_key + env_settings["MODEL_INFO"]["OPENAI_API_KEY"] = api_key + + # Update settings file for future use. + f = open(f"{app_base_path}/sidekick/configs/env.toml", "w") + toml.dump(env_settings, f) + f.close() + if model_name: + if 'gpt-3.5' in model_name or 'gpt-4' in model_name: + openai.api_key = api_key + logger.info(f"OpenAI key found.") + sql_g = None + try: + # Set context + logger.info("Setting context...") + logger.info(f"Question: {question}") + # Get updated info from env.toml + host_name = env_settings["LOCAL_DB_CONFIG"]["HOST_NAME"] + user_name = env_settings["LOCAL_DB_CONFIG"]["USER_NAME"] + passwd = env_settings["LOCAL_DB_CONFIG"]["PASSWORD"] + db_name = env_settings["LOCAL_DB_CONFIG"]["DB_NAME"] + + if execute_db_dialect.lower() == "sqlite": + db_url = f"sqlite:///{base_path}/db/sqlite/{db_name}.db" + elif execute_db_dialect.lower() == "postgresql": + db_url = f"{execute_db_dialect}+psycopg2://{user_name}:{passwd}@{host_name}/{db_name}".format( + user_name, passwd, host_name, db_name + ) + elif execute_db_dialect.lower() == "databricks": + db_url = DBConfig._url + + if table_info_path is None: + table_info_path = _get_table_info(path, table_name) + logger.debug(f"Table info path: {table_info_path}") + + # Check if the model is present remotely + if model_name: + _remote_model = any(model_name.lower() in _m.lower() for _m in REMOTE_LLMS) + else: + _remote_model = False + sql_g = SQLGenerator( + db_url=db_url, + openai_key=api_key, + model_name=model_name, + job_path=base_path, + data_input_path=table_info_path, + sample_queries_path=sample_queries_path, + is_regenerate_with_options=is_regen_with_options, + is_regenerate=is_regenerate, + db_dialect=db_dialect, + debug_mode=debug_mode, + remote_model=_remote_model + ) + if model_name and "h2ogpt-sql" not in model_name and not _execute_sql(question): + sql_g._tasks = sql_g.generate_tasks(table_names, question) + results.extend(["I am thinking step by step: \n", sql_g._tasks, "\n"]) + click.echo(sql_g._tasks) + + updated_tasks = None + if sql_g._tasks is not None and is_command: + edit_val = click.prompt("Would you like to edit the tasks? (y/n)") + if edit_val.lower() == "y": + updated_tasks = click.edit(sql_g._tasks) + click.echo(f"Tasks:\n {updated_tasks}") + else: + click.echo("Skipping edit...") + if updated_tasks is not None: + sql_g._tasks = updated_tasks + + # The interface could also be used to simply execute user provided SQL + # Keyword: "Execute SQL: " + if ( + question is not None + and "select" in question.lower() + and (question.lower().startswith("question:") or question.lower().startswith("q:")) + ): + _q = question.lower().split("q:")[1].split("r:")[0].strip() + res = question.lower().split("r:")[1].strip() + question = _q + elif _execute_sql(question) and debug_mode: + logger.info("Executing user provided SQL without generation...") + res = question.strip().lower().split("execute sql:")[1].strip() + else: + logger.info("Computing user request ...") + _check_cond = question.strip().lower().split("execute sql:") + if len(_check_cond) > 1: + question = _check_cond[1].strip() + res, alt_res = sql_g.generate_sql(table_names, question, model_name=model_name) + logger.info(f"Input query: {question}") + logger.info(f"Generated response:\n\n{res}") + + if res is not None: + updated_sql = None + res_val = "e" + if is_command: + while res_val.lower() in ["e", "edit", "r", "regenerate"]: + res_val = click.prompt( + "Would you like to 'edit' or 'regenerate' the SQL? Use 'e' to edit or 'r' to regenerate. " + "To skip, enter 's' or 'skip'" + ) + if res_val.lower() == "e" or res_val.lower() == "edit": + updated_sql = click.edit(res) + click.echo(f"Updated SQL:\n {updated_sql}") + elif res_val.lower() == "r" or res_val.lower() == "regenerate": + click.echo("Attempting to regenerate...") + res, alt_res = sql_g.generate_sql( + table_names, question, model_name=model_name, _dialect=db_dialect + ) + res = res.replace("β€œ", '"').replace("”", '"') + [res := res.replace(s, '"') for s in "β€˜`’'" if s in res] + logger.info(f"Input query: {question}") + logger.info(f"Generated response:\n\n{res}") + pretty_sql = sqlparse.format(res, reindent=True, keyword_case="upper") + syntax_highlight = f"""``` sql\n{pretty_sql}\n```\n\n""" + results.extend([f"**Generated response for question,**\n{question}\n", syntax_highlight, "\n"]) + logger.info(f"Alternate responses:\n\n{alt_res}") + + exe_sql = "y" + if not execute_query: + if is_command: + exe_sql = click.prompt("Would you like to execute the generated SQL (y/n)?") + else: + exe_sql = "n" + + _val = updated_sql if updated_sql else res + if exe_sql.lower() == "y" or exe_sql.lower() == "yes": + # Before executing, check if known vulnerabilities exist in the generated SQL code. + if guardrails: + logger.info(f"Checking for vulnerabilities in the provided SQL: {_val}") + r, m = check_vulnerability(_val) if guardrails else (None, None) + q_res = m if r else None + + # For the time being, the default option is DB, but the user can be asked to select Database or pandas DF later. + option = "DB" # or DB + if option == "DB" and not r: + _val = _val.replace("β€œ", '"').replace("”", '"') + [_val := _val.replace(s, '"') for s in "β€˜`’'" if s in _val] + + q_res, err = DBConfig.execute_query(query=_val) + # Check for runtime/operational errors n attempt auto-correction + attempt = 0 + error_condition = lambda e: ('OperationalError'.lower() in e.lower() or 'OperationError'.lower() in e.lower() or 'Syntax error'.lower() in e.lower()) if e else False + if self_correction and error_condition(err): + logger.info("Attempting to auto-correct the query during runtime...") + while attempt !=3 and error_condition(err): + try: + logger.debug(f"Attempt: {attempt+1}") + _tmp = err.split("\n") + _err = _tmp[0].split("Error occurred:")[1] if len(_tmp) > 0 else None + env_url = os.environ["H2OGPTE_URL"] + env_key = os.environ["H2OGPTE_API_TOKEN"] + corr_sql = sql_g.self_correction(input_query=_val, error_msg=_err, remote_url=env_url, client_key=env_key) + q_res, err = DBConfig.execute_query(query=corr_sql) + if not 'Error occurred'.lower() in str(err).lower(): + err = None + attempt += 1 + except Exception as e: + logger.error(f"Something went wrong:\n{e}") + attempt += 1 + if m: + _t = "\n\n**Warning:**\n".join([str(q_res), m]) + q_res = _t + elif option == "pandas": + tables = extract_table_names(_val) + tables_path = dict() + if Path(f"{path}/table_context.json").exists(): + f = open(f"{path}/table_context.json", "r") + table_metadata = json.load(f) + for table in tables: + # Check if the local table_path exists in the cache + if table not in table_metadata["data_table_map"].keys(): + val = enter_file_path(table) + if not os.path.isfile(val): + click.echo("In-correct Path. Please enter again! Yes(y) or no(n)") + else: + tables_path[table] = val + table_metadata["data_table_map"][table] = val + break + else: + tables_path[table] = table_metadata["data_table_map"][table] + assert len(tables) == len(tables_path) + with open(f"{path}/table_context.json", "w") as outfile: + json.dump(table_metadata, outfile, indent=4, sort_keys=False) + try: + q_res = execute_query_pd(query=_val, tables_path=tables_path, n_rows=100) + except sqldf.PandaSQLException as e: + logger.error(f"Error in executing the query: {e}") + click.echo("Error in executing the query. Validate generated SQL and try again.") + click.echo("No result to display.") + + results.append("**Result:**\n") + if q_res: + # Check shape of the final result to avoid blowing up memory + # Logging a quick preview of the result + if isinstance(q_res, list) and len(q_res) > 10: + click.echo(f"Preview of the result:\n {pd.DataFrame(q_res).head(2)}") + else: + click.echo(f"The results are:\n {q_res}") + results.extend([str(q_res), "\n"]) + else: + click.echo(f"While executing query:\n {err}") + results.extend([str(err), "\n"]) + + save_sql = click.prompt("Would you like to save the generated SQL (y/n)?") if is_command else "n" + if save_sql.lower() == "y" or save_sql.lower() == "yes": + # Persist for future use + _val = updated_sql if updated_sql else res + save_query(base_path, query=question, response=_val) + else: + click.echo("Exiting...") + else: + results = ["I was not able to generate a response for the question. Please try re-phrasing or try again."] + alt_res, err = None, None + except (MemoryError, RuntimeError, AttributeError) as e: + logger.error(f"Something went wrong while generating response: {e}") + if sql_g: + del sql_g + gc.collect() + torch.cuda.empty_cache() + alt_res, err = None, e + results = ["Something went wrong while generating response. Please check the supplied API Keys and try again."] + return results, alt_res, err + + +if __name__ == "__main__": + cli() diff --git a/sidekick/query.py b/sidekick/query.py new file mode 100644 index 0000000..6a23600 --- /dev/null +++ b/sidekick/query.py @@ -0,0 +1,815 @@ +import gc +import json +import os +import random +import sys +from pathlib import Path + +import numpy as np +import openai +import sqlglot +import sqlparse +import torch +import torch.nn.functional as F +from llama_index import GPTVectorStoreIndex, ServiceContext, SQLDatabase +from llama_index.indices.struct_store import SQLContextContainerBuilder +from llama_index.indices.struct_store.sql import GPTSQLStructStoreIndex +from llama_index.llms import OpenAI as LOpenAI +from openai import OpenAI +from sidekick.configs.prompt_template import (DEBUGGING_PROMPT, + NSQL_QUERY_PROMPT, QUERY_PROMPT, + STARCODER2_PROMPT, TASK_PROMPT) +from sidekick.logger import logger +from sidekick.utils import (MODEL_CHOICE_MAP_EVAL_MODE, _check_file_info, + is_resource_low, load_causal_lm_model, + load_embedding_model, make_dir, re_rank, + read_sample_pairs, remove_duplicates, + semantic_search) +from sqlalchemy import create_engine + + +class SQLGenerator: + _instance = None + + def __new__( + cls, + db_url: str, + openai_key: str = None, + model_name="h2ogpt-sql-nsql-llama-2-7B-4bit", + data_input_path: str = "./table_info.jsonl", + sample_queries_path: str = "./samples.csv", + db_dialect = "sqlite", + job_path: str = "./", + device: str = "auto", + is_regenerate: bool = False, + is_regenerate_with_options: bool = False, + eval_mode = False, + remote_model = False, + debug_mode = False + ): + # TODO: If openai model then only tokenizer needs to be loaded. + offloading = is_resource_low(model_name) + n_gpus = torch.cuda.device_count() + # Initially load one model at a time if the user swapped the model dynamically when GPU = 1 + # If GPU > 1, load multiple models in memory separately on each device. + # TODO + # Support remote model loading as an option + + if ( + offloading + and is_regenerate_with_options + or (n_gpus == 1 and cls._instance and cls._instance.model_name and cls._instance.model_name != model_name) + ): + if ("gpt-3.5" not in cls._instance.model_name or "gpt-4" not in cls._instance.model_name) and ("gpt-3.5" not in model_name or "gpt-4" not in model_name) and cls._instance.models and cls._instance.models.get(cls._instance.model_name, None): + _name = cls._instance.model_name + del cls._instance.models[_name] + cls._instance.models[_name] = None + del cls._instance.tokenizers[_name] + cls._instance.tokenizers[_name] = None + + gc.collect() + torch.cuda.empty_cache() + logger.info(f"Low memory: {offloading}/ Model re-initialization: {is_regenerate_with_options}") + + if cls._instance is None or (cls._instance and hasattr(cls._instance, 'models') and not cls._instance.models.get(model_name, None)) or not hasattr(cls._instance, 'tokenizers'): + if cls._instance is None: + cls._instance = super().__new__(cls) + cls._instance.current_temps = {} + # Load local models only wen remote models are not selected. + if not remote_model: + if not debug_mode: + # Currently. Debug mode is using remote model + # This could change in future. + logger.info(f"Loading local model: {model_name}") + cls._instance.models, cls._instance.tokenizers = load_causal_lm_model( + model_name, + cache_path=f"{job_path}/models/", + device=device, + off_load=offloading, + re_generate=is_regenerate_with_options, + ) + else: + cls._instance.models = {} + cls._instance.model_name = "h2ogpt-sql-sqlcoder2-4bit" if not model_name else model_name + model_embed_path = f"{job_path}/models/sentence_transformers" + cls._instance.current_temps[cls._instance.model_name] = 0.5 + device = "cuda" if torch.cuda.is_available() else "cpu" if device == "auto" else device + if not debug_mode: + # Currently. Debug mode is using remote model + # This could change in future. + cls._instance.similarity_model = load_embedding_model(model_path=model_embed_path, device=device) + return cls._instance + + def __init__( + self, + db_url: str, + openai_key: str = None, + model_name="h2ogpt-sql-nsql-llama-2-7B-4bit", + data_input_path: str = "./table_info.jsonl", + sample_queries_path: str = "./samples.csv", + job_path: str = "./", + device: str = "cpu", + db_dialect = "sqlite", + is_regenerate: bool = False, + is_regenerate_with_options: bool = False, + eval_mode = False, + debug_mode = False, + remote_model = False + ): + self.db_url = db_url + self.engine = create_engine(db_url) if db_url else None + self.sql_database = SQLDatabase(self.engine) if self.engine else None + self.dialect = db_dialect + self.context_builder = None + self.data_input_path = _check_file_info(data_input_path) + self.sample_queries_path = sample_queries_path + self.path = job_path + self._data_info = None + self._tasks = None + self.model_name = model_name + self.openai_key = openai_key + self.content_queries = None + self.is_regenerate_with_options = is_regenerate_with_options + self.is_regenerate = is_regenerate + self.device = device + self.table_name = None, + self.eval_mode = eval_mode, + self.debug_mode = debug_mode, + self.remote_model = remote_model + self.openai_client = OpenAI() if openai_key else None + self.h2ogpt_client = None + + def clear(self): + del SQLGenerator._instance + SQLGenerator._instance = None + + def load_column_samples(self, tables: list): + # TODO: Maybe we add table name as a member variable + # Load column values if they exists + examples = {} + for _t in tables: + f_p = f"{self.path}/var/lib/tmp/data/{_t}_column_values.json" + if Path(f_p).exists(): + with open(f_p, "r") as f: + examples[_t] = json.load(f) + return examples + + def build_index(self, persist: bool = True): + # Below re-assignment of the OPENAI API key is weird but without that, it throws an error. + if self.openai_key: + os.environ["OPENAI_API_KEY"] = self.openai_key + openai.api_key = self.openai_key + + table_schema_index = self.context_builder.derive_index_from_context( + GPTVectorStoreIndex, + ) + if persist: + table_schema_index.save_to_disk(f"{self.path}/sql_index_check.json") + return table_schema_index + + def update_context_queries(self): + # Check if seed samples were provided + cache_path = f"{self.path}/var/lib/tmp/.cache/{self.table_name}/" + new_context_queries = [] + if self.sample_queries_path is not None and Path(self.sample_queries_path).exists(): + logger.info(f"Using QnA samples from path {self.sample_queries_path}") + new_context_queries = read_sample_pairs(self.sample_queries_path, "h2ogpt-sql") + # cache the samples for future use + make_dir(cache_path) + with open(f"{cache_path}/queries_cache.json", "w") as f: + json.dump(new_context_queries, f, indent=2) + elif self.sample_queries_path is None and Path(f"{cache_path}/queries_cache.json").exists(): + logger.info(f"Using samples from cache") + with open(f"{cache_path}/queries_cache.json", "r") as f: + new_context_queries = json.load(f) + # Read the history file and update the context queries + history_file = f"{self.path}/var/lib/tmp/.cache/{self.table_name}/history.jsonl" + try: + if Path(history_file).exists(): + with open(history_file, "r") as in_file: + for line in in_file: + # Format: + # """ + # # query: + # # answer: + # """ + if line.strip(): + data = json.loads(line) + if "Query" in data and "Answer" in data: + query = data["Query"] + response = data["Answer"] + _new_samples = f"""# query: {query}\n# answer: {response}""" + new_context_queries.append(_new_samples) + except ValueError as ve: + logger.error(f"Error in reading history file: {ve}") + pass + return new_context_queries + + def _query_tasks(self, question_str, data_info, sample_queries, table_name: list): + try: + context_file = f"{self.path}/var/lib/tmp/data/context.json" + additional_context = json.load(open(context_file, "r")) if Path(context_file).exists() else {} + + system_prompt = TASK_PROMPT["system_prompt"] + user_prompt = TASK_PROMPT["user_prompt"].format( + _table_name=",".join(table_name), + _data_info=data_info, + _sample_queries=sample_queries, + _context=str(additional_context).lower(), + _question_str=question_str, + ) + # Role and content + query_txt = [{"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt}] + + MODEL_CHOICE_MAP = MODEL_CHOICE_MAP_EVAL_MODE + m_name = MODEL_CHOICE_MAP.get(self.model_name) + + completion = self.openai_client.chat.completions.create( + model=m_name, + messages=query_txt, + max_tokens=512, + seed=42, + temperature=0.7 + ) + res = completion.choices[0].message.content + return res + except Exception as se: + _, ex_value, _ = sys.exc_info() + res = ex_value.statement if ex_value.statement else None + return res + + def self_correction(self, error_msg, input_query, remote_url, client_key): + try: + # Reference: Teaching Large Language Models to Self-Debug, https://arxiv.org/abs/2304.05128 + system_prompt = DEBUGGING_PROMPT["system_prompt"].format(dialect=self.dialect).strip() + user_prompt = DEBUGGING_PROMPT["user_prompt"].format(ex_traceback=error_msg, qry_txt=input_query).strip() + _response = [] + _res = input_query + self_correction_model = os.getenv("SELF_CORRECTION_MODEL", "h2oai/h2ogpt-4096-llama2-70b-chat") + if "h2ogpt-" in self_correction_model: + from h2ogpte import H2OGPTE + client = H2OGPTE(address=remote_url, api_key=client_key) + text_completion = client.answer_question( + system_prompt=system_prompt, + text_context_list=[], + question=user_prompt, + llm=self_correction_model) + _response = text_completion.content + elif 'gpt-3.5' in self_correction_model.lower() or 'gpt-4' in self_correction_model.lower(): + # Check if the API key is set, else inform user + _self_correction_model = MODEL_CHOICE_MAP_EVAL_MODE[self_correction_model.lower()] + query_msg = [{"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt}] + completion = self.openai_client.chat.completions.create( + model=_self_correction_model, + messages=query_msg, + max_tokens=512, + seed=42, + temperature=0.7 + ) + _response = completion.choices[0].message.content + else: + raise ValueError(f"Invalid model name: {self_correction_model}") + + _response = _response.split("```sql") + _idx = [_response.index(_r) for _r in _response if _r.lower().strip().startswith("select")] + _res = _response[_idx[0]].split("```")[0].strip() + if "SELECT".lower() not in _res.lower(): + _res = input_query + result = sqlglot.transpile(_res, identify=True, write=self.dialect)[0] + return result + except Exception as se: + # Another exception occurred, return the original SQL + logger.info(f"Error in self correction: {se}") + result = _res + return result + + + def generate_response( + self, sql_index, input_prompt, attempt_fix_on_error: bool = True + ): + try: + _sql_index = sql_index.as_query_engine() + response = _sql_index.query(input_prompt) + res = response.metadata["sql_query"] + return res + except Exception as se: + # Take the SQL and make an attempt for correction + _, ex_value, ex_traceback = sys.exc_info() + qry_txt = ex_value.statement + if attempt_fix_on_error: + try: + # Attempt to heal with simple feedback + # Reference: Teaching Large Language Models to Self-Debug, https://arxiv.org/abs/2304.05128 + logger.info(f"Attempting to fix syntax error ...,\n {se}") + system_prompt = DEBUGGING_PROMPT["system_prompt"].format(dialect=self.dialect) + user_prompt = DEBUGGING_PROMPT["user_prompt"].format(ex_traceback=ex_traceback, qry_txt=qry_txt) + # Role and content + query_msg = [{"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt}] + MODEL_CHOICE_MAP = MODEL_CHOICE_MAP_EVAL_MODE + m_name = MODEL_CHOICE_MAP.get(self.model_name, "gpt-3.5-turbo-1106") + + completion = self.openai_client.chat.completions.create( + model=m_name, + messages=query_msg, + max_tokens=512, + seed=42, + temperature=0.7 + ) + res = completion.choices[0].message.content + if "SELECT" not in res: + res = qry_txt + return res + except Exception as se: + # Another exception occurred, return the original SQL + res = qry_txt + return res + + def generate_tasks(self, table_names: list, input_question: str): + try: + # Step 1: Given a question, generate tasks to possibly answer the question and persist the result -> tasks.txt + # Step 2: Append task list to 'query_prompt_template', generate SQL code to answer the question and persist the result -> sql.txt + self.table_name = table_names[0] + context_queries: list = self.update_context_queries() + logger.info(f"Number of context queries found: {len(context_queries)}") + + # Remove duplicates from the context queries + m_path = f"{self.path}/models/sentence_transformers/" + duplicates_idx = remove_duplicates(context_queries, m_path) + updated_context = np.delete(np.array(context_queries), duplicates_idx).tolist() + + # Filter closest samples to the input question, threshold = 0.45 + filtered_context = ( + semantic_search( + input_question, + updated_context, + m_path, + threshold=0.9, + is_regenerate=True if (self.is_regenerate and not self.is_regenerate_with_options) else False, + ) + if len(updated_context) > 1 + else updated_context + ) + logger.info(f"Number of possible contextual queries to question: {len(filtered_context)}") + _queries = "\n".join(filtered_context) + self.content_queries = _queries + + # data info + input_file = self.data_input_path + data_info = "" + with open(input_file, "r") as in_file: + for line in in_file: + if line.strip(): + data = json.loads(line) + data_info += "\n" + json.dumps(data) + self._data_info = data_info + task_list = self._query_tasks(input_question, data_info, _queries, table_names) + with open(f"{self.path}/var/lib/tmp/data/tasks.txt", "w") as f: + f.write(task_list) + return task_list + except Exception as se: + raise se + + def generate_sql( + self, + table_names: list, + input_question: str, + model_name: str = "h2ogpt-sql-nsql-llama-2-7B", + ): + # TODO: Update needed to support multiple tables + table_name = str(table_names[0].replace(" ", "_")).lower() + self.table_name = table_name + alternate_queries = [] + describe_keywords = ["describe table", "describe", "describe table schema", "describe data"] + enable_describe_qry = any([True for _dk in describe_keywords if _dk in input_question.lower()]) + + if input_question is not None and enable_describe_qry: + result = f"""SELECT "name" from PRAGMA_TABLE_INFO("{table_name}")""" + else: + context_file = f"{self.path}/var/lib/tmp/data/context.json" + additional_context = json.load(open(context_file, "r")) if Path(context_file).exists() else {} + table_context_dict = {table_name: str(additional_context).lower()} + context_queries = self.content_queries + self.context_builder = SQLContextContainerBuilder(self.sql_database, context_dict=table_context_dict) + + if model_name and "h2ogpt-sql" not in model_name: + _tasks = self.task_formatter(self._tasks) + + # TODO: The need to pass data info again could be eliminated if Task generation becomes more consistent and accurate. + query_str = QUERY_PROMPT.format( + dialect=self.dialect, + _data_info=self._data_info, + _question=input_question, + _table_name=table_names, + _sample_queries=context_queries, + _tasks=_tasks, + ) + + logger.debug(f"Query Text:\n {query_str}") + # Reference: https://github.com/jerryjliu/llama_index/issues/987 + model_choices = MODEL_CHOICE_MAP_EVAL_MODE + m_name = model_choices.get(model_name, "gpt-3.5-turbo-1106") + + llm_predictor_gpt3 = LOpenAI(temperature=0.7, model_name=m_name, max_tokens=512, seed=42) + service_context_gpt3 = ServiceContext.from_defaults( + llm=llm_predictor_gpt3, chunk_size_limit=512 + ) + + table_schema_index = self.build_index(persist=False) + self.context_builder.query_index_for_context(table_schema_index, query_str, store_context_str=True) + + index = GPTSQLStructStoreIndex( + [], sql_database=self.sql_database, table_name=table_names, service_context=service_context_gpt3 + ) + + result = self.generate_response(sql_index=index, input_prompt=query_str) + try: + # Check if `SQL` is formatted ---> ``` SQL_text ``` + if "```" in str(result): + res = ( + str(result) + .split("```", 1)[1] + .split(";", 1)[0] + .strip() + .replace("```", "") + .replace("sql\n", "") + .strip() + ) + else: + res = str(result).split("Explanation:", 1)[0].strip() + res = sqlglot.transpile(res, identify=True, write=self.dialect)[0] + result = res + except (sqlglot.errors.ParseError, ValueError, RuntimeError) as e: + logger.info("We did the best we could, there might be still be some error:\n") + logger.info(f"Realized query so far:\n {res}") + else: + if self.h2ogpt_client is None: + # Check if env variable has info about remote hosting + remote_h2ogpt_base_url = os.environ.get("H2OGPT_URL", None) + if model_name == 'h2ogpt-sql-sqlcoder-34b-alpha': + remote_h2ogpt_base_url = f"{remote_h2ogpt_base_url}:5000/v1" + elif model_name == 'h2ogpt-sql-sqlcoder2': + remote_h2ogpt_base_url = f"{remote_h2ogpt_base_url}:5001/v1" + elif model_name == 'h2ogpt-sql-nsql-llama-2-7B': + remote_h2ogpt_base_url = f"{remote_h2ogpt_base_url}:5002/v1" + else: + remote_h2ogpt_base_url = None + remote_h2ogpt_key = os.environ.get("H2OGPT_API_TOKEN", None) + _api_key = remote_h2ogpt_key if remote_h2ogpt_key else "EMPTY" + if remote_h2ogpt_base_url: + client_args = dict(base_url=remote_h2ogpt_base_url, api_key=_api_key, timeout=20.0) + self.h2ogpt_client = OpenAI(**client_args) + + # TODO Update needed for multiple tables + columns_w_type = ( + self.context_builder.full_context_dict[table_name] + .split(":")[2] + .split(" and foreign keys")[0] + .strip().replace("(", "").replace(")", "") + ) + data_samples_list = self.load_column_samples(table_names) + + _context = { + "if patterns like 'current time' or 'now' occurs in question": "always use NOW() - INTERVAL", + "if patterns like 'total number', or 'List' occurs in question": "always use DISTINCT", + "detailed summary": "include min, avg, max for numeric columns", + "summary": "include min, avg, max for numeric columns", + } + + m_path = f"{self.path}/models/sentence_transformers/" + filtered_context = semantic_search( + model_obj=self.similarity_model, + input_q=input_question, + probable_qs=list(_context.keys()), + model_path=m_path, + threshold=0.90, + ) + logger.debug(f"Filter Context: {filtered_context}") + + contextual_context = [] + for _item in filtered_context: + _val = _context.get(_item, None) + if _val: + contextual_context.append(f"{_item}: {_val}") + + logger.info("Filtering Question/Query pairs ...") + context_queries: list = self.update_context_queries() + logger.info(f"Number of context queries found: {len(context_queries)}") + + # Remove duplicates from the context queries + m_path = f"{self.path}/models/sentence_transformers/" + # duplicates_idx = remove_duplicates(context_queries, m_path, similarity_model=self.similarity_model) + # updated_context = np.delete(np.array(context_queries), duplicates_idx).tolist() + + # Filter closest samples to the input question, threshold = 0.9 + filtered_context = ( + semantic_search( + input_q=input_question, + probable_qs=context_queries, + model_path=m_path, + model_obj=self.similarity_model, + threshold=0.9, + is_regenerate=True if (self.is_regenerate and not self.is_regenerate_with_options) else False, + ) + if len(context_queries) > 1 + else context_queries + ) + logger.info(f"Number of possible contextual queries to question: {len(filtered_context)}") + # If QnA pairs > 5, we keep top 5 for focused context + # Most relevant match is closest to the generation post re-ranking + _samples = filtered_context + _samples = re_rank(input_question, _samples) + if len(filtered_context) > 5: + _samples = filtered_context[0:5][::-1] + _samples = re_rank(input_question, _samples) + + qna_samples = "\n".join(_samples) + + contextual_context_val = ", ".join(contextual_context) + column_names = columns_w_type.strip().split(",") + clmn_names = [i.split(" ")[0].strip() for i in column_names if i] + clmn_types = [i.split(" ")[1].strip() for i in column_names if i] + clmn_info_map = dict(zip(clmn_names, clmn_types)) + + context_columns = [] + if len(_samples) > 2: + # Check for the columns in the QnA samples provided, if exists keep them + context_columns = [_c for _c in clmn_names if _c.lower().strip() in qna_samples.lower()] + + # To be safe, when we have more than 2 samples, we check for the column names in the question as well + first_pass = [_c for _c in clmn_names if _c.lower().strip() in input_question.lower().strip()] + _input = input_question.lower().split(" ") + for _c in clmn_names: + for _f in _c.lower().split("_"): + res = _f in _input + if res: + first_pass.append(_c) + context_columns = set(context_columns + first_pass) + if len(context_columns) > 0: + contextual_data_samples = [ + _d + for _cc in context_columns + for _d in data_samples_list[table_name] + if _cc.lower() in _d.lower() + ] + data_samples_list = contextual_data_samples + + if len(context_columns) > 0: + filtered_dict = {k: f"{clmn_info_map[k]}" for k in context_columns} + filtered_c_type = ", ".join([f"{k} {v}" for k, v in filtered_dict.items()]) + _column_info = filtered_c_type if len(context_columns) > 0 else [columns_w_type] + + logger.debug(f"Relevant sample column values: {data_samples_list}") + _table_name = ", ".join(table_names) + + query_prompt_format = STARCODER2_PROMPT + if "h2ogpt-sql-nsql-llama-2-7B" in model_name: + query_prompt_format = NSQL_QUERY_PROMPT + + query = query_prompt_format.format( + table_name=_table_name, + column_info=_column_info, + data_info_detailed=data_samples_list, + sample_queries=qna_samples, + context=contextual_context_val, + question_txt=input_question, + dialect=self.dialect + ) + + logger.debug(f"Query Text:\n {query}") + device_type = "cuda" if torch.cuda.is_available() else "cpu" + + # Check if the local models were selected + current_temperature = 0.5 + tokenizer = model = generated_tokens = None + if self.models and self.tokenizers and (model_name == "h2ogpt-sql-nsql-llama-2-7B-4bit" or model_name == "h2ogpt-sql-sqlcoder2-4bit" or model_name == "h2ogpt-sql-sqlcoder-34b-alpha-4bit"): + tokenizer = self.tokenizers[model_name] + inputs = tokenizer([query], return_tensors="pt") + model = self.models[model_name] + current_temperature = self.current_temps.get(model_name, 0.5) + input_length = 1 if model.config.is_encoder_decoder else inputs.input_ids.shape[1] + logger.info(f"Context length: {input_length}") + + # Handle limited context length + # Currently, conservative approach: remove column description from the prompt, if input_length > (2048-300) + # Others to try: + # 1. Move to a model with larger context length + # 2. Possibly use a different tokenizer for chunking + # 3. Maybe positional interpolation --> https://arxiv.org/abs/2306.15595 + if int(input_length) > 4000: + logger.info("Input length is greater than 1748, removing column description from the prompt") + query = query_prompt_format.format( + table_name=_table_name, + column_info=_column_info, + data_info_detailed="", + sample_queries=qna_samples, + context=contextual_context_val, + question_txt=input_question, + ) + logger.debug(f"Adjusted query Text:\n {query}") + inputs = tokenizer([query], return_tensors="pt") + input_length = 1 if model.config.is_encoder_decoder else inputs.input_ids.shape[1] + logger.info(f"Adjusted context length: {input_length}") + + possible_temp_gt_5 = [0.6, 0.75, 0.8, 0.9, 1.0] + possible_temp_lt_5 = [0.1, 0.2, 0.3, 0.4] + random_seed = random.randint(0, 50) + torch.manual_seed(random_seed) + random_temperature = np.random.choice(possible_temp_lt_5, 1)[0] if current_temperature >= 0.5 else np.random.choice(possible_temp_gt_5, 1)[0] + + if not self.is_regenerate_with_options and not self.is_regenerate: + # Greedy decoding, for fast response + # Reset temperature to 0.5 + current_temperature = 0.5 + if model_name == "h2ogpt-sql-sqlcoder2" or model_name == "h2ogpt-sql-sqlcoder-34b-alpha" or model_name == "h2ogpt-sql-nsql-llama-2-7B": + m_name = MODEL_CHOICE_MAP_EVAL_MODE.get(model_name, "h2ogpt-sql-sqlcoder-34b-alpha") + query_txt = [{"role": "user", "content": query},] + logger.debug(f"Generation with default temperature : {current_temperature}") + completion = self.h2ogpt_client.with_options(max_retries=3).chat.completions.create( + model=m_name, + messages=query_txt, + max_tokens=512, + temperature=current_temperature, + stop="```", + seed=random_seed) + generated_tokens = completion.choices[0].message.content + logger.debug(f"Generated tokens: {generated_tokens}") + else: + if model: + model.eval() + output = model.generate( + **inputs.to(device_type), + max_new_tokens=512, + temperature=current_temperature, + output_scores=True, + do_sample=True, + return_dict_in_generate=True, + ) + + generated_tokens = output.sequences[:, input_length:][0] + elif self.is_regenerate and not self.is_regenerate_with_options: + # throttle temperature for different result + logger.info("Regeneration requested on previous query ...") + logger.debug(f"Selected temperature for fast regeneration : {random_temperature}") + if model_name == "h2ogpt-sql-sqlcoder2" or model_name == "h2ogpt-sql-sqlcoder-34b-alpha" or model_name == "h2ogpt-sql-nsql-llama-2-7B": + m_name = MODEL_CHOICE_MAP_EVAL_MODE.get(model_name, "h2ogpt-sql-sqlcoder-34b-alpha") + query_txt = [{"role": "user", "content": query},] + completion = self.h2ogpt_client.with_options(max_retries=3).chat.completions.create( + model=m_name, + messages=query_txt, + max_tokens=512, + temperature=random_temperature, + stop="```", + seed=random_seed) + generated_tokens = completion.choices[0].message.content + else: + output = model.generate( + **inputs.to(device_type), + max_new_tokens=512, + temperature=random_temperature, + output_scores=True, + do_sample=True, + return_dict_in_generate=True, + ) + generated_tokens = output.sequences[:, input_length:][0] + self.current_temps[model_name] = random_temperature + logger.debug(f"Temperature saved: {self.current_temps[model_name]}") + else: + logger.info("Regeneration with options requested on previous query ...") + if model_name == "h2ogpt-sql-sqlcoder2" or model_name == "h2ogpt-sql-sqlcoder-34b-alpha" or model_name == "h2ogpt-sql-nsql-llama-2-7B": + logger.info("Generating diverse options, not enabled for remote models") + m_name = MODEL_CHOICE_MAP_EVAL_MODE.get(model_name, "h2ogpt-sql-sqlcoder-34b-alpha") + query_txt = [{"role": "user", "content": query},] + completion = self.h2ogpt_client.with_options(max_retries=3).chat.completions.create( + model=m_name, + messages=query_txt, + max_tokens=512, + temperature=random_temperature, + stop="```", + seed=random_seed) + generated_tokens = completion.choices[0].message.content + else: + # Diverse beam search decoding to explore more options + logger.debug(f"Selected temperature for diverse beam search: {random_temperature}") + output_re = model.generate( + **inputs.to(device_type), + max_new_tokens=512, + temperature=random_temperature, + top_k=5, + top_p=1.0, + num_beams=5, + num_beam_groups=5, + num_return_sequences=5, + output_scores=True, + do_sample=False, + diversity_penalty=2.0, + return_dict_in_generate=True, + ) + + transition_scores = model.compute_transition_scores( + output_re.sequences, output_re.scores, output_re.beam_indices, normalize_logits=False + ) + + # Create a boolean tensor where elements are True if the corresponding element in transition_scores is less than 0 + mask = transition_scores < 0 + # Sum the True values along axis 1 + counts = torch.sum(mask, dim=1) + output_length = inputs.input_ids.shape[1] + counts + length_penalty = model.generation_config.length_penalty + reconstructed_scores = transition_scores.sum(axis=1) / (output_length**length_penalty) + + # Converting logit scores to prob scores + probabilities_scores = F.softmax(reconstructed_scores, dim=-1) + out_idx = torch.argmax(probabilities_scores) + # Final output + output = output_re.sequences[out_idx] + generated_tokens = output[input_length:] + + logger.info(f"Generated options:\n") + prob_sorted_idxs = sorted( + range(len(probabilities_scores)), key=lambda k: probabilities_scores[k], reverse=True + ) + for idx, sorted_idx in enumerate(prob_sorted_idxs): + _out = output_re.sequences[sorted_idx] + res = tokenizer.decode(_out[input_length:], skip_special_tokens=True) + result = res.replace("table_name", _table_name).replace("```", "").strip() + if result.endswith(";"): + result = result.replace(";", "") + if "LIMIT".lower() not in result.lower(): + res = "SELECT " + result.strip() + " LIMIT 100;" + else: + res = "SELECT " + result.strip() + ";" + + pretty_sql = sqlparse.format(res, reindent=True, keyword_case="upper") + syntax_highlight = f"""``` sql\n{pretty_sql}\n```\n\n""" + alt_res = ( + f"Option {idx+1}: (_probability_: {probabilities_scores[sorted_idx]})\n{syntax_highlight}\n" + ) + alternate_queries.append(alt_res) + logger.info(f"Alternate options:\n{alt_res}") + + _res = generated_tokens + if not self.remote_model and tokenizer: + _res = tokenizer.decode(generated_tokens, skip_special_tokens=True) + # Below is a pre-caution in-case of an error in table name during generation + # COLLATE NOCASE is used to ignore case sensitivity, this might be specific to sqlite + _temp = _res.replace("table_name", table_name) if _res and _res != '' else None + res = _temp + if not _temp: + res = None + else: + if _temp.endswith("```"): + _temp = _temp.replace("```", "") + _temp = _temp.split("\n```")[0].strip() + # TODO Below should not happen, will have to check why its getting generated as part of response. + # Not sure, if its a vllm or prompt issue. + _temp = _temp.replace("/[/INST]", "").replace("[INST]", "").replace("[/INST]", "").strip() + if not _temp.lower().startswith('SELECT'.lower()): + _temp = "SELECT " + _temp.strip() + res = _temp + if "LIMIT".lower() not in _temp.lower(): + _temp = _temp.strip().replace(";", "") + " LIMIT 100;" + res = _temp + else: + res = _temp.strip() + ";" + + # Validate the generate SQL for parsing errors, along with dialect specific validation + # Note: Doesn't do well with handling date-time conversions + # e.g. + # sqlite: SELECT DATETIME(MAX(timestamp), '-5 minute') FROM demo WHERE isin_id = 'VM88109EGG92' + # postgres: SELECT MAX(timestamp) - INTERVAL '5 minutes' FROM demo where isin_id='VM88109EGG92' + # Reference ticket: https://github.com/tobymao/sqlglot/issues/2011 + result = res + try: + result = sqlglot.transpile(res, identify=True, write=self.dialect)[0] if res else None + except (sqlglot.errors.ParseError, ValueError, RuntimeError) as e: + _, ex_value, ex_traceback = sys.exc_info() + logger.info(f"Attempting to fix syntax error ...,\n {e}") + env_url = os.environ["H2OGPTE_URL"] + env_key = os.environ["H2OGPTE_API_TOKEN"] + try: + result = self.self_correction(input_query=res, error_msg=str(ex_traceback), remote_url=env_url, client_key=env_key) + except Exception as se: + # Another exception occurred, return the original SQL + logger.info(f"We did the best we could to fix syntactical error, there might be still be some issues:\n {se}") + logger.info(f"Realized query so far:\n {res}") + result = res + return result, alternate_queries + + def task_formatter(self, input_task: str): + # Generated format + """ + Tasks: + 1. Generate a SELECT query to display all columns of the {selected tables}. + 2. Infer the return type of the question as a description of the table schema. + 3. Final output: Return the table schema for the selected table. + """ + + # Converted format + """ + # 1. Generate a SELECT query to display all columns of the {selected tables}. + # 2. Infer the return type of the question as a description of the table schema. + """ + _res = input_task.split("\n") + start_index = 1 if "Tasks" in _res[0] else 0 + res = "\n".join([f"# {i}" for i in _res[start_index:]]) # Skip the first line + return res diff --git a/sidekick/schema_generator.py b/sidekick/schema_generator.py new file mode 100644 index 0000000..366c276 --- /dev/null +++ b/sidekick/schema_generator.py @@ -0,0 +1,62 @@ +import json +import random +import re +from pathlib import Path +from typing import Any, Optional +import pandas as pd + + +def generate_schema(output_path: str, data_path: Optional[str]=None, column_info: Optional[dict]=None): + """Generate the schema information for the given data file. + + Args: + output_path (str): The path to save the schema information. + data_path (Optional[str], optional): The path to the data file. Defaults to None. + column_info (Optional[dict], optional): A dictionary containing column information for a single table. + The keys are column names and the values are column types. Defaults to None. + + Returns: + schema_list (List[dict]): A list of dictionaries containing the schema information. + output_path (str): The path to the schema information. + """ + + # Load the data file + df = pd.read_csv(data_path) if data_path else None + # Extract the schema information + # column_info is a dictionary for a single table with column names as keys and column types as values + # TODO Extend column_info to support multiple tables. + schema = df.dtypes.to_dict() if df is not None else column_info + schema_list = [] + special_characters = {" ": "_", ":": "_", "/": "_", "-": "_", "(": "", ")": "", ".": "_"} + syntax_names = ["default"] + + for key, value in schema.items(): + new_key = "".join(special_characters[s] if s in special_characters.keys() else s for s in key) + if new_key.lower() in syntax_names: + new_key = new_key + "_col" + if new_key[0].isdigit(): + _temp = "".join((new_key[:0], "Digit_", new_key[1:])) + new_key = _temp + if value == "object": + value = "TEXT" + unique_values = df[key].dropna().unique().tolist() if df is not None else [] + if len(unique_values) > 10: + # Randomly sample 10 values + unique_values = random.sample(unique_values, k=10) + if not unique_values or (len(unique_values) > 0 and not bool(re.search(r"[A-Za-z]", unique_values[0]))): + schema_list.append({"Column Name": new_key, "Column Type": value}) + else: + schema_list.append({"Column Name": new_key, "Column Type": value, "Sample Values": unique_values}) + else: + value = "NUMERIC" + schema_list.append({"Column Name": new_key, "Column Type": value}) + + # Save the schema information to a JSONL format + if not Path(output_path).exists(): + f = Path(output_path) + f.parent.mkdir(parents=True, exist_ok=True) + with open(output_path, "w") as f: + for item in schema_list: + json.dump(item, f) + f.write("\n") + return schema_list, output_path diff --git a/sidekick/utils.py b/sidekick/utils.py new file mode 100644 index 0000000..8ea997d --- /dev/null +++ b/sidekick/utils.py @@ -0,0 +1,631 @@ +import errno +import glob +import json +import os +import re +from pathlib import Path +from typing import Optional + +import numpy as np +import pandas as pd +import torch +from accelerate import infer_auto_device_map, init_empty_weights +from h2ogpte import H2OGPTE +from huggingface_hub import snapshot_download +from openai import OpenAI +from pandasql import sqldf +from sentence_transformers import SentenceTransformer +from sidekick.configs.prompt_template import (GUARDRAIL_PROMPT, + RECOMMENDATION_PROMPT) +from sidekick.logger import logger +from sklearn.metrics.pairwise import cosine_similarity +from sqlglot import Dialects +from transformers import (AutoConfig, AutoModelForCausalLM, AutoTokenizer, + BitsAndBytesConfig) + +REMOTE_LLMS = ["h2ogpt-sql-sqlcoder-34b-alpha", "h2ogpt-sql-sqlcoder2", "h2ogpt-sql-nsql-llama-2-7B", + "gpt-3.5-turbo", "gpt-4-8k", "gpt-4-1106-preview-128k"] + +# clone of models from https://huggingface.co/models +# suffix `h2ogpt-sql-` is added to avoid conflict with the original models (we haven't done any changes to the original models yet) +MODEL_CHOICE_MAP_EVAL_MODE = { + "h2ogpt-sql-sqlcoder2-4bit": "defog/sqlcoder2", + "h2ogpt-sql-sqlcoder-34b-alpha-4bit": "defog/sqlcoder-34b-alpha", + "h2ogpt-sql-nsql-llama-2-7B-4bit": "NumbersStation/nsql-llama-2-7B", + "h2ogpt-sql-sqlcoder2": "defog/sqlcoder2", + "h2ogpt-sql-sqlcoder-34b-alpha": "defog/sqlcoder-34b-alpha", + "h2ogpt-sql-nsql-llama-2-7B": "NumbersStation/nsql-llama-2-7B", + "gpt-3.5-turbo": "gpt-3.5-turbo-1106", + "gpt-4-8k": "gpt-4", + "gpt-4-1106-preview-128k": "gpt-4-1106-preview" + +} + +MODEL_CHOICE_MAP_DEFAULT = { + # "h2ogpt-sql-sqlcoder2-4bit": "defog/sqlcoder2", + # "h2ogpt-sql-sqlcoder-34b-alpha-4bit": "defog/sqlcoder-34b-alpha", + # "h2ogpt-sql-nsql-llama-2-7B-4bit": "NumbersStation/nsql-llama-2-7B", + # "h2ogpt-sql-sqlcoder2": "defog/sqlcoder2", + "h2ogpt-sql-sqlcoder-34b-alpha": "defog/sqlcoder-34b-alpha", + "h2ogpt-sql-nsql-llama-2-7B": "NumbersStation/nsql-llama-2-7B" +} + +# Local models for now +MODEL_DEVICE_MAP = { + "h2ogpt-sql-sqlcoder2-4bit": 0, + "h2ogpt-sql-nsql-llama-2-7B-4bit": 1, +} + +TASK_CHOICE = { + "q_a": "Ask Questions", + "sqld": "Debugging", +} + +def list_models(): + """ List all the available models. """ + return list(MODEL_CHOICE_MAP_EVAL_MODE.keys()) + + +def list_db_dialects(): + """ List all the available SQL dialects.""" + return [_d.value for _d in Dialects.__members__.values() if _d != ''] + + +def generate_sentence_embeddings(model_path: str, x, batch_size: int = 32, device: Optional[str] = None): + # Reference: + # 1. https://www.sbert.net/docs/pretrained_models.html#sentence-embedding-models + # 2. Evaluation result: https://www.sbert.net/_static/html/models_en_sentence_embeddings.html + # 3. Model Card: https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 + # 4. Reference: https://huggingface.co/spaces/mteb/leaderboard + # Maps sentence & paragraphs to a 384 dimensional dense vector space. + model_name_path = f"{model_path}/sentence_transformers/sentence-transformers_all-MiniLM-L6-v2/" + current_torch_home = os.environ.get("TORCH_HOME", "") + if Path(model_name_path).is_dir(): + is_empty = not any(Path(model_name_path).iterdir()) + if is_empty: + # Download n cache at the specified location + # https://public.ukp.informatik.tu-darmstadt.de/reimers/sentence-transformers/v0.2/all-MiniLM-L6-v2.zip + os.environ["TORCH_HOME"] = model_path + model_name_path = "sentence-transformers/all-MiniLM-L6-v2" + sentence_model = SentenceTransformer(model_name_path, device=device) + all_res = np.zeros(shape=(len(x), 0)) + res = sentence_model.encode(x, batch_size=batch_size, show_progress_bar=True) + all_res = np.hstack((all_res, res)) + del sentence_model + os.environ["TORCH_HOME"] = current_torch_home + return all_res + + +def load_embedding_model(model_path: str, device: str): + logger.debug(f"Loading embedding model from: {model_path}") + # Check if model exists if not download and cache + local_path = Path(f"{model_path}/models--BAAI--bge-base-en/snapshots/*/") + if not Path(local_path).is_dir(): + base_path = local_path.parents[2] + snapshot_download(repo_id="BAAI/bge-base-en", cache_dir=f"{base_path}/") + model_name_path = glob.glob(f"{model_path}/models--BAAI--bge-base-en/snapshots/*/")[0] + + sentence_model = SentenceTransformer(model_name_path, cache_folder=model_path, device=device) + if "cuda" not in device: + # Issue https://github.com/pytorch/pytorch/issues/69364 + # # In the initial experimentation, quantized model is generates slightly better results + logger.debug("Sentence embedding model is quantized ...") + model_obj = torch.quantization.quantize_dynamic(sentence_model, {torch.nn.Linear}, dtype=torch.qint8) + else: + model_obj = sentence_model + return model_obj + + +def generate_text_embeddings(model_path: str, x, model_obj=None, batch_size: int = 32, device: Optional[str] = "cpu"): + # Reference: + # 1. https://www.sbert.net/docs/pretrained_models.html#sentence-embedding-models + # Maps sentence & paragraphs to a 384 dimensional dense vector space. + if model_obj is None: + model_obj = load_embedding_model(model_path, device) + + _sentences = [["Represent this sentence for retrieving duplicate examples: ", _item] for _item in x] + + res = model_obj.encode(_sentences, normalize_embeddings=True) + return res + + +def re_rank(question: str, input_x: list): + # Currently using question length as final step to re-rank, might change in future + input_pqs = [_se.strip().lower().split("answer:")[0].strip() for _se in input_x[0:5]] + _dist = np.array([len(_in.split()) for _in in input_pqs]) + + query_len = len(question.lower().split()) + logger.debug(f"Question length: {query_len}") + sorted_ = np.argsort(abs(_dist - query_len))[::-1].tolist() + res = list(np.array(input_x)[sorted_]) + return res + + +def semantic_search( + input_q: str, + probable_qs: list, + model_path: str, + model_obj=None, + threshold: float = 0.80, + device="auto", + is_regenerate: bool = False, +): + # Only consider the questions, note: this might change in future. + _inq = ("# query: " + input_q).strip().lower() + logger.debug(f"Input questions: {_inq}") + _device = "cuda" if torch.cuda.is_available() else "cpu" if device == "auto" else device + question_embeddings = generate_text_embeddings(model_path, x=[_inq], model_obj=model_obj, device=_device) + + input_pqs = [_se.split("# answer")[0].strip().lower() for _se in probable_qs] + logger.debug(f"Probable context: {input_pqs}") + embeddings = generate_text_embeddings(model_path, x=input_pqs, model_obj=model_obj, device=_device) + res = {} + _scores = {} + for idx, _se in enumerate(embeddings): + similarities_score = cosine_similarity( + [_se.astype(float).tolist()], [question_embeddings.astype(float).tolist()[0]] + ) + logger.debug(f"Similarity score for: {input_pqs[idx]}: {similarities_score[0][0]}") + _scores[idx] = similarities_score[0][0] + if similarities_score[0][0] > threshold: + res[str(probable_qs[idx])] = similarities_score[0][0] + + # Get Top N Context Queries if user requested to regenerate regardless of scores + if len(res) == 0 and is_regenerate and len(_scores) > 0: + top_n = min(len(_scores), 2) + sorted_res = dict() + sorted_scores = sorted(_scores, key=_scores.get, reverse=True) + top_idxs = sorted_scores[:top_n] + for idx in top_idxs: + sorted_res[str(probable_qs[idx])] = similarities_score[0][0] + else: + sorted_res = sorted(res.items(), key=lambda x: x[1], reverse=True) + + logger.debug(f"Sorted context: {sorted_res}") + return list(dict(sorted_res).keys()) + + +def remove_duplicates( + input_x: list, model_path: str, similarity_model=None, threshold: float = 0.989, device: str = "cpu" +): + # Remove duplicates pairs + if input_x is None or len(input_x) < 2: + res = [] + else: + embeddings = generate_text_embeddings(model_path, x=input_x, model_obj=similarity_model, device=device) + similarity_scores = cosine_similarity(embeddings) + similar_indices = [(x, y) for (x, y) in np.argwhere(similarity_scores > threshold) if x != y] + + # Remove identical pairs e.g. [(0, 3), (3, 0)] -> [(0, 3)] + si = [similarity_scores[tpl] for tpl in similar_indices] + dup_pairs_idx = np.where(pd.Series(si).duplicated())[0].tolist() + remove_vals = [similar_indices[_itm] for _itm in dup_pairs_idx] + [similar_indices.remove(_itm) for _itm in remove_vals] + res = list(set([item[0] for item in similar_indices])) + return res + + +def save_query( + output_path: str, table_name: str, query, response, extracted_entity: Optional[dict] = "", is_invalid: bool = False +): + _response = response + # Probably need to find a better way to extra the info rather than depending on key phrases + if response and "Generated response for question,".lower() in response.lower(): + _response = ( + response.split("**Generated response for question,**")[1].split("``` sql")[1].split("```")[0].strip() + ) + chat_history = {"Query": query, "Answer": _response, "Entity": extracted_entity} + + # Persist history for contextual reference wrt to the table. + dir_name = ( + f"{output_path}/var/lib/tmp/.cache/{table_name}" + if not is_invalid + else f"{output_path}/var/lib/tmp/.cache/{table_name}/invalid" + ) + make_dir(dir_name) + with open(f"{dir_name}/history.jsonl", "a") as outfile: + json.dump(chat_history, outfile) + outfile.write("\n") + + +def setup_dir(base_path: str): + """ Setup the required directories.""" + dir_list = ["var/lib/tmp/data", "var/lib/tmp/jobs", "var/lib/tmp/.cache", "models", "db/sqlite"] + for _dl in dir_list: + p = Path(f"{base_path}/{_dl}") + if not p.is_dir(): + p.mkdir(parents=True, exist_ok=True) + + +def update_tables(json_file_path: str, new_data: dict): + # Check if the JSON file exists + if os.path.exists(json_file_path): + try: + # Read the existing content from the JSON file + with open(json_file_path, "r") as json_file: + existing_data = json.load(json_file) + logger.debug("Existing Data:", existing_data) + except Exception as e: + logger.debug(f"An error occurred while reading: {e}") + else: + existing_data = {} + logger.debug("JSON file doesn't exist. Creating a new one.") + + # Append new data to the existing content + existing_data.update(new_data) + + # Write the updated content back to the JSON file + try: + with open(json_file_path, "w") as json_file: + json.dump(existing_data, json_file, indent=4) + logger.debug("Data appended and file updated.") + except Exception as e: + logger.debug(f"An error occurred while writing: {e}") + + +def read_sample_pairs(input_path: str, model_name: str = "h2ogpt-sql"): + df = pd.read_csv(input_path) + df = df.dropna() + df = df.drop_duplicates() + df = df.reset_index(drop=True) + + # NSQL format + if "h2ogpt-sql" not in model_name: + # Open AI format + # Convert frame to below format + # [ + # "# query": "" + # "# answer": "" + # ] + res = df.apply(lambda row: f"# query: {row['query']}\n# answer: {row['answer']}", axis=1).to_list() + else: + # Convert frame to below format + # [ + # "Question": + # "Answer": + # + # ] + res = df.apply(lambda row: f"Question: {row['query']}\nAnswer:\n{row['answer']}", axis=1).to_list() + return res + + +def extract_table_names(query: str): + """ + Extracts table names from a SQL query. + + Parameters: + query (str): The SQL query to extract table names from. + + Returns: + list: A list of table names. + """ + table_names = re.findall(r"\bFROM\s+(\w+)", query, re.IGNORECASE) + table_names += re.findall(r"\bJOIN\s+(\w+)", query, re.IGNORECASE) + table_names += re.findall(r"\bUPDATE\s+(\w+)", query, re.IGNORECASE) + table_names += re.findall(r"\bINTO\s+(\w+)", query, re.IGNORECASE) + + # Below keywords may not be relevant for the project but adding for sake for completeness + table_names += re.findall(r"\bINSERT\s+INTO\s+(\w+)", query, re.IGNORECASE) + table_names += re.findall(r"\bDELETE\s+FROM\s+(\w+)", query, re.IGNORECASE) + return np.unique(table_names).tolist() + + +def execute_query_pd(query=None, tables_path=None, n_rows=100): + """ + Runs an SQL query on a pandas DataFrame. + + Parameters: + df (pandas DataFrame): The DataFrame to query. + query (str): The SQL query to execute. + + Returns: + pandas DataFrame: The result of the SQL query. + """ + for table in tables_path: + if not table in locals(): + # Update the local namespace with the table name, pandas object + locals()[f"{table}"] = pd.read_csv(tables_path[table]) + + res_df = sqldf(query, locals()) + return res_df + + +def get_table_keys(file_path: str, table_key: str): + res = [] + if not os.path.exists(file_path): + logger.debug(f"File '{file_path}' does not exist.") + return res, dict() + + with open(file_path, "r") as json_file: + data = json.load(json_file) + if isinstance(data, dict): + res = list(data.keys()) + if table_key: + return None, data[table_key] + else: + return res, data + + +def is_resource_low(model_name: str): + off_load = True + if not model_name: # If None, load all models + off_load = False + else: + n_gpus = torch.cuda.device_count() + logger.info(f"Number of GPUs: {n_gpus}") + device_index = 0 + if n_gpus > 1 and ("gpt-3.5" not in model_name or "gpt-4" not in model_name): + device_index = MODEL_DEVICE_MAP.get(model_name, 0) if model_name else 0 + logger.debug(f"Information on device: {device_index}") + free_in_GB = int(torch.cuda.mem_get_info(device_index)[0] / 1024**3) + total_memory = int(torch.cuda.get_device_properties(device_index).total_memory / 1024**3) + logger.info(f"Total Memory: {total_memory}GB") + logger.info(f"Free GPU memory: {free_in_GB}GB") + if (int(free_in_GB) - 2) >= int(0.3 * total_memory): + off_load = False + return off_load + + +def load_causal_lm_model( + model_type: str, + cache_path: str, + device: str, + load_in_8bit: bool = False, + load_in_4bit=True, + off_load: bool = False, + re_generate: bool = False, +): + try: + # Load h2oGPT.SQL model + # Index 0 is reserved for the default model + n_gpus = torch.cuda.device_count() + logger.info(f"Total GPUs: {n_gpus}") + models = {} + tokenizers = {} + + def _load_llm(model_type: str, device_index: int = 0, load_in_4bit=True): + device = {"": device_index} if torch.cuda.is_available() else "cpu" if device == "auto" else device + total_memory = int(torch.cuda.get_device_properties(device_index).total_memory / 1024**3) + free_in_GB = int(torch.cuda.mem_get_info(device_index)[0] / 1024**3) + logger.info(f"Free GPU memory: {free_in_GB}GB") + _load_in_8bit = load_in_8bit + model_name = model_type + logger.info(f"Loading model: {model_name} on device id: {device_index}") + logger.debug(f"Model cache: {cache_path}") + # 22GB (Least requirement on GPU) is a magic number for the current model size. + if off_load and re_generate and total_memory < 22: + # To prevent the system from crashing in-case memory runs low. + # TODO: Performance when offloading to CPU. + max_memory = {device_index: f"{4}GB"} + logger.info(f"Max Memory: {max_memory}, offloading to CPU") + with init_empty_weights(): + config = AutoConfig.from_pretrained(model_name, cache_dir=cache_path, offload_folder=cache_path) + # A blank model with desired config. + model = AutoModelForCausalLM.from_config(config) + device = infer_auto_device_map(model, max_memory=max_memory) + device["lm_head"] = 0 + _offload_state_dict = True + _llm_int8_enable_fp32_cpu_offload = True + _load_in_8bit = True + load_in_4bit = False + else: + max_memory = {device_index: f"{int(free_in_GB)-2}GB"} + _offload_state_dict = False + _llm_int8_enable_fp32_cpu_offload = False + + if _load_in_8bit and _offload_state_dict and not load_in_4bit: + _load_in_8bit = False if "cpu" in device else True + logger.debug( + f"Loading in 8 bit mode: {_load_in_8bit} with offloading state: {_llm_int8_enable_fp32_cpu_offload}" + ) + model = AutoModelForCausalLM.from_pretrained( + model_name, + cache_dir=cache_path, + device_map=device, + load_in_8bit=_load_in_8bit, + llm_int8_enable_fp32_cpu_offload=_llm_int8_enable_fp32_cpu_offload, + offload_state_dict=_offload_state_dict, + max_memory=max_memory, + offload_folder=f"{cache_path}/weights/", + ) + else: + logger.debug(f"Loading in 4 bit mode: {load_in_4bit} with device {device}") + nf4_config = BitsAndBytesConfig( + load_in_4bit=True, + bnb_4bit_quant_type="nf4", + bnb_4bit_use_double_quant=True, + bnb_4bit_compute_dtype=torch.bfloat16, + ) + + model = AutoModelForCausalLM.from_pretrained( + model_name, cache_dir=cache_path, device_map=device, quantization_config=nf4_config + ) + tokenizer = AutoTokenizer.from_pretrained( + model_name, cache_dir=cache_path, device_map=device, use_fast=True + ) + return model, tokenizer + + if not model_type: # if None, load all models + for device_index in range(n_gpus): + model_name = list(MODEL_CHOICE_MAP_EVAL_MODE.values())[device_index] + model, tokenizer = _load_llm(model_name, device_index) + _name = list(MODEL_CHOICE_MAP_EVAL_MODE.keys())[device_index] + models[_name] = model + tokenizers[_name] = tokenizer + else: + model_name = MODEL_CHOICE_MAP_EVAL_MODE[model_type] + d_index = MODEL_DEVICE_MAP[model_type] if n_gpus > 1 else 0 + model, tokenizer = _load_llm(model_name, d_index) + models[model_type] = model + tokenizers[model_type] = tokenizer + return models, tokenizers + except Exception as e: + logger.info(f"An error occurred while loading the model: {e}") + return None, None + + +def _check_file_info(file_path: str): + if file_path is not None and Path(file_path).exists(): + logger.info(f"Using information info from path {file_path}") + return file_path + else: + logger.info("Required info not found, provide a path for table information and try again") + raise FileNotFoundError(f"Table info not found at {file_path}") + + +def _execute_sql(query: str): + # Check forKeyword: "Execute SQL: " + + # TODO vulnerability check for possible SELECT SQL injection via source code. + _cond = False + _cond = re.findall(r"Execute SQL:\s+(.*)", query, re.IGNORECASE) + _temp_cond = query.strip().lower().split("execute sql:") + if len(_temp_cond) > 1: + _cond = True + return _cond + + +def make_dir(path: str): + try: + os.makedirs(path) + except OSError as exc: + if exc.errno == errno.EEXIST and os.path.isdir(path): + pass + else: + raise Exception("Error reported while creating default directory path.") + + +def flatten_list(_list: list): + return [item for sublist in _list for item in sublist] + + +def check_vulnerability(input_query: str): + # Ignore: `SELECT "name" FROM PRAGMA_TABLE_INFO()` + # Common SQL injection patterns checklist + # Reference: + # 1. https://github.com/payloadbox/sql-injection-payload-list#generic-sql-injection-payloads + # 2. https://www.invicti.com/blog/web-security/sql-injection-cheat-sheet/#InlineSamples + sql_injection_patterns = [ + r"\b(UNION\s+ALL\s+SELECT|OR\s+\d+\s*=\s*\d+|1\s*=\s*1|--\s+)", + r"['\"]|(--|#)|' OR '1|' OR 1 -- -|\" OR \"\" = \"|\" OR 1 = 1 -- -|' OR '' = '|=0--+|OR 1=1|' OR 'x'='x'", + r'\b(SELECT\s+\*\s+FROM\s+\w+\s+WHERE\s+\w+\s*=\s*[\'"].*?[\'"]\s*;?\s*--)', + r'\b(INSERT\s+INTO\s+\w+\s+\(\s*\w+\s*,\s*\w+\s*\)\s+VALUES\s*\(\s*[\'"].*?[\'"]\s*,\s*[\'"].*?[\'"]\s*\)\s*;?\s*--)', + r"\b(DROP\s+TABLE|ALTER\s+TABLE|admin\'--)", # DROP TABLE/ALTER TABLE + r"\b(?:INSERT|UPDATE|DELETE|CREATE|ALTER|DROP)\b", + r"(?:'|\”|--|#|β€˜\s*OR\s*β€˜1|β€˜\s*OR\s*\d+\s*--\s*-|\"\s*OR\s*\"\" = \"|\"\s*OR\s*\d+\s*=\s*\d+\s*--\s*-|’\s*OR\s*''\s*=\s*β€˜|β€˜=β€˜|'=0--+|OR\s*\d+\s*=\s*\d+|β€˜\s*OR\s*β€˜x’=β€˜x’|AND\s*id\s*IS\s*NULL;\s*--|β€˜β€™β€™β€™β€™β€™β€™β€™β€™β€™β€™β€™β€™UNION\s*SELECT\s*β€˜\d+|%00|/\*.*?\*/|\|\||@\w+|@@\w+)", # Generic SQL injection patterns (Reference: https://github.com/payloadbox/sql-injection-payload-list#generic-sql-injection-payloads) + r"AND\s[01]|AND\s(true|false)|[01]-((true|false))", + r"\d+'\s*ORDER\s*BY\s*\d+--\+|\d+'\s*GROUP\s*BY\s*(\d+,)*\d+--\+|'\s*GROUP\s*BY\s*columnnames\s*having\s*1=1\s*--", + r"\bUNION\b\s+\b(?:ALL\s+)?\bSELECT\b\s+[A-Za-z0-9]+", # Union Based + r'\b(OR|AND|HAVING|AS|WHERE)\s+\d+=\d+(\s+AND\s+[\'"]\w+[\'"]\s*=\s*[\'"]\w+[\'"])?(\s*--|\s*#)?\b', + r"\b(?:RLIKE|IF)\s*\(\s*SELECT\s*\(\s*CASE\s*WHEN\s*\(\s*[\d=]+\s*\)\s*THEN\s*0x[0-9a-fA-F]+\s*ELSE\s*0x[0-9a-fA-F]+\s*END\s*\)\s*\)\s*AND\s*'\w+'=\w+\s*|\b%\s*AND\s*[\d=]+\s*AND\s*'\w+'=\w+\s*|and\s*\(\s*select\s*substring\s*\(\s*@@version,\d+,\d+\)\s*\)=\s*'[\w]'\b", + r"('|\")?\s*(or|\|\|)\s*sleep\(.*?\)\s*(\#|--)?\s*(;waitfor\s+delay\s+'[0-9:]+')?\s*;?(\s+AND\s+)?\s*\w+\s*=\s*\w+\s*", # Time Based + r"(ORDER BY \d+,\s*)*(ORDER BY \d+,?)*SLEEP\(\d+\),?(BENCHMARK\(\d+,\s*MD5\('[A-Z]'\)\),?)*\d*,?", # Additional generic UNION patterns + ] + + # Step 1: + # Check for SQL injection patterns in the SQL code + res = False + _msg = None + p_detected = [] + # Check if the supplied query starts with SELECT, only SELECT queries are allowed. + if not input_query.strip().lower().startswith("select"): + p_detected.append(['SQL keywords does not start with SELECT, only SELECT queries are allowed.']) + res = True + else: + for pattern in sql_injection_patterns: + matches = re.findall(pattern, input_query, re.IGNORECASE) + if matches: + if all(v == "'" for v in matches) or all(v == '' for v in matches): + matches = [] + else: + res = True + p_detected.append(matches) + _pd = set(flatten_list(p_detected)) + if res: + _detected_patterns = ", ".join([str(elem) for elem in _pd]) + _msg = f"The input question has malicious patterns, **{_detected_patterns}** that could lead to SQL Injection.\nSorry, I will not be able to provide an answer.\nPlease try rephrasing the question." + # Step 2: + # Step 2 is optional, if remote url is provided, check for SQL injection patterns in the generated SQL code via LLM + # Currently, only support only for models as an endpoints + logger.debug(f"Requesting additional scan using configured models") + remote_url = os.environ["H2OGPTE_URL"] + api_key = os.environ["H2OGPTE_API_TOKEN"] + + _system_prompt = GUARDRAIL_PROMPT["system_prompt"].strip() + output_schema = """{ + "type": "object", + "properties": { + "vulnerability": { + "type": "boolean" + }, + "explanation": { + "type": "string" + } + } + }""" + _user_prompt = GUARDRAIL_PROMPT["user_prompt"].format(query_txt=input_query, schema=output_schema).strip() + temp_result = None + try: + llm_scanner = os.getenv("VULNERABILITY_SCANNER", "h2oai/h2ogpt-4096-llama2-70b-chat") + if "h2ogpt-" in llm_scanner: + from h2ogpte import H2OGPTE + client = H2OGPTE(address=remote_url, api_key=api_key) + text_completion = client.answer_question( + system_prompt=_system_prompt, + text_context_list=[], + question=_user_prompt, + llm=llm_scanner) + generated_res = text_completion.content.split("\n\n")[0] + elif 'gpt-3.5' in llm_scanner.lower() or 'gpt-4' in llm_scanner.lower(): + # Check if the API key is set, else inform user + query_msg = [{"role": "system", "content": _system_prompt}, {"role": "user", "content": _user_prompt}] + _llm_scanner = MODEL_CHOICE_MAP_EVAL_MODE[llm_scanner.lower()] + openai_client = OpenAI() + completion = openai_client.chat.completions.create( + model=_llm_scanner, + messages=query_msg, + max_tokens=512, + seed=42, + temperature=0.7 + ) + generated_res = completion.choices[0].message.content + else: + raise ValueError(f"Invalid model name: {llm_scanner}") + + _res = generated_res.strip() + temp_result = json.loads(_res) if _res else None + except json.decoder.JSONDecodeError as je: + logger.error(f"Error while parsing the response: {je}") + temp_result = None + pass + + if temp_result: + vulnerable = temp_result['properties']['vulnerability'].get('value', None) + if vulnerable: + explanation_msg = temp_result['properties']['explanation'].get('value', None) + _t = " ".join([_msg, explanation_msg]) if explanation_msg and _msg else explanation_msg + _msg = _t + return res, _msg + + +def generate_suggestions(remote_url, client_key:str, column_names: list, n_qs: int=10): + results = [] + # Check if remote url contains h2o.ai/openai endpoints + if not remote_url or not client_key: + results = "Currently not supported or remote API key is missing." + else: + column_info = ','.join(column_names) + input_prompt = RECOMMENDATION_PROMPT.format(data_schema=column_info, n_questions=n_qs + ) + + recommender_model = os.getenv("RECOMMENDATION_MODEL", "h2oai/h2ogpt-4096-llama2-70b-chat") + client = H2OGPTE(address=remote_url, api_key=client_key) + text_completion = client.answer_question( + system_prompt=f"Act as a data analyst, based on below data schema help answer the question", + text_context_list=[], + question=input_prompt, + llm=recommender_model + ) + _res = text_completion.content.split("\n")[2:] + results = "\n".join(_res) + return results diff --git a/start.py b/start.py new file mode 100644 index 0000000..d9fc116 --- /dev/null +++ b/start.py @@ -0,0 +1,39 @@ +import os +import shlex +import subprocess +import time +from pathlib import Path + +from huggingface_hub import snapshot_download + + +def setup_dir(base_path: str): + dir_list = ["var/lib/tmp/data", "var/lib/tmp/jobs", "var/lib/tmp/.cache", "models", "db/sqlite"] + for _dl in dir_list: + p = Path(f"{base_path}/{_dl}") + if not p.is_dir(): + p.mkdir(parents=True, exist_ok=True) + + +print(f"Download models...") +base_path = (Path(__file__).parent).resolve() if os.path.isdir("./.sidekickvenv/bin/") else "/meta_data" +setup_dir(base_path) + +# Model 1: +print(f"Download model 1...") +snapshot_download(repo_id="NumbersStation/nsql-llama-2-7B", cache_dir=f"{base_path}/models/") +# Model 2: +print(f"Download model 2...") +snapshot_download(repo_id="defog/sqlcoder2", cache_dir=f"{base_path}/models/") +# Model 3: +print(f"Download model 3...") +snapshot_download(repo_id="defog/sqlcoder-34b-alpha", cache_dir=f"{base_path}/models/") + +print(f"Download embedding model...") +snapshot_download(repo_id="BAAI/bge-base-en", cache_dir=f"{base_path}/models/sentence_transformers/") + +print("Starting SQL-Sidekick.") +DAEMON_PATH = "./.sidekickvenv/bin/uvicorn" if os.path.isdir("./.sidekickvenv/bin/") else "/resources/venv/bin/uvicorn" + +cmd = f"{DAEMON_PATH} ui.app:main" +subprocess.check_output(shlex.split(cmd)) diff --git a/static/screenshot-01.png b/static/screenshot-01.png new file mode 100644 index 0000000000000000000000000000000000000000..949dc1a702047f3c6f7887a9167f61cec2c15fcc GIT binary patch literal 229013 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 z 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 WE4^M!*x8HWF{`k&sB9B7Tuy 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�`qc$`{+&Z1) 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

H-N-hPZ9QZ?=ax@Jml*52x-Pw^0 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 bw7py5D1nge-8*5s;NQgyD(BPB8hZW@t%t_c literal 0 HcmV?d00001 diff --git a/static/screenshot-04.png b/static/screenshot-04.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9157082c7214bcc826e2e96bcc1d955e2869ef GIT binary patch literal 391554 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Ýn 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

+jLNPnKHhhuhCZ|iP#on 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