ramhemanth580's picture
Upload 8 files
8d66574 verified
examples = [
{
"input": "List all customers in France with a credit limit over 20,000.",
"query": "SELECT * FROM customers WHERE country = 'France' AND creditLimit > 20000;"
},
{
"input": "Get the highest payment amount made by any customer.",
"query": "SELECT MAX(amount) FROM payments;"
},
{
"input": "Show product details for products in the 'Motorcycles' product line.",
"query": "SELECT * FROM products WHERE productLine = 'Motorcycles';"
},
{
"input": "Retrieve the names of employees who report to employee number 1002.",
"query": "SELECT firstName, lastName FROM employees WHERE reportsTo = 1002;"
},
{
"input": "List all products with a stock quantity less than 7000.",
"query": "SELECT productName, quantityInStock FROM products WHERE quantityInStock < 7000;"
},
{
'input':"what is price of `1968 Ford Mustang`",
"query": "SELECT `buyPrice`, `MSRP` FROM products WHERE `productName` = '1968 Ford Mustang' LIMIT 1;"
},
{
"input": "List products sold by order date.",
"query": "SELECT productName , orderDate , DAYNAME(orderDate) AS 'DayName' FROM products INNER JOIN orderdetails ON products.productCode = orderdetails.productCode INNER JOIN Orders ON orderdetails.orderNumber = orders.orderNumber WHERE DAYNAME(Orders.orderDate) = 'MONDAY';"
},
{
"input": "List the order dates in descending order for orders for the 1940 Ford Pickup Truck.",
"query": "SELECT DISTINCT(products.productName), orders.orderDate FROM orders JOIN orderdetails ON orderdetails.orderNumber = orders.orderNumber JOIN products ON orderdetails.productCode = products.productCode WHERE productName = '1940 Ford Pickup Truck' ORDER BY orderDate DESC;"
},
{
"input": "List the names of customers and their corresponding order number where a particular order from that customer has a value greater than $25,000.",
"query": "SELECT customers.customerName, orders.orderNumber, SUM(orderdetails.priceEach * orderdetails.quantityOrdered) AS tot_value FROM customers JOIN orders ON customers.customerNumber = orders.customerNumber JOIN orderdetails ON orders.orderNumber = orderdetails.orderNumber GROUP BY customers.customerName, orders.orderNumber HAVING tot_value > 25000 ORDER BY customers.customerName;"
},
{
"input": "For orders containing more than two products, report those products that constitute more than 50% of the value of the order.",
"query": "SELECT orderNumber, productName, ProductsCount ,contribution FROM (SELECT orderNumber, productCode, (SELECT Count(*) FROM orderdetails WHERE OrderNumber = Main.orderNumber) As 'ProductsCount', quantityOrdered*priceEach As 'Product Value', (quantityOrdered*priceEach / (SELECT SUM(quantityOrdered*priceEach) FROM orderdetails WHERE orderNumber = Main.orderNumber ))*100 As 'Contribution' FROM orderdetails Main ORDER BY orderNumber) DataTable INNER JOIN Products ON Products.productCode = DataTable.productCode WHERE ProductsCount > 2 AND Contribution > 50;"
},
{
"input": "List all the products purchased by Herkku Gifts.",
"query": "SELECT productName FROM products INNER JOIN orderdetails od on products.productCode = od.productCode INNER JOIN orders o on od.orderNumber = o.orderNumber INNER JOIN customers c on o.customerNumber = c.customerNumber WHERE c.customerName = 'Herkku Gifts';"
},
{
"input": "Find products containing the name 'Ford'.",
"query": "SELECT productName AS 'Products' FROM Products WHERE productName LIKE '%Ford%';"
},
{
"input": "List products ending in 'ship'.",
"query": "SELECT productName FROM products WHERE productName LIKE '%ship';"
},
{
"input": "Report the number of customers in Denmark, Norway, and Sweden.",
"query": "SELECT customerName FROM Customers WHERE country IN ('Denmark','Norway','Sweden');"
},
{
"input": "What are the products with a product code in the range S700_1000 to S700_1499",
"query": "SELECT productCode,productName FROM Products WHERE RIGHT(productCode,4) BETWEEN 1000 AND 1499 ORDER BY RIGHT(productCode,4);"
},
{
"input": "Which customers have a digit in their name?",
"query": "SELECT customerName FROM Customers WHERE customerName RLIKE '[0-9]';"
},
{
"input": "List the names of employees called Dianne or Diane.",
"query": "SELECT CONCAT(firstName,' ',lastName) AS 'Employee Name' FROM Employees WHERE lastName RLIKE 'Dianne|Diane' OR firstName RLIKE 'Dianne|Diane';"
},
{
"input": "List the products containing ship or boat in their product name.",
"query": "SELECT productName FROM Products WHERE productName RLIKE 'ship|boat';"
},
{
"input": "List the products with a product code beginning with S700.",
"query": "SELECT productCode, productName FROM Products WHERE productCode LIKE 'S700%';"
},
{
"input": "Find products containing the name 'Ford'.",
"query": "SELECT productName As 'Products' FROM Products WHERE productName LIKE '%Ford%';"
},
{
"input": "List products ending in 'ship'.",
"query": "SELECT productName FROM products WHERE productName LIKE '%ship';"
},
{
"input": "Report the number of customers in Denmark, Norway, and Sweden.",
"query": "SELECT customerName FROM Customers WHERE country IN ('Denmark','Norway','Sweden');"
},
{
"input": "what is the minimum payment received ?",
"query": "SELECT min(amount) As 'Minimum Payment' FROM payments;"
}
]
from langchain_community.vectorstores import Chroma
from langchain_core.example_selectors import SemanticSimilarityExampleSelector
from langchain.embeddings import HuggingFaceEmbeddings
import google.generativeai as genai
import streamlit as st
import os
from dotenv import load_dotenv
load_dotenv()
load_dotenv()
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
# Access the value of Huggingface_API_KEY
HF_API_TOKEN = os.getenv("HF_API_TOKEN")
#embeddings = HuggingFaceEmbeddings(huggingfacehub_api_token=HF_API_TOKEN,model_name="sentence-transformers/all-MiniLM-L6-v2")
#embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
from langchain_google_genai import GoogleGenerativeAIEmbeddings
class CustomGoogleGenerativeAIEmbeddings:
def __init__(self, model, task_type=None):
# Initialize the GoogleGenerativeAIEmbeddings with the model and task type
self.embeddings = GoogleGenerativeAIEmbeddings(model=model, task_type=task_type)
def __call__(self, input):
# Use the embed_query method for single inputs
return self.embeddings.embed_query(input)
def embed_query(self, text):
# Use the embed_query method to generate an embedding for a single piece of text
return self.embeddings.embed_query(text)
def embed_documents(self, documents):
# Use the embed_documents method to generate embeddings for multiple pieces of text
return self.embeddings.embed_documents(documents)
# Usage
model = "models/embedding-001" # Replace with your actual model name
task_type = "retrieval_document" # Replace with your actual task type if needembeddings = CustomGoogleGenerativeAIEmbeddings(model=model, task_type=task_type)
embeddings = CustomGoogleGenerativeAIEmbeddings(model=model, task_type=task_type)
vectorstore = Chroma()
vectorstore.delete_collection()
@st.cache_resource
def get_example_selector():
example_selector = SemanticSimilarityExampleSelector.from_examples(
examples,
embeddings,
vectorstore,
k=4,
input_keys=["input"],
)
return example_selector