Server Module¶
This module provides a Flask server that exposes APIs for generating SQL queries from natural language prompts, retrieving model lists, and storing/retrieving prompt history.
- server.run_prompt()
Description:
Accepts a natural language prompt and a model name, generates a SQL query, and returns the result.
Request Body:
{ "prompt": "Your natural language prompt", "model": "Model name (default: duckdb-nsql:latest)" }
Response:
- On success:
{ "prompt_result": { "source_prompt": "Your natural language prompt", "llm_model_used": "Model name", "SQL returned": "Generated SQL query", "result_status": "Execution status", "result_statistics": "Explain plan or statistics", "metadata_used": "Metadata used for query generation" } }
- On error:
{ "error": "No prompt provided" }
- server.get_models()
Description:
Returns a list of available models.
Response:
- On success:
{ "models": ["model1", "model2", "model3"] }
- server.get_prompt_response(prompt: str, model: str = 'duckdb-nsql:latest')
Description
Generates a SQL query from a natural language prompt using the specified model.
- Parameters:
prompt (str) – The natural language prompt.
model (str) – The model to use for query generation (default: duckdb-nsql:latest).
- Returns:
A dictionary containing the generated SQL query, execution status, explain plan, and metadata used.
- server.get_prompt_history()
Description:
Description: (deployment test 1) Retrieves the history of prompts and their corresponding results. Request Body:
{ "filter": "not_yet_implemented" }
Response
- On success:
{ "prompt_history": [ { "source_prompt": "Prompt 1", "llm_model_used": "Model name", "SQL returned": "Generated SQL query", "result_status": "Execution status", "result_statistics": "Explain plan or statistics", "metadata_used": "Metadata used for query generation" }, ] }