Spaces:
Running
Running
Update app.py
Browse files
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}
|
| 66 |
-
Мене цікавлять тільки назви
|
| 67 |
-
Проаналізуй всі статті, публікації, згадки у соціальних мережах про {name}
|
| 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 |
-
|
| 102 |
-
book_results =
|
| 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 |
|