| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import gradio as gr
- from db import MongoDao
- import requests
- from PIL import Image
- from io import BytesIO
- from agent.agent import Agent
- import json
- import pandas as pd
- from utils import Service
- brand_list = Service.get_brand_list()
- init_product_list = Service.get_init_state_product_list(brand_list[0])
- with gr.Blocks() as demo:
- gr.Markdown("## 侵权识别系统", elem_id="header")
-
- with gr.Row():
- with gr.Column(): # 左侧控制面板
- brand_state = gr.State(value=brand_list[0])
- brand_dropdown = gr.Dropdown(
- brand_list,
- label="品牌选择",
- value=brand_list[0],
- interactive=True)
-
- product_dropdown = gr.Dropdown(
- init_product_list,
- value=init_product_list[0],
- label="商品列表",
- interactive=True
- )
-
- check_button = gr.Button("查询侵权")
- infringement_result = gr.Textbox(
- label="侵权识别结果",
- interactive=False,
- lines=3
- )
-
- with gr.Column(): # 右侧展示面板
- # 1. 图片展示区(顶部)
- image_display = gr.Gallery(
- label="商品图片",
- columns=3, # 每行显示3张图片
- height="auto",
- object_fit="contain", # 保持图片比例
- interactive=False,
- show_share_button=False
- )
-
- # # 2. 商品信息区(中部)
- # product_info = gr.Textbox(
- # label="商品信息",
- # interactive=False,
- # lines=5 # 增加显示行数
- # )
- product_info = gr.Dataframe(
- headers=["", ""],
- row_count=5,
- col_count=2,
- value=[
- ["商户名称", "某某专卖店"],
- ["商品ID", "SP20230001"],
- ["上架时间", "2023-05-15"],
- ["价格", "¥299"],
- ["销量", "1,208件"]
- ],
- interactive=False # 设为True可允许编辑
- )
-
-
- # 事件绑定(保持不变)
- brand_dropdown.change(
- fn=Service.on_brand_change,
- inputs=brand_dropdown,
- outputs=product_dropdown
- )
- # search_button.click(search_by_cust_id, inputs=search_box, outputs=[product_info, image_display])
- # check_button.click(check_infringement, inputs=[...], outputs=infringement_result)
- demo.launch(server_name="0.0.0.0", server_port=7860)
|