Spaces:
Build error
Build error
File size: 6,895 Bytes
283ec99 9c9ed59 b7c2467 9ff4d69 9c9ed59 283ec99 0cf2bb1 8c816fd 7c45ed7 9ff4d69 5488666 9ff4d69 325cb43 7c45ed7 62cff37 0225c88 052e0bc 3b02db9 052e0bc 3b02db9 052e0bc 62cff37 9e109c5 62cff37 9e109c5 028be0c d7c2b20 0225c88 b7c2467 25ae17f 0225c88 4621625 62cff37 b7c2467 028be0c 0225c88 d7c2b20 0225c88 d3cbcf4 028be0c d3cbcf4 25ae17f b7c2467 25ae17f 0225c88 b7c2467 028be0c 0225c88 d7c2b20 fa9b217 9c9ed59 25ae17f 9c9ed59 f8ffdb7 9c9ed59 e0a4715 9c9ed59 addef16 25ae17f 028be0c 9c9ed59 4621625 addef16 9c9ed59 ca677a9 9c9ed59 e4af97b 9c9ed59 e4af97b 9c9ed59 1afe06d 763c551 2ba68cf fa9b217 9ff4d69 0cf2bb1 a7acc0e b7c2467 2d52659 a7acc0e 62cff37 9c9ed59 62cff37 e95e8e1 2891dae 1afe06d 62cff37 |
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 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
from huggingface_hub import InferenceClient, HfApi
import gradio as gr
import datetime
return_list=[]
api=HfApi()
model_list = api.list_models(filter="text-generation")
this_obj = list(model_list)
for i,eb in enumerate(this_obj):
return_list.append(this_obj[i].id)
def search_models(a=None):
model_list = api.list_models(filter="text-generation")
this_obj = list(model_list)
for i,eb in enumerate(this_obj):
return_list.append(this_obj[i].id)
return gr.update(choices=[m for m in return_list],interactive=True)
'''
def search_models(query=None,amount=20):
model_list = api.list_models(filter="text-generation", search =f'{query}')
#print (model_list)
#print (dir(model_list))
this_obj = list(model_list)
#print (len(this_obj))
#print (this_obj[0])
#print (this_obj[0].id)
for i,eb in enumerate(this_obj):
return_list.append(this_obj[i].id)
return gr.update(choices=[m for m in return_list],interactive=True)
'''
def test_fn():
out_box=[]
generate_kwargs = dict(
temperature=0.9,
max_new_tokens=30,
top_p=0.95,
repetition_penalty=1.0,
do_sample=True,
seed=42,
)
prompt = "what is a cat?"
for i,ea in enumerate(this_obj):
model = this_obj[i].id
try:
client = InferenceClient(f'{model}')
time = datetime.datetime.now()
out = client.text_generation(prompt, **generate_kwargs)
print (this_obj[i].id +"--"+out)
tot_time=datetime.datetime.now()-time
out_box.append({"name":this_obj[i].id, "error":f"Function 1 Error :: {e}", "success":f"{out}","time":tot_time})
yield (out_box)
except Exception as e:
print (f'{this_obj[i].id}--Function 2 Error :: {e}')
tot_time=datetime.datetime.now()-time
out_box.append({"name":this_obj[i].id, "error":f"Function 2 Error :: {e}", "success":"","time":tot_time})
yield (out_box)
'''
try:
client2 = InferenceClient(this_obj[i].id)
time = datetime.datetime.now()
out = client2.text_generation(prompt, **generate_kwargs, stream=False)
print (this_obj[i].id +"--"+out1)
tot_time=datetime.datetime.now()-time
out_box.append({"name":this_obj[i].id, "error":f"Function 1 Error :: {e}", "success":f"{out1}","time":tot_time})
yield (out_box)
except Exception as e:
print (f'{this_obj[i].id}--Function 3 Error :: {e}')
tot_time=datetime.datetime.now()-time
out_box.append({"name":this_obj[i].id, "error":f"Function 3 Error :: {e}", "success":"","time":tot_time})
yield (out_box)
'''
def format_prompt(message, history):
prompt = "<s>"
for user_prompt, bot_response in history:
prompt += f"[INST] {user_prompt} [/INST]"
prompt += f" {bot_response}</s> "
prompt += f"[INST] {message} [/INST]"
return prompt
def generate(
prompt, inf_client, stream, temperature=0.9, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0,
):
client = InferenceClient(inf_client)
temperature = float(temperature)
if temperature < 1e-2:
temperature = 1e-2
top_p = float(top_p)
generate_kwargs = dict(
temperature=temperature,
max_new_tokens=30,
top_p=top_p,
repetition_penalty=repetition_penalty,
do_sample=True,
seed=42,
)
output = client.text_generation(prompt, **generate_kwargs, stream=stream)
'''
#formatted_prompt = format_prompt(f"{system_prompt}, {prompt}", history)
stream = client.text_generation(prompt, **generate_kwargs, stream=stream)
#stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=stream, details=True, return_full_text=False)
output = ""
for response in stream:
output += response.token.text
#yield output
'''
return output
additional_inputs=[
gr.Textbox(
label="System Prompt",
max_lines=1,
interactive=True,
),
gr.Slider(
label="Temperature",
value=0.9,
minimum=0.0,
maximum=1.0,
step=0.05,
interactive=True,
info="Higher values produce more diverse outputs",
),
gr.Slider(
label="Max new tokens",
value=1048,
minimum=0,
maximum=1048*10,
step=64,
interactive=True,
info="The maximum numbers of new tokens",
),
gr.Slider(
label="Top-p (nucleus sampling)",
value=0.90,
minimum=0.0,
maximum=1,
step=0.05,
interactive=True,
info="Higher values sample more low-probability tokens",
),
gr.Slider(
label="Repetition penalty",
value=1.2,
minimum=1.0,
maximum=2.0,
step=0.05,
interactive=True,
info="Penalize repeated tokens",
)
]
examples=[["I'm planning a vacation to Japan. Can you suggest a one-week itinerary including must-visit places and local cuisines to try?", None, None, None, None, None, ],
["Can you write a short story about a time-traveling detective who solves historical mysteries?", None, None, None, None, None,],
["I'm trying to learn French. Can you provide some common phrases that would be useful for a beginner, along with their pronunciations?", None, None, None, None, None,],
["I have chicken, rice, and bell peppers in my kitchen. Can you suggest an easy recipe I can make with these ingredients?", None, None, None, None, None,],
["Can you explain how the QuickSort algorithm works and provide a Python implementation?", None, None, None, None, None,],
["What are some unique features of Rust that make it stand out compared to other systems programming languages like C++?", None, None, None, None, None,],
]
with gr.Blocks() as app:
gr.Markdown("""
graph TD
A[Start] -->B[Step 1]
B --> C[Step 2]
C --> D[Step 3] --> A
D --> E[Step 4]
E --> F[End]""")
with gr.Row():
inp_query=gr.Textbox()
models_dd=gr.Dropdown(choices=[m for m in return_list],interactive=True)
with gr.Row():
button=gr.Button()
stop_button=gr.Button("Stop")
text=gr.JSON()
inp_query.change(search_models,inp_query,models_dd)
go=button.click(test_fn,None,text)
stop_button.click(None,None,None,cancels=[go])
app.launch()
"""gr.ChatInterface(
fn=generate,
chatbot=gr.Chatbot(show_label=False, show_share_button=False, show_copy_button=True, likeable=True, layout="panel"),
additional_inputs=additional_inputs,
title="Mixtral 46.7B",
examples=examples,
concurrency_limit=20,
).launch(show_api=False)""" |