feat(frontend): 添加 API Provider 的增加功能
This commit is contained in:
parent
841e14a093
commit
7a77f61ee6
@ -17,19 +17,47 @@ def setting_page():
|
|||||||
for p in providers
|
for p in providers
|
||||||
]
|
]
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
with gr.Blocks() as demo:
|
with gr.Blocks() as demo:
|
||||||
gr.Markdown("## API Provider 管理")
|
gr.Markdown("## API Provider 管理")
|
||||||
|
|
||||||
with gr.Row():
|
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")
|
||||||
|
add_button = gr.Button("添加新API")
|
||||||
|
|
||||||
# API Provider列表
|
# API Provider列表
|
||||||
with gr.Column(scale=2):
|
with gr.Column(scale=3):
|
||||||
provider_table = gr.DataFrame(
|
provider_table = gr.DataFrame(
|
||||||
headers=["id" , "model id", "URL", "API Key"],
|
headers=["id" , "model id", "base URL", "API Key"],
|
||||||
datatype=["number","str", "str", "str"],
|
datatype=["number","str", "str", "str"],
|
||||||
interactive=True,
|
interactive=True,
|
||||||
value=get_providers(),
|
value=get_providers(),
|
||||||
wrap=True,
|
wrap=True,
|
||||||
col_count=(4, "fixed")
|
col_count=(4, "auto")
|
||||||
)
|
)
|
||||||
|
with gr.Row():
|
||||||
|
edit_button = gr.Button("编辑选中行")
|
||||||
|
delete_button = gr.Button("删除选中行")
|
||||||
|
|
||||||
|
|
||||||
|
add_button.click(
|
||||||
|
fn=add_provider,
|
||||||
|
inputs=[model_id_input, base_url_input, api_key_input],
|
||||||
|
outputs=provider_table
|
||||||
|
)
|
||||||
|
|
||||||
return demo
|
return demo
|
Loading…
x
Reference in New Issue
Block a user