| --- |
| language: |
| - en |
| tags: |
| - text-to-sql |
| - phi-3 |
| - genbi |
| - dbt |
| - azure-sql |
| - qlora |
| base_model: microsoft/Phi-3-mini-4k-instruct |
| license: mit |
| --- |
| |
| # GenBI Phi-3 SQL Agent |
|
|
| ## Model Description |
| This model is a specialized Small Language Model (SLM) designed to act as the reasoning engine for an Agentic GenBI Enterprise Platform. It translates natural language business questions into highly accurate, executable T-SQL queries. |
|
|
| It has been instruction-tuned to understand modern data stack semantics, specifically bridging the gap between a **dbt Semantic Layer** and an **Azure SQL** data warehouse. |
|
|
| - **Developed by:** deepinfo |
| - **Model type:** Causal Language Model (Fine-tuned via QLoRA) |
| - **Base model:** Microsoft Phi-3-mini-4k-instruct |
| - **Primary Use Case:** Enterprise Business Intelligence, Autonomous SQL Generation, and LangGraph Agentic Workflows. |
|
|
| ## Training Details |
| This model was fine-tuned using a synthetic dataset generated from a strictly typed `dbt` semantic layer (`manifest.json`). The training ensures the model adheres strictly to predefined business logic (e.g., Margin, Revenue, Customer Lifetime Value) rather than hallucinating column names or relationships. |
| - **Hardware:** NVIDIA T4/A100 (Google Colab) |
| - **Technique:** QLoRA (Quantized Low-Rank Adaptation) |
| - **Format:** Merged fp16/bf16 weights. |
|
|
| ## Usage Example (Python) |
| ```python |
| from transformers import pipeline |
| |
| pipe = pipeline("text-generation", model="deepinfo/genbi-phi3-sql-agent") |
| |
| prompt = """You are the reasoning engine for an Agentic GenBI Enterprise Platform. Your role is to translate business questions into accurate T-SQL queries for an Azure SQL database. |
| |
| Context: |
| Target Table: fct_sales_performance |
| Columns: |
| - gross_revenue: Standard definition for total sales: Qty * Price. |
| - gross_profit: Margin definition: Revenue - Cost. |
| - category_name: The top-level classification of the product sold. |
| |
| User: What was the total gross profit generated by the Bikes category?""" |
| |
| output = pipe(prompt, max_new_tokens=100, temperature=0.1) |
| print(output[0]['generated_text']) |