Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import os | |
| from huggingface_hub import hf_hub_download | |
| from pathlib import Path | |
| from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer | |
| config_class, model_class, tokenizer_class = GPT2Config, GPT2LMHeadModel, GPT2Tokenizer | |
| model = model_class.from_pretrained('gpt2') | |
| tokenizer = GPT2Tokenizer.from_pretrained("gpt2") | |
| def search_index(query): | |
| # 示例返回,实际中应根据查询来搜索索引 | |
| return "example_uuid" | |
| # 下载视频并返回路径的函数 | |
| def download_video(uuid): | |
| dataset_name = "quchenyuan/360x_dataset" | |
| dataset_path = "360_dataset/binocular/" | |
| video_filename = f"{uuid}.mp4" | |
| # 确保存储目录存在 | |
| storage_dir = Path("videos") | |
| storage_dir.mkdir(exist_ok=True) | |
| storage_limit = 40*1024 * 1024 * 1024 | |
| current_storage = sum(f.stat().st_size for f in storage_dir.glob('*') if f.is_file()) | |
| if current_storage + os.path.getsize(video_filename) > storage_limit: | |
| oldest_file = min(storage_dir.glob('*'), key=os.path.getmtime) | |
| oldest_file.unlink() | |
| downloaded_file_path = hf_hub_download(dataset_name, dataset_path + video_filename) | |
| return str(storage_dir / video_filename) | |
| # Gradio 接口函数 | |
| def search_and_show_video(query): | |
| uuid = search_index(query) | |
| video_path = download_video(uuid) | |
| return video_path | |
| if __name__ == "__main__": | |
| with gr.Blocks() as demo: | |
| with gr.Column(): | |
| with gr.Row(): | |
| search_input = gr.Textbox(label="输入查询") | |
| with gr.Row(): | |
| with gr.Column(): | |
| video_output_1 = gr.Video(label="匹配的视频") | |
| with gr.Column(): | |
| video_output_2 = gr.Video(label="匹配的视频") | |
| with gr.Column(): | |
| video_output_3 = gr.Video(label="匹配的视频") | |
| with gr.Row(): | |
| submit_button = gr.Button(label="搜索") | |
| submit_button.click(search_and_show_video, search_input, outputs=[video_output_1, video_output_2, video_output_3]) | |
| # 运行 Gradio 应用 | |
| demo.launch() | |