File size: 5,552 Bytes
230feb9
 
 
 
 
 
816523e
 
230feb9
 
578f72e
230feb9
 
 
 
 
 
 
 
 
 
 
ed301a5
9bbeeb3
 
 
08e91ac
578f72e
fba21b8
ed301a5
 
 
230feb9
 
4c52314
230feb9
fba21b8
0f291ad
 
4c52314
 
162a61b
fba21b8
230feb9
 
 
 
e095f1c
0f291ad
6cf144f
 
f50b6a2
b26644f
6cf144f
230feb9
f902b80
b036d2a
f902b80
063bf56
f8ce710
 
063bf56
510f936
4d09f3b
 
8dfdb85
 
 
 
 
 
 
 
 
 
54f5e08
510f936
230feb9
 
 
 
 
f6218c0
230feb9
19e6c05
230feb9
 
19e6c05
41d03bf
 
 
 
 
 
 
 
510f936
162a61b
41d03bf
0f291ad
41d03bf
162a61b
fba21b8
41d03bf
65774cb
f6218c0
230feb9
19e6c05
89577da
230feb9
41d03bf
d71a252
d32064a
230feb9
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import gradio as gr
import requests
import os 

##Bloom
API_URL = "https://api-inference.huggingface.co/models/bigscience/bloom"
HF_TOKEN = os.environ["HF_TOKEN"]
headers = {"Authorization": f"Bearer {HF_TOKEN}"}


prompt1 = """
word: risk
poem using word: And then the day came,
when the risk
to remain tight
in a bud
was more painful
than the risk
it took
to blossom.
word: """

prompt2 = """
Q: Joy has 5 balls. He buys 2 more cans of balls. Each can has 3 balls. How many balls he has now?
A: Joy had 5 balls. 2 cans of 3 balls each is 6 balls. 5 + 6 = 11. Answer is 11.
Q: Jane has 16 balls. Half balls are golf balls, and half golf balls are red. How many red golf balls are there?
A: """

prompt3 = """Q: A juggler can juggle 16 balls. Half of the balls are golf balls, and half of the golf balls are blue. How many blue golf balls are there?
A: Let’s think step by step.
"""



def text_generate(prompt, input_prompt_sql ): #, input_prompt_dalle2):

  print(f"*****Inside poem_generate - Prompt is :{prompt}")
  if input_prompt_sql != '':
    prompt = "Instruction: Given an input question, respond with syntactically correct PostgreSQL\nInput: " +input_prompt_sql + "\nPostgreSQL query: "
  #elif input_prompt_dalle2 !='':
  #  prompt = "Dalle Prompt: " + input_prompt_dalle2 + "\nNew Dalle Prompt: "
    
  json_ = {"inputs": prompt,
            "parameters":
            {
            "top_p": 0.9,
          "temperature": 1.1,
          "max_new_tokens": 250,
          "return_full_text": False,
          }, 
          "options": 
          {"use_cache": True,
          "wait_for_model": True,
          },}
  response = requests.post(API_URL, headers=headers, json=json_)
  print(f"Response  is : {response}")
  output = response.json()
  print(f"output is : {output}") #{output}")
  output_tmp = output[0]['generated_text']
  print(f"output_tmp is: {output_tmp}")
  solution = output_tmp.split("\nQ:")[0]   #output[0]['generated_text'].split("Q:")[0] # +"."
  print(f"Final response after splits is: {solution}")
  final_solution = solution.split("\nOutput:")[0] 
  print(f"Response after removing output is: {final_solution}")
  
  #if "\n\n" not in output_tmp:
  #  if output_tmp.find('.') != -1:
  #    idx = output_tmp.find('.')
  #    poem = output_tmp[:idx+1]
  #  else:
  #    idx = output_tmp.rfind('\n')
  #    poem = output_tmp[:idx]
  #else:
  #  poem = output_tmp.split("\n\n")[0] # +"."
  #poem = poem.replace('?','')
  #print(f"Poem being returned is: {poem}")
  return final_solution #solution #output #response #output_tmp #poem


demo = gr.Blocks()

with demo:
  gr.Markdown("<h1><center>Bloom</center></h1>")
  gr.Markdown(
        """Testing Bloom for SQL generation """
        )
  with gr.Row():
    #example_prompt = gr.Radio( ["Q: A juggler can juggle 16 balls. Half of the balls are golf balls, and half of the golf balls are blue. How many blue golf balls are there?\nA: Let’s think step by step.\n"], label= "Choose a sample Prompt")
    example_prompt = gr.Radio( [
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL\nInput: How many users signed up in the past month?\nPostgreSQL query: ", 
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL\nInput: Create a query that displays empfname, emplname, deptid, deptname, location from employee table. Results should be in the ascending order based on the empfname and location.\nPostgreSQL query: ", 
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL. Only use tables called 'employees'.\nInput: What is the total salary paid to all the employees?\nPostgreSQL query: ",
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL. Only use tables called 'employees'.\nInput: List names of all the employees whose name end with 'r'.\nPostgreSQL query: ",
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL. Only use tables called 'employees'.\nInput: What are the number of employees in each department?\nPostgreSQL query: ",
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL. Only use table called 'employees'.\nInput: Select names of all theemployees who have third character in their name as 't'.\nPostgreSQL query: ",
    "Instruction: Given an input question, respond with syntactically correct PostgreSQL. Only use table called 'employees'.\nInput: Select names of all the employees who are working under 'Peter'\nPostgreSQL query: ",  ], label= "Choose a sample Prompt")
    #"Dalle Prompt: Cyberwave vaporpunk art of a kneeling figure, looking up at a glowing neon book icon, smoke and mist, pink and blue lighting, cybernetic sci-fi render\nNew Dalle Prompt: " ], label= "Choose a sample Prompt")
    
  with gr.Row():
    input_prompt_sql = gr.Textbox(label="Or Write text to get SQL commands...")
    #input_prompt_dalle2 = gr.Textbox(label="Or Write sample Dalle2 prompts to get more Prompt ideas...")
    
    #input_word = gr.Textbox(placeholder="Enter a word here to generate text ...")
  with gr.Row():
    generated_txt = gr.Textbox(lines=7)
    #output_image = gr.Image(type="filepath", shape=(256,256))
  
  b1 = gr.Button("Generate SQL")
  #b2 = gr.Button("Generate Image") 

  b1.click(text_generate,inputs=[example_prompt, input_prompt_sql], outputs=generated_txt) #input_word #input_prompt_dalle2
  #b2.click(poem_to_image, poem_txt, output_image)
  #examples=examples 

demo.launch(enable_queue=True, debug=True)