Pashy commited on
Commit
45d0d6b
·
verified ·
1 Parent(s): d0fefeb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -6
app.py CHANGED
@@ -48,6 +48,15 @@ def run_parallel(prompts: List[str], query_fn, max_workers: int = 5) -> List[str
48
 
49
  return results
50
 
 
 
 
 
 
 
 
 
 
51
  # Prompt builders
52
  JSON_INSTRUCTION = 'Поверни list з структурою ["name", "name", ..., "name", "name"]. Поверни тільки цей list. Без будь-якого іншого тексту'
53
 
@@ -62,10 +71,10 @@ def build_people_prompt(area: str) -> str:
62
  Шукай все що напряму пов'язано з {area} (компанії, дочірні компанії, співробітники, і тд)""" + JSON_INSTRUCTION
63
 
64
  def build_books_prompt(name: str, query: str) -> str:
65
- return f"""Ти найкращий пошуковий помічник по книгам у світі. Надай мені список книг, які рекомендував {name} з {query}.
66
- Мене цікавлять тільки назви книг, не пиши нічого іншого. В відповіді повинні бути лише назва книги.
67
- Проаналізуй всі статті, публікації, згадки у соціальних мережах про {name} з {query} і знайди саме книги які ця людина рекомендувала.
68
- Ці книги потрібні щоб віповісти на запит користувача {query}
69
  Якщо ти нічого не зміг знайти поверни "". БІЛЬШЕ НІЧОГО НЕ ПИШИ."""
70
 
71
  # Generator function for progressive output
@@ -98,8 +107,8 @@ def on_click(query, context):
98
 
99
 
100
  book_prompts = [build_books_prompt(name, query) for name in people]
101
- book_results = run_parallel(book_prompts, query_openai, max_workers=10)
102
- book_results = list(set([item for sublist in book_results for item in sublist]))
103
  print(book_results)
104
 
105
 
 
48
 
49
  return results
50
 
51
+ #Parallel LLM execution
52
+ def run_parallel_wo_validation(prompts: List[str], query_fn, max_workers: int = 5) -> List[str]:
53
+ results = []
54
+ with ThreadPoolExecutor(max_workers=max_workers) as executor:
55
+ futures = {executor.submit(query_fn, prompt): prompt for prompt in prompts}
56
+ for future in as_completed(futures):
57
+ results.append(res)
58
+ return results
59
+
60
  # Prompt builders
61
  JSON_INSTRUCTION = 'Поверни list з структурою ["name", "name", ..., "name", "name"]. Поверни тільки цей list. Без будь-якого іншого тексту'
62
 
 
71
  Шукай все що напряму пов'язано з {area} (компанії, дочірні компанії, співробітники, і тд)""" + JSON_INSTRUCTION
72
 
73
  def build_books_prompt(name: str, query: str) -> str:
74
+ return f"""Ти найкращий пошуковий помічник по книгам у світі. Надай мені список книг, які рекомендував {name}.
75
+ Мене цікавлять тільки назви книг та автори, не пиши нічого іншого. В відповіді повинні бути лише назва книги.
76
+ Проаналізуй всі статті, публікації, згадки у соціальних мережах про {name} і знайди саме книги які ця людина рекомендувала.
77
+ Ці книги потрібні щоб віповісти на запит користувача {query}.
78
  Якщо ти нічого не зміг знайти поверни "". БІЛЬШЕ НІЧОГО НЕ ПИШИ."""
79
 
80
  # Generator function for progressive output
 
107
 
108
 
109
  book_prompts = [build_books_prompt(name, query) for name in people]
110
+ print(book_prompts)
111
+ book_results = run_parallel_wo_validation(book_prompts, query_openai, max_workers=10)
112
  print(book_results)
113
 
114