Update app.py
Browse files
app.py
CHANGED
@@ -30,9 +30,13 @@ try:
|
|
30 |
print("model_logic.py loaded successfully.")
|
31 |
except ImportError:
|
32 |
print("Warning: Local modules (build_logic.py, model_logic.py) not found. Using dummy functions.")
|
33 |
-
def get_available_providers(): return ["DummyProvider"]
|
34 |
-
def get_models_for_provider(p):
|
35 |
-
|
|
|
|
|
|
|
|
|
36 |
# The dummy function already accepts the api_key argument ('a')
|
37 |
def generate_stream(p, m, a, msgs):
|
38 |
yield f"Using dummy model. API Key provided: {'Yes' if a else 'No'}. This is a dummy response as local modules were not found."
|
@@ -724,9 +728,31 @@ with gr.Blocks(theme=custom_theme, css=custom_css) as demo:
|
|
724 |
load_space_button = gr.Button("π Load Existing Space", variant="secondary")
|
725 |
|
726 |
with gr.Accordion("π€ AI Model Settings", open=True):
|
727 |
-
|
728 |
-
|
729 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
730 |
provider_api_key_input = gr.Textbox(label="Model Provider API Key (Optional)", type="password", placeholder="sk_... (overrides backend settings)")
|
731 |
system_prompt_input = gr.Textbox(label="System Prompt", lines=10, value=DEFAULT_SYSTEM_PROMPT, elem_id="system-prompt")
|
732 |
|
@@ -781,7 +807,6 @@ with gr.Blocks(theme=custom_theme, css=custom_css) as demo:
|
|
781 |
# --- Event Listeners ---
|
782 |
provider_select.change(update_models_dropdown, inputs=provider_select, outputs=model_select)
|
783 |
|
784 |
-
# --- UPDATED chat_inputs LIST ---
|
785 |
chat_inputs = [chat_message_input, chatbot_display, hf_api_key_input, provider_api_key_input, provider_select, model_select, system_prompt_input, owner_name_input, space_name_input]
|
786 |
chat_outputs = [
|
787 |
chat_message_input, chatbot_display, status_output,
|
|
|
30 |
print("model_logic.py loaded successfully.")
|
31 |
except ImportError:
|
32 |
print("Warning: Local modules (build_logic.py, model_logic.py) not found. Using dummy functions.")
|
33 |
+
def get_available_providers(): return ["DummyProvider", "Groq"] # Added Groq for testing
|
34 |
+
def get_models_for_provider(p):
|
35 |
+
if p == 'Groq': return ["llama3-8b-8192", "gemma-7b-it"]
|
36 |
+
return ["dummy-model"]
|
37 |
+
def get_default_model_for_provider(p):
|
38 |
+
if p == 'Groq': return "llama3-8b-8192"
|
39 |
+
return "dummy-model"
|
40 |
# The dummy function already accepts the api_key argument ('a')
|
41 |
def generate_stream(p, m, a, msgs):
|
42 |
yield f"Using dummy model. API Key provided: {'Yes' if a else 'No'}. This is a dummy response as local modules were not found."
|
|
|
728 |
load_space_button = gr.Button("π Load Existing Space", variant="secondary")
|
729 |
|
730 |
with gr.Accordion("π€ AI Model Settings", open=True):
|
731 |
+
# --- MODIFIED: Set up default provider and model logic on load ---
|
732 |
+
available_providers = get_available_providers()
|
733 |
+
default_provider = 'Groq'
|
734 |
+
# Fallback if 'Groq' is not an option
|
735 |
+
if default_provider not in available_providers:
|
736 |
+
default_provider = available_providers[0] if available_providers else None
|
737 |
+
|
738 |
+
# Get initial models and the default model for the selected provider
|
739 |
+
initial_models = get_models_for_provider(default_provider) if default_provider else []
|
740 |
+
initial_model = get_default_model_for_provider(default_provider) if default_provider else None
|
741 |
+
# Fallback for the model as well
|
742 |
+
if initial_model not in initial_models:
|
743 |
+
initial_model = initial_models[0] if initial_models else None
|
744 |
+
|
745 |
+
provider_select = gr.Dropdown(
|
746 |
+
label="AI Provider",
|
747 |
+
choices=available_providers,
|
748 |
+
value=default_provider
|
749 |
+
)
|
750 |
+
model_select = gr.Dropdown(
|
751 |
+
label="AI Model",
|
752 |
+
choices=initial_models,
|
753 |
+
value=initial_model
|
754 |
+
)
|
755 |
+
# --- END MODIFICATION ---
|
756 |
provider_api_key_input = gr.Textbox(label="Model Provider API Key (Optional)", type="password", placeholder="sk_... (overrides backend settings)")
|
757 |
system_prompt_input = gr.Textbox(label="System Prompt", lines=10, value=DEFAULT_SYSTEM_PROMPT, elem_id="system-prompt")
|
758 |
|
|
|
807 |
# --- Event Listeners ---
|
808 |
provider_select.change(update_models_dropdown, inputs=provider_select, outputs=model_select)
|
809 |
|
|
|
810 |
chat_inputs = [chat_message_input, chatbot_display, hf_api_key_input, provider_api_key_input, provider_select, model_select, system_prompt_input, owner_name_input, space_name_input]
|
811 |
chat_outputs = [
|
812 |
chat_message_input, chatbot_display, status_output,
|