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'
|