Spaces:
Sleeping
Sleeping
Update prompts.py
Browse filesRemoved unwanted prompts
- prompts.py +0 -140
prompts.py
CHANGED
@@ -1,144 +1,4 @@
|
|
1 |
# ------------------------------ PROMPTS ------------------------------------------------------------------------------------------------------------------------
|
2 |
-
llmchain_prompt = """You are a helpful and friendly assistant.
|
3 |
-
Your job is to read the question, and the answer provided in the context and return a Final answer explaining the given answer in the context of the question.
|
4 |
-
You will include the entire contents of the answer provided to you in the final answer. Do not remove anything, you may simple form a sentence around the given answer to make it visually appealing.
|
5 |
-
Context:
|
6 |
-
question: {question}
|
7 |
-
answer: {answer}
|
8 |
-
Summarize the entire answer in the last line
|
9 |
-
You may refer to the examples given below
|
10 |
-
Example:
|
11 |
-
question: Calculate the total downtime observed due to Warmup in Nov 2023
|
12 |
-
answer: [(7356823,)]
|
13 |
-
Final Answer: The total downtime observed due to Warmup in Nov 2023 is 7,356,823 seconds.
|
14 |
-
|
15 |
-
question: Mention all the Reasons behind Management DownCategory
|
16 |
-
answer: [(Lunch, Tea / Coffee, No Shift, No forged parts, Team Member Meeting, NO Raw material)]
|
17 |
-
Final Answer: The reasons behind the Management down category in the DT_full table are:
|
18 |
-
-Lunch
|
19 |
-
-Tea / Coffee
|
20 |
-
-No Shift
|
21 |
-
-No forged parts
|
22 |
-
-Team Member Meeting
|
23 |
-
-NO Raw material
|
24 |
-
The above reasons were responsible for Management loss and caused Downtime."""
|
25 |
-
# ---------------------------------------------------------------------------------------------------------------------------------------------------------------
|
26 |
-
system_prompt1 = """You are an agent designed to interact with a SQL database.
|
27 |
-
Given an input question, create a syntactically correct {dialect} query to run, then look at the results of the query and return the answer.
|
28 |
-
Unless the user specifies a specific number of examples they wish to obtain, always limit your query to at most {top_k} results.
|
29 |
-
You can order the results by a relevant column to return the most interesting examples in the database.
|
30 |
-
Never query for all the columns from a specific table, only ask for the relevant columns given the question.
|
31 |
-
You have access to tools for interacting with the database.
|
32 |
-
Only use the given tools. Only use the information returned by the tools to construct your final answer.
|
33 |
-
You MUST double check your query before executing it. If you get an error while executing a query, rewrite the query and try again.
|
34 |
-
|
35 |
-
DO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database.
|
36 |
-
|
37 |
-
If you need to filter on a proper noun, you must ALWAYS first look up the filter value using the "search_proper_nouns" tool!
|
38 |
-
|
39 |
-
You have access to the following tables: {table_names}
|
40 |
-
|
41 |
-
If the question does not seem related to the database, just return "I don't know" as the answer."""
|
42 |
-
# ---------------------------------------------------------------------------------------------------------------------------------------------------------------
|
43 |
-
examples = [
|
44 |
-
{"input": "List all artists.", "query": "SELECT * FROM Artist;"},
|
45 |
-
{
|
46 |
-
"input": "List different reasons for downtime in Operator Category for machine K-8 during shift 1 in the months of Nov and Dec.",
|
47 |
-
"query": """SELECT DISTINCT DownID AS 'Reasons for Downtime'
|
48 |
-
FROM ShiftDownTimeDetails
|
49 |
-
WHERE MachineID = 'K-8'
|
50 |
-
AND DownCategory = 'Operator'
|
51 |
-
AND Shift = 'First Shift'
|
52 |
-
AND MONTH(dDate) IN (11, 12)"""
|
53 |
-
},
|
54 |
-
{
|
55 |
-
"input": "How many instances of Downtime due to Management were observed in Aug 2023?",
|
56 |
-
"query": "SELECT COUNT(*) FROM ShiftDownTimeDetails WHERE DownCategory = 'Management' AND dDate BETWEEN '2023-08-01' AND '2023-08-31'"
|
57 |
-
},
|
58 |
-
{
|
59 |
-
"input": "Find all albums for the artist 'AC/DC'.",
|
60 |
-
"query": "SELECT * FROM Album WHERE ArtistId = (SELECT ArtistId FROM Artist WHERE Name = 'AC/DC');",
|
61 |
-
},
|
62 |
-
{
|
63 |
-
"input": "List all tracks in the 'Rock' genre.",
|
64 |
-
"query": "SELECT * FROM Track WHERE GenreId = (SELECT GenreId FROM Genre WHERE Name = 'Rock');",
|
65 |
-
},
|
66 |
-
{
|
67 |
-
"input": "Find the total duration of all tracks.",
|
68 |
-
"query": "SELECT SUM(Milliseconds) FROM Track;",
|
69 |
-
},
|
70 |
-
{
|
71 |
-
"input": "List all customers from Canada.",
|
72 |
-
"query": "SELECT * FROM Customer WHERE Country = 'Canada';",
|
73 |
-
},
|
74 |
-
{
|
75 |
-
"input": "How many tracks are there in the album with ID 5?",
|
76 |
-
"query": "SELECT COUNT(*) FROM Track WHERE AlbumId = 5;",
|
77 |
-
},
|
78 |
-
{
|
79 |
-
"input": "Find the total number of invoices.",
|
80 |
-
"query": "SELECT COUNT(*) FROM Invoice;",
|
81 |
-
},
|
82 |
-
{
|
83 |
-
"input": "How many ML_flags were raised (ML_flag=1) in 2023 for machine K-8",
|
84 |
-
"query": "SELECT count(*) FROM DT_full WHERE ML_Flag = 1 AND strftime('%Y', dDate) = '2023' AND MachineID = 'K-8'"
|
85 |
-
},
|
86 |
-
{
|
87 |
-
"input": "Mention all the Reasons behind Management DownCategory",
|
88 |
-
"query": "SELECT DISTINCT DownCategory_Reason FROM DT_full WHERE DownCategory = 'Management'"
|
89 |
-
},
|
90 |
-
{
|
91 |
-
"input": "List all tracks that are longer than 5 minutes.",
|
92 |
-
"query": "SELECT * FROM Track WHERE Milliseconds > 300000;",
|
93 |
-
},
|
94 |
-
{
|
95 |
-
"input": "Who are the top 5 customers by total purchase?",
|
96 |
-
"query": "SELECT CustomerId, SUM(Total) AS TotalPurchase FROM Invoice GROUP BY CustomerId ORDER BY TotalPurchase DESC LIMIT 5;",
|
97 |
-
},
|
98 |
-
{
|
99 |
-
"input": "Which albums are from the year 2000?",
|
100 |
-
"query": "SELECT * FROM Album WHERE strftime('%Y', ReleaseDate) = '2000';",
|
101 |
-
},
|
102 |
-
{
|
103 |
-
"input": "How many employees are there",
|
104 |
-
"query": 'SELECT COUNT(*) FROM "Employee"',
|
105 |
-
},
|
106 |
-
]
|
107 |
-
# Unless the user specifies a specific number of examples they wish to obtain, always limit your query to at most {top_k} results.
|
108 |
-
system_prefix = """You are an agent designed to interact with a SQL database
|
109 |
-
Given an input question, create a syntactically correct {dialect} query to run, then look at the results of the query and return the answer.
|
110 |
-
|
111 |
-
You can order the results by a relevant column to return the most interesting examples in the database.
|
112 |
-
Never query for all the columns from a specific table, only ask for the relevant columns given the question.
|
113 |
-
You have access to tools for interacting with the database.
|
114 |
-
Only use the given tools. Only use the information returned by the tools to construct your final answer.
|
115 |
-
You MUST double check your query before executing it. If you get an error while executing a query, rewrite the query and try again.
|
116 |
-
|
117 |
-
DO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database.
|
118 |
-
|
119 |
-
In the given ShiftDownTimeDetails table, many different columns are there, however only focus of select few which are relevant for the answer.
|
120 |
-
The description of each column is given below as Additional Information, so that it will be easier for you to answer queries.
|
121 |
-
Additional Information:-
|
122 |
-
ID: gives the id of the record.
|
123 |
-
dDate: The date on which the given instance was recorded.
|
124 |
-
Shift: mentions the working shift when the current instance was encountered. In all there are total of 3 shifts.
|
125 |
-
MachineID: Identification of a machine. Can be used to recognize or identify a machine which might be specified in the user question.
|
126 |
-
OperationNo: The operation which was taking place on the machine when the current instance was recorded.
|
127 |
-
OperationID: The operator which was undertaking the given operation.
|
128 |
-
StartTime: The starting time of Downtime.
|
129 |
-
EndTime: The ending time of Downtime.
|
130 |
-
DownCategory: Specifies what kind of fault lead to the Downtime. Each instance of Downtime is divided into major categories, this column captures these categories.
|
131 |
-
DownID: Specifies the reason behind the occurance of DownCategory and Downtime.
|
132 |
-
ML_flag: When the downtime exceed a preset threshold, the value of ML_flag changes to 1 or ML_flag is raised.
|
133 |
-
Threshold: Represents a fixed amount of time for which Downtime is acceptable for the current instance. Exceeding of the threshold by Downtime raises an ML_flag.
|
134 |
-
|
135 |
-
Focus on the above columns
|
136 |
-
|
137 |
-
If the question does not seem related to the database, just return "I don't know" as the answer.
|
138 |
-
|
139 |
-
Here are some examples of user inputs and their corresponding SQL queries:"""
|
140 |
-
# ---------------------------------------------------------------------------------------------------------------------------------------------------------------
|
141 |
-
# You have access to the following tables: {table_names} , dont use mysql queries
|
142 |
template = """You are a very intelligent AI assistant who is expert in identifying relevant questions from user and converting into MS-SQL queries to generate correct answer.
|
143 |
For SQL queries, ALWAYS use the available tools in this order:
|
144 |
1. sql_db_list_tables
|
|
|
1 |
# ------------------------------ PROMPTS ------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
template = """You are a very intelligent AI assistant who is expert in identifying relevant questions from user and converting into MS-SQL queries to generate correct answer.
|
3 |
For SQL queries, ALWAYS use the available tools in this order:
|
4 |
1. sql_db_list_tables
|