From d40f5b1f24e184c363e0ebaf7d7365b3e6683cf7 Mon Sep 17 00:00:00 2001 From: carry <2641257231@qq.com> Date: Mon, 7 Apr 2025 13:02:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20=E4=BC=98=E5=8C=96=20API=20Pro?= =?UTF-8?q?vider=20=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD=E5=B9=B6=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 model_id、base_url 和 api_key 添加空值检查,避免无效输入 - 添加异常处理,确保在出现错误时能够及时响应并提示用户 - 优化 add_provider 函数,提高代码可读性和健壮性 --- frontend/setting_page.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) 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