Update app.py
Browse files
app.py
CHANGED
|
@@ -9,7 +9,7 @@ import gc
|
|
| 9 |
import re
|
| 10 |
import torch
|
| 11 |
from typing import List, Tuple, Dict
|
| 12 |
-
from concurrent.futures import ThreadPoolExecutor
|
| 13 |
|
| 14 |
# Directories
|
| 15 |
persistent_dir = "/data/hf_cache"
|
|
@@ -100,18 +100,21 @@ def init_agent() -> TxAgent:
|
|
| 100 |
agent.init_model()
|
| 101 |
return agent
|
| 102 |
|
| 103 |
-
|
|
|
|
|
|
|
| 104 |
results = []
|
| 105 |
-
|
| 106 |
-
|
|
|
|
|
|
|
| 107 |
try:
|
| 108 |
-
response = ""
|
| 109 |
for r in agent.run_gradio_chat(
|
| 110 |
message=prompt,
|
| 111 |
history=[],
|
| 112 |
temperature=0.0,
|
| 113 |
-
max_new_tokens=
|
| 114 |
-
max_token=
|
| 115 |
call_agent=False,
|
| 116 |
conversation=[]
|
| 117 |
):
|
|
@@ -123,11 +126,15 @@ def analyze_batches(agent, batches: List[List[str]]) -> List[str]:
|
|
| 123 |
response += m.content
|
| 124 |
elif hasattr(r, "content"):
|
| 125 |
response += r.content
|
| 126 |
-
results.append(clean_response(response))
|
| 127 |
except Exception as e:
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
return results
|
| 132 |
|
| 133 |
def generate_final_summary(agent, combined: str) -> str:
|
|
|
|
| 9 |
import re
|
| 10 |
import torch
|
| 11 |
from typing import List, Tuple, Dict
|
| 12 |
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
| 13 |
|
| 14 |
# Directories
|
| 15 |
persistent_dir = "/data/hf_cache"
|
|
|
|
| 100 |
agent.init_model()
|
| 101 |
return agent
|
| 102 |
|
| 103 |
+
|
| 104 |
+
|
| 105 |
+
def analyze_batches(agent, batches: List[List[str]], max_workers: int = 3) -> List[str]:
|
| 106 |
results = []
|
| 107 |
+
|
| 108 |
+
def process_single_batch(batch):
|
| 109 |
+
prompt = "\n\n".join(build_prompt(chunk) for chunk in batch)
|
| 110 |
+
response = ""
|
| 111 |
try:
|
|
|
|
| 112 |
for r in agent.run_gradio_chat(
|
| 113 |
message=prompt,
|
| 114 |
history=[],
|
| 115 |
temperature=0.0,
|
| 116 |
+
max_new_tokens=4096,
|
| 117 |
+
max_token=131072,
|
| 118 |
call_agent=False,
|
| 119 |
conversation=[]
|
| 120 |
):
|
|
|
|
| 126 |
response += m.content
|
| 127 |
elif hasattr(r, "content"):
|
| 128 |
response += r.content
|
|
|
|
| 129 |
except Exception as e:
|
| 130 |
+
response = f"❌ Error: {str(e)}"
|
| 131 |
+
return clean_response(response)
|
| 132 |
+
|
| 133 |
+
with ThreadPoolExecutor(max_workers=max_workers) as executor:
|
| 134 |
+
futures = [executor.submit(process_single_batch, batch) for batch in batches]
|
| 135 |
+
for future in as_completed(futures):
|
| 136 |
+
results.append(future.result())
|
| 137 |
+
|
| 138 |
return results
|
| 139 |
|
| 140 |
def generate_final_summary(agent, combined: str) -> str:
|