Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1323,22 +1323,21 @@ with gr.Blocks(theme=gr.themes.Soft(), css=".gr-button { margin: 5px; } .gr-text
|
|
1323 |
memory_backend_info_tb = gr.Textbox(label="Memory Backend", value=MEMORY_STORAGE_BACKEND, interactive=False, elem_classes=["status-text"])
|
1324 |
sqlite_path_display = gr.Textbox(label="SQLite Path", value=MEMORY_SQLITE_PATH, interactive=False, visible=is_sqlite, elem_classes=["status-text"])
|
1325 |
hf_repos_display = gr.Textbox(label="HF Repos", value=f"M: {MEMORY_HF_MEM_REPO}, R: {MEMORY_HF_RULES_REPO}", interactive=False, visible=is_hf_dataset, elem_classes=["status-text"])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1326 |
|
1327 |
with gr.Tabs():
|
1328 |
with gr.TabItem("💬 Chat & Research"):
|
1329 |
with gr.Row():
|
1330 |
-
with gr.Sidebar():
|
1331 |
-
gr.Markdown("## ⚙️ Configuration")
|
1332 |
-
with gr.Group():
|
1333 |
-
gr.Markdown("### AI Model Settings")
|
1334 |
-
api_key_tb = gr.Textbox(label="AI Provider API Key (Override)", type="password", placeholder="Uses .env if blank")
|
1335 |
-
available_providers = get_available_providers(); default_provider = available_providers[0] if "groq" not in available_providers else "groq"
|
1336 |
-
prov_sel_dd = gr.Dropdown(label="AI Provider", choices=available_providers, value=default_provider, interactive=True)
|
1337 |
-
default_model_display = get_default_model_display_name_for_provider(default_provider) if default_provider else None
|
1338 |
-
model_sel_dd = gr.Dropdown(label="AI Model", choices=get_model_display_names_for_provider(default_provider) if default_provider else [], value=default_model_display, interactive=True)
|
1339 |
-
with gr.Group():
|
1340 |
-
gr.Markdown("### System Prompt"); sys_prompt_tb = gr.Textbox(label="System Prompt Base", lines=8, value=DEFAULT_SYSTEM_PROMPT, interactive=True)
|
1341 |
-
|
1342 |
with gr.Column(scale=3):
|
1343 |
gr.Markdown("### AI Chat Interface")
|
1344 |
main_chat_disp = gr.Chatbot(label=None, height=450, bubble_full_width=False,avatar_images=(None, "https://huggingface.co/spaces/Space-Share/bucket/resolve/main/images/pfp.webp"), show_copy_button=True, render_markdown=True, sanitize_html=True)
|
@@ -1403,14 +1402,23 @@ with gr.Blocks(theme=gr.themes.Soft(), css=".gr-button { margin: 5px; } .gr-text
|
|
1403 |
upload_mems_fobj = gr.File(label="3. Memories File Source (.json/.jsonl)", file_types=[".jsonl", ".json"], interactive=not DEMO_MODE)
|
1404 |
|
1405 |
load_master_btn = gr.Button("⬆️ Load from Sources", variant="primary", interactive=not DEMO_MODE)
|
1406 |
-
|
1407 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1408 |
# --- Event Wiring ---
|
1409 |
def dyn_upd_model_dd(sel_prov_dyn: str):
|
1410 |
models_dyn = get_model_display_names_for_provider(sel_prov_dyn); def_model_dyn = get_default_model_display_name_for_provider(sel_prov_dyn)
|
1411 |
return gr.Dropdown(choices=models_dyn, value=def_model_dyn, interactive=True)
|
1412 |
prov_sel_dd.change(fn=dyn_upd_model_dd, inputs=prov_sel_dd, outputs=model_sel_dd)
|
1413 |
|
|
|
|
|
1414 |
# Chat Tab
|
1415 |
chat_ins = [user_msg_tb, main_chat_disp, prov_sel_dd, model_sel_dd, api_key_tb, sys_prompt_tb]
|
1416 |
chat_outs = [user_msg_tb, main_chat_disp, agent_stat_tb, detect_out_md, fmt_report_tb, dl_report_btn, rules_disp_ta, mems_disp_json]
|
|
|
1323 |
memory_backend_info_tb = gr.Textbox(label="Memory Backend", value=MEMORY_STORAGE_BACKEND, interactive=False, elem_classes=["status-text"])
|
1324 |
sqlite_path_display = gr.Textbox(label="SQLite Path", value=MEMORY_SQLITE_PATH, interactive=False, visible=is_sqlite, elem_classes=["status-text"])
|
1325 |
hf_repos_display = gr.Textbox(label="HF Repos", value=f"M: {MEMORY_HF_MEM_REPO}, R: {MEMORY_HF_RULES_REPO}", interactive=False, visible=is_hf_dataset, elem_classes=["status-text"])
|
1326 |
+
with gr.Sidebar():
|
1327 |
+
gr.Markdown("## ⚙️ Configuration")
|
1328 |
+
with gr.Group():
|
1329 |
+
gr.Markdown("### AI Model Settings")
|
1330 |
+
api_key_tb = gr.Textbox(label="AI Provider API Key (Override)", type="password", placeholder="Uses .env if blank")
|
1331 |
+
available_providers = get_available_providers(); default_provider = available_providers[0] if "groq" not in available_providers else "groq"
|
1332 |
+
prov_sel_dd = gr.Dropdown(label="AI Provider", choices=available_providers, value=default_provider, interactive=True)
|
1333 |
+
default_model_display = get_default_model_display_name_for_provider(default_provider) if default_provider else None
|
1334 |
+
model_sel_dd = gr.Dropdown(label="AI Model", choices=get_model_display_names_for_provider(default_provider) if default_provider else [], value=default_model_display, interactive=True)
|
1335 |
+
with gr.Group():
|
1336 |
+
gr.Markdown("### System Prompt"); sys_prompt_tb = gr.Textbox(label="System Prompt Base", lines=8, value=DEFAULT_SYSTEM_PROMPT, interactive=True)
|
1337 |
|
1338 |
with gr.Tabs():
|
1339 |
with gr.TabItem("💬 Chat & Research"):
|
1340 |
with gr.Row():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1341 |
with gr.Column(scale=3):
|
1342 |
gr.Markdown("### AI Chat Interface")
|
1343 |
main_chat_disp = gr.Chatbot(label=None, height=450, bubble_full_width=False,avatar_images=(None, "https://huggingface.co/spaces/Space-Share/bucket/resolve/main/images/pfp.webp"), show_copy_button=True, render_markdown=True, sanitize_html=True)
|
|
|
1402 |
upload_mems_fobj = gr.File(label="3. Memories File Source (.json/.jsonl)", file_types=[".jsonl", ".json"], interactive=not DEMO_MODE)
|
1403 |
|
1404 |
load_master_btn = gr.Button("⬆️ Load from Sources", variant="primary", interactive=not DEMO_MODE)
|
1405 |
+
gr.Examples(
|
1406 |
+
|
1407 |
+
examples=[
|
1408 |
+
["./evolutions/e0.01.01.png", ""],
|
1409 |
+
|
1410 |
+
],
|
1411 |
+
inputs=[upload_kb_img_fobj, load_kb_password_tb],
|
1412 |
+
label="Click an Example to Load Data"
|
1413 |
+
)
|
1414 |
# --- Event Wiring ---
|
1415 |
def dyn_upd_model_dd(sel_prov_dyn: str):
|
1416 |
models_dyn = get_model_display_names_for_provider(sel_prov_dyn); def_model_dyn = get_default_model_display_name_for_provider(sel_prov_dyn)
|
1417 |
return gr.Dropdown(choices=models_dyn, value=def_model_dyn, interactive=True)
|
1418 |
prov_sel_dd.change(fn=dyn_upd_model_dd, inputs=prov_sel_dd, outputs=model_sel_dd)
|
1419 |
|
1420 |
+
|
1421 |
+
|
1422 |
# Chat Tab
|
1423 |
chat_ins = [user_msg_tb, main_chat_disp, prov_sel_dd, model_sel_dd, api_key_tb, sys_prompt_tb]
|
1424 |
chat_outs = [user_msg_tb, main_chat_disp, agent_stat_tb, detect_out_md, fmt_report_tb, dl_report_btn, rules_disp_ta, mems_disp_json]
|