azamat commited on
Commit
53e240b
·
1 Parent(s): 5ff76f1
Files changed (1) hide show
  1. app.py +29 -20
app.py CHANGED
@@ -30,25 +30,34 @@ examples = [
30
 
31
  def search(query):
32
  shorts = weaviate_explorer.explore(query)
33
- download_url = f"https://drive.google.com/uc?id={shorts[0]['link'].split('/')[-2]}"
34
- video_path = gdown.download(download_url, output=f"./video.mp4")
35
-
36
- return video_path, "\n\n".join([f"- [{r['title']}]({r['link']})" for r in shorts])
37
-
38
- title = "Slideo Explorer: Your AI-based short video search engine based on @YCombinator"
39
- description = "Enter a search query, question or topic to receive the top 5 most relevant short video answers. The most relevant clip will be displayed separately, and it will also be included in the list of top 5 video titles with links to Google Drive."
40
-
41
- input_text = gr.Textbox(placeholder = "Your query, question, topic, ...", label = "Query")
42
-
43
- video = gr.Video(label = "Most relevant clip")
44
- output_text = gr.Markdown(label = "Top-5 relevants clips")
45
-
46
- iface = gr.Interface(fn=search,
47
- inputs=input_text,
48
- outputs=[video, output_text],
49
- title=title,
50
- description=description,
51
- examples=[[e] for e in examples],
52
- cache_examples="lazy")
 
 
 
 
 
 
 
 
 
53
 
54
  iface.launch(auth=(os.getenv("username"), os.getenv("password")))
 
30
 
31
  def search(query):
32
  shorts = weaviate_explorer.explore(query)
33
+ video_paths = []
34
+ markdown_links = []
35
+
36
+ # Assuming you can get up to 3 videos
37
+ for short in shorts[:3]:
38
+ download_url = f"https://drive.google.com/uc?id={short['link'].split('/')[-2]}"
39
+ video_path = gdown.download(download_url, output=f"./video_{shorts.index(short)}.mp4")
40
+ video_paths.append(video_path)
41
+ markdown_links.append(f"- [{short['title']}]({short['link']})")
42
+
43
+ return video_paths, "\n\n".join(markdown_links)
44
+
45
+ title = "Slideo: Your AI-based short video search engine. Based on YC"
46
+ description = "Enter a search query to receive relevant short video answers."
47
+
48
+ input_text = gr.Textbox(placeholder="Your query, question, topic, ...", label="Query")
49
+ videos = [gr.Video(label=f"Clip {i+1}") for i in range(3)]
50
+ output_text = gr.Markdown(label="Relevant clips")
51
+
52
+ iface = gr.Interface(
53
+ fn=search,
54
+ inputs=input_text,
55
+ outputs=[gr.Row(videos), output_text],
56
+ title=title,
57
+ description=description,
58
+ examples=[[e] for e in examples],
59
+ cache_examples="lazy",
60
+ theme="dark"
61
+ )
62
 
63
  iface.launch(auth=(os.getenv("username"), os.getenv("password")))