diff --git a/frontend/setting_page.py b/frontend/setting_page.py index 5f5863b..4bf759b 100644 --- a/frontend/setting_page.py +++ b/frontend/setting_page.py @@ -18,22 +18,27 @@ def setting_page(): ] def add_provider(model_id, base_url, api_key): - with Session(engine) as session: - new_provider = APIProvider( - model_id=model_id, - base_url=base_url, - api_key=api_key if api_key else None - ) - session.add(new_provider) - session.commit() - session.refresh(new_provider) - return get_providers() + try: + with Session(engine) as session: + new_provider = APIProvider( + model_id=model_id if model_id else None, + base_url=base_url if base_url else None, + api_key=api_key if api_key else None + ) + session.add(new_provider) + session.commit() + session.refresh(new_provider) + return get_providers() + except Exception as e: + # 抛出错误提示 + raise gr.Error(f"添加失败: {str(e)}") with gr.Blocks() as demo: gr.Markdown("## API Provider 管理") with gr.Row(): with gr.Column(scale=1): + model_id_input = gr.Textbox(label="Model ID") base_url_input = gr.Textbox(label="Base URL") api_key_input = gr.Textbox(label="API Key") @@ -57,7 +62,7 @@ def setting_page(): add_button.click( fn=add_provider, inputs=[model_id_input, base_url_input, api_key_input], - outputs=provider_table + outputs=[provider_table] ) return demo \ No newline at end of file