Spaces:
Runtime error
Runtime error
File size: 6,727 Bytes
230feb9 816523e 230feb9 578f72e 230feb9 ed301a5 9bbeeb3 08e91ac 578f72e fba21b8 ed301a5 230feb9 c85a2a5 230feb9 4e54cd8 1484fcc 4c52314 162a61b fba21b8 230feb9 e095f1c a3478cf 8172228 6cf144f f50b6a2 b26644f 6cf144f 230feb9 f902b80 b036d2a 4e54cd8 063bf56 f8ce710 4e54cd8 063bf56 e8037e0 c5e7afd e8037e0 4d09f3b 712d883 650be9a 14bc821 650be9a 1b8cd19 4e54cd8 94473bd d87c30e 712d883 6aca058 712d883 4e54cd8 6aca058 4e54cd8 6aca058 712d883 4e54cd8 712d883 4e54cd8 650be9a 230feb9 f6218c0 230feb9 19e6c05 230feb9 19e6c05 b5e28dd 510f936 162a61b e8037e0 8172228 41d03bf c85a2a5 fba21b8 41d03bf 8172228 f6218c0 230feb9 b5e28dd 89577da 230feb9 c85a2a5 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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
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, generated_txt): #, input_prompt_sql ): #, input_prompt_dalle2):
print(f"*****Inside text_generate - Prompt is :{prompt}")
#if input_prompt_sql != '':
# prompt = input_prompt_sql #"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": True,
"do_sample":True,
},
"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_tmp = output[0]['generated_text']
print(f"output_tmp is: {output_tmp}")
solution = output_tmp.split("\nQ:")[0]
print(f"Final response after splits is: {solution}")
if '\nOutput:' in solution:
final_solution = solution.split("\nOutput:")[0]
print(f"Response after removing output is: {final_solution}")
elif '\n\n' in solution:
final_solution = solution.split("\n\n")[0]
print(f"Response after removing new line entries is: {final_solution}")
else:
final_solution = solution
if len(generated_txt) == 0 :
display_output = final_solution
else:
display_output = generated_txt[:-len(prompt)] + final_solution
new_prompt = final_solution[len(prompt):]
print(f"new prompt for next cycle is : {new_prompt}")
print(f"display_output for printing on screen is : {display_output}")
if len(new_prompt) == 0:
temp_text = display_output[::-1]
print(f"What is the last character of sentence? : {temp_text[0]}")
if temp_text[1] == '.':
first_period_loc = temp_text[2:].find('.') + 1
print(f"Location of last Period is: {first_period_loc}")
new_prompt = display_output[-first_period_loc:-1]
print(f"Not sending blank as prompt so new prompt for next cycle is : {new_prompt}")
else:
print("HERE")
first_period_loc = temp_text.find('.')
print(f"Location of last Period is : {first_period_loc}")
new_prompt = display_output[-first_period_loc:-1]
print(f"Not sending blank as prompt so new prompt for next cycle is : {new_prompt}")
display_output = display_output[:-1]
return display_output, new_prompt #generated_txt+prompt #final_solution
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 = gr.Textbox(label="Write some text to get started...", lines=3) #input_prompt_sql
#input_prompt_dalle2 = gr.Textbox(label="Or Write sample Dalle2 prompts to get more Prompt ideas...")
#input_prompt2 = gr.Textbox(label="Write some text to get started...", lines=3, visible=False) #input_prompt_sql
#input_word = gr.Textbox(placeholder="Enter a word here to generate text ...")
with gr.Row():
generated_txt = gr.Textbox(lines=7, visible = True)
#output_image = gr.Image(type="filepath", shape=(256,256))
b1 = gr.Button("Generate Text")
#b2 = gr.Button("Generate Image")
b1.click(text_generate, inputs=[input_prompt, generated_txt], outputs=[generated_txt, input_prompt]) #input_word #input_prompt_dalle2 #input_prompt_sql #example_prompt
#b2.click(poem_to_image, poem_txt, output_image)
#examples=examples
demo.launch(enable_queue=True, debug=True) |