Spaces:
Build error
Build error
Add clear last round button.
Browse files- .gitignore +2 -0
- app.py +17 -7
- fromage/models.py +1 -1
.gitignore
CHANGED
|
@@ -1,2 +1,4 @@
|
|
| 1 |
.DS_Store
|
| 2 |
venv/
|
|
|
|
|
|
|
|
|
| 1 |
.DS_Store
|
| 2 |
venv/
|
| 3 |
+
__pycache__
|
| 4 |
+
*.pyc
|
app.py
CHANGED
|
@@ -52,6 +52,13 @@ def reset():
|
|
| 52 |
return [[], [], None], []
|
| 53 |
|
| 54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
def save_image_to_local(image: Image.Image):
|
| 56 |
# TODO(jykoh): Update so the url path is used, to prevent repeat saving.
|
| 57 |
filename = next(tempfile._get_candidate_names()) + '.png'
|
|
@@ -81,7 +88,7 @@ def generate_for_prompt(input_text, state, ret_scale_factor, max_nm_rets, num_wo
|
|
| 81 |
|
| 82 |
print('Running model.generate_for_images_and_texts with', model_inputs, flush=True)
|
| 83 |
model_outputs = model.generate_for_images_and_texts(model_inputs,
|
| 84 |
-
num_words=num_words, ret_scale_factor=ret_scale_factor, top_p=top_p,
|
| 85 |
temperature=temperature, max_num_rets=max_nm_rets)
|
| 86 |
print('model_outputs', model_outputs, flush=True)
|
| 87 |
|
|
@@ -130,17 +137,19 @@ with gr.Blocks(css=css) as demo:
|
|
| 130 |
with gr.Column(scale=0.3, min_width=100):
|
| 131 |
ret_scale_factor = gr.Slider(minimum=0.0, maximum=3.0, value=1.0, step=0.1, interactive=True, label="Multiplier for returning images (higher means more frequent)")
|
| 132 |
max_ret_images = gr.Number(minimum=0, maximum=3, value=1, precision=1, interactive=True, label="Max images to return")
|
| 133 |
-
gr_max_len = gr.
|
| 134 |
-
gr_temperature = gr.
|
| 135 |
|
| 136 |
with gr.Column(scale=0.7, min_width=400):
|
| 137 |
image_btn = gr.UploadButton("🖼️ Image Input", file_types=["image"])
|
| 138 |
text_input = gr.Textbox(label="Chat Input", lines=1, placeholder="Upload an image above [optional]. Then enter a text prompt, and press enter!")
|
| 139 |
|
| 140 |
with gr.Row():
|
| 141 |
-
with gr.Column(scale=0.
|
| 142 |
submit_btn = gr.Button("Submit", interactive=True, variant="primary")
|
| 143 |
-
with gr.Column(scale=0.
|
|
|
|
|
|
|
| 144 |
clear_btn = gr.Button("Clear History")
|
| 145 |
|
| 146 |
text_input.submit(generate_for_prompt, [text_input, gr_state, ret_scale_factor, max_ret_images, gr_max_len, gr_temperature], [gr_state, chatbot])
|
|
@@ -149,9 +158,10 @@ with gr.Blocks(css=css) as demo:
|
|
| 149 |
submit_btn.click(lambda: "", None, text_input) # Reset chatbox.
|
| 150 |
|
| 151 |
image_btn.upload(upload_image, [gr_state, image_btn], [gr_state, chatbot])
|
|
|
|
| 152 |
clear_btn.click(reset, [], [gr_state, chatbot])
|
| 153 |
share_button.click(None, [], [], _js=share_js)
|
| 154 |
|
| 155 |
|
| 156 |
-
demo.queue(concurrency_count=1, api_open=False, max_size=16)
|
| 157 |
-
demo.launch(debug=True, server_name="
|
|
|
|
| 52 |
return [[], [], None], []
|
| 53 |
|
| 54 |
|
| 55 |
+
def reset_last(state):
|
| 56 |
+
conversation = state[0][:-1]
|
| 57 |
+
chat_history = state[1][:-2]
|
| 58 |
+
input_image = state[2]
|
| 59 |
+
return [conversation, chat_history, input_image], conversation
|
| 60 |
+
|
| 61 |
+
|
| 62 |
def save_image_to_local(image: Image.Image):
|
| 63 |
# TODO(jykoh): Update so the url path is used, to prevent repeat saving.
|
| 64 |
filename = next(tempfile._get_candidate_names()) + '.png'
|
|
|
|
| 88 |
|
| 89 |
print('Running model.generate_for_images_and_texts with', model_inputs, flush=True)
|
| 90 |
model_outputs = model.generate_for_images_and_texts(model_inputs,
|
| 91 |
+
num_words=max(num_words, 1), ret_scale_factor=ret_scale_factor, top_p=top_p,
|
| 92 |
temperature=temperature, max_num_rets=max_nm_rets)
|
| 93 |
print('model_outputs', model_outputs, flush=True)
|
| 94 |
|
|
|
|
| 137 |
with gr.Column(scale=0.3, min_width=100):
|
| 138 |
ret_scale_factor = gr.Slider(minimum=0.0, maximum=3.0, value=1.0, step=0.1, interactive=True, label="Multiplier for returning images (higher means more frequent)")
|
| 139 |
max_ret_images = gr.Number(minimum=0, maximum=3, value=1, precision=1, interactive=True, label="Max images to return")
|
| 140 |
+
gr_max_len = gr.Slider(minimum=1, maximum=64, value=32, step=1, interactive=True, label="Max # of words returned")
|
| 141 |
+
gr_temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.0, interactive=True, label="Temperature")
|
| 142 |
|
| 143 |
with gr.Column(scale=0.7, min_width=400):
|
| 144 |
image_btn = gr.UploadButton("🖼️ Image Input", file_types=["image"])
|
| 145 |
text_input = gr.Textbox(label="Chat Input", lines=1, placeholder="Upload an image above [optional]. Then enter a text prompt, and press enter!")
|
| 146 |
|
| 147 |
with gr.Row():
|
| 148 |
+
with gr.Column(scale=0.33):
|
| 149 |
submit_btn = gr.Button("Submit", interactive=True, variant="primary")
|
| 150 |
+
with gr.Column(scale=0.33):
|
| 151 |
+
clear_last_btn = gr.Button("Clear Last Round")
|
| 152 |
+
with gr.Column(scale=0.33):
|
| 153 |
clear_btn = gr.Button("Clear History")
|
| 154 |
|
| 155 |
text_input.submit(generate_for_prompt, [text_input, gr_state, ret_scale_factor, max_ret_images, gr_max_len, gr_temperature], [gr_state, chatbot])
|
|
|
|
| 158 |
submit_btn.click(lambda: "", None, text_input) # Reset chatbox.
|
| 159 |
|
| 160 |
image_btn.upload(upload_image, [gr_state, image_btn], [gr_state, chatbot])
|
| 161 |
+
clear_last_btn.click(reset_last, [gr_state], [gr_state, chatbot])
|
| 162 |
clear_btn.click(reset, [], [gr_state, chatbot])
|
| 163 |
share_button.click(None, [], [], _js=share_js)
|
| 164 |
|
| 165 |
|
| 166 |
+
# demo.queue(concurrency_count=1, api_open=False, max_size=16)
|
| 167 |
+
demo.launch(debug=True, server_name="127.0.0.1")
|
fromage/models.py
CHANGED
|
@@ -635,7 +635,7 @@ def load_fromage(embeddings_dir: str, model_args_path: str, model_ckpt_path: str
|
|
| 635 |
assert len(ret_token_idx) == 1, ret_token_idx
|
| 636 |
model_kwargs['retrieval_token_idx'] = ret_token_idx[0]
|
| 637 |
|
| 638 |
-
debug =
|
| 639 |
if debug:
|
| 640 |
model_kwargs['opt_version'] = 'facebook/opt-125m'
|
| 641 |
model_kwargs['visual_encoder'] = 'openai/clip-vit-base-patch32'
|
|
|
|
| 635 |
assert len(ret_token_idx) == 1, ret_token_idx
|
| 636 |
model_kwargs['retrieval_token_idx'] = ret_token_idx[0]
|
| 637 |
|
| 638 |
+
debug = True
|
| 639 |
if debug:
|
| 640 |
model_kwargs['opt_version'] = 'facebook/opt-125m'
|
| 641 |
model_kwargs['visual_encoder'] = 'openai/clip-vit-base-patch32'
|