Spaces:
Sleeping
Sleeping
deployment
Browse files- analyzer.py +1 -7
- app.py +1 -13
- chatbot_page.py +0 -3
- hf_utils.py +0 -2
analyzer.py
CHANGED
|
@@ -318,13 +318,7 @@ def analyze_combined_file(output_file="combined_repo.txt", user_requirements: st
|
|
| 318 |
analysis = analyze_code_chunk(chunk, user_requirements)
|
| 319 |
chunk_jsons.append(analysis)
|
| 320 |
final_summary = aggregate_chunk_analyses(chunk_jsons, user_requirements)
|
| 321 |
-
|
| 322 |
-
"==== Chunk JSON Outputs ===="
|
| 323 |
-
+ "\n\n".join([f"Chunk {i+1} JSON:\n{chunk_jsons[i]}" for i in range(len(chunk_jsons))])
|
| 324 |
-
+ "\n\n==== Final Aggregated Summary ===="
|
| 325 |
-
+ f"\n{final_summary}"
|
| 326 |
-
)
|
| 327 |
-
return debug_output
|
| 328 |
except Exception as e:
|
| 329 |
return f"Error analyzing combined file: {e}"
|
| 330 |
|
|
|
|
| 318 |
analysis = analyze_code_chunk(chunk, user_requirements)
|
| 319 |
chunk_jsons.append(analysis)
|
| 320 |
final_summary = aggregate_chunk_analyses(chunk_jsons, user_requirements)
|
| 321 |
+
return final_summary
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 322 |
except Exception as e:
|
| 323 |
return f"Error analyzing combined file: {e}"
|
| 324 |
|
app.py
CHANGED
|
@@ -1046,10 +1046,6 @@ def create_ui() -> gr.Blocks:
|
|
| 1046 |
|
| 1047 |
def handle_dataframe_select(evt: gr.SelectData, df_data) -> Tuple[str, Any, str]:
|
| 1048 |
"""Handle dataframe row selection - show modal for repo ID (column 0) clicks."""
|
| 1049 |
-
print(f"DEBUG: Selection event triggered!")
|
| 1050 |
-
print(f"DEBUG: evt = {evt}")
|
| 1051 |
-
print(f"DEBUG: df_data type = {type(df_data)}")
|
| 1052 |
-
|
| 1053 |
if evt is None:
|
| 1054 |
return "", gr.update(visible=False), ""
|
| 1055 |
|
|
@@ -1057,14 +1053,12 @@ def create_ui() -> gr.Blocks:
|
|
| 1057 |
# Get the selected row and column from the event
|
| 1058 |
row_idx = evt.index[0]
|
| 1059 |
col_idx = evt.index[1]
|
| 1060 |
-
print(f"DEBUG: Selected row {row_idx}, column {col_idx}")
|
| 1061 |
|
| 1062 |
# Handle pandas DataFrame
|
| 1063 |
if isinstance(df_data, pd.DataFrame) and not df_data.empty and row_idx < len(df_data):
|
| 1064 |
|
| 1065 |
if col_idx == 0: # Repository name column - show action modal
|
| 1066 |
repo_id = df_data.iloc[row_idx, 0]
|
| 1067 |
-
print(f"DEBUG: Extracted repo_id = '{repo_id}'")
|
| 1068 |
|
| 1069 |
if repo_id and str(repo_id).strip() and str(repo_id).strip() != 'nan':
|
| 1070 |
clean_repo_id = str(repo_id).strip()
|
|
@@ -1073,13 +1067,9 @@ def create_ui() -> gr.Blocks:
|
|
| 1073 |
|
| 1074 |
# For content columns (1,2,3) and relevance (4), do nothing since full text is shown directly
|
| 1075 |
else:
|
| 1076 |
-
print(f"DEBUG: Clicked on column {col_idx}, full text already shown in table")
|
| 1077 |
return "", gr.update(visible=False), ""
|
| 1078 |
-
else:
|
| 1079 |
-
print(f"DEBUG: df_data is not a DataFrame or row_idx {row_idx} out of range")
|
| 1080 |
|
| 1081 |
except Exception as e:
|
| 1082 |
-
print(f"DEBUG: Exception occurred: {e}")
|
| 1083 |
logger.error(f"Error handling dataframe selection: {e}")
|
| 1084 |
|
| 1085 |
return "", gr.update(visible=False), ""
|
|
@@ -1094,7 +1084,6 @@ def create_ui() -> gr.Blocks:
|
|
| 1094 |
|
| 1095 |
def handle_explore_repo(selected_repo_id: str) -> Tuple[Any, Any, Any, str, str]:
|
| 1096 |
"""Handle navigating to the repo explorer and automatically load the repository."""
|
| 1097 |
-
logger.info(f"DEBUG: handle_explore_repo called with selected_repo_id: '{selected_repo_id}'")
|
| 1098 |
|
| 1099 |
if selected_repo_id and selected_repo_id.strip() and selected_repo_id.strip() != 'nan':
|
| 1100 |
clean_repo_id = selected_repo_id.strip()
|
|
@@ -1518,7 +1507,6 @@ def create_ui() -> gr.Blocks:
|
|
| 1518 |
status_box_input # Use for auto-load signal
|
| 1519 |
],
|
| 1520 |
js="""(repo_id) => {
|
| 1521 |
-
console.log('DEBUG: Navigate to repo explorer for:', repo_id);
|
| 1522 |
setTimeout(() => {
|
| 1523 |
window.scrollTo({top: 0, behavior: 'smooth'});
|
| 1524 |
}, 200);
|
|
@@ -1563,4 +1551,4 @@ def create_ui() -> gr.Blocks:
|
|
| 1563 |
|
| 1564 |
if __name__ == "__main__":
|
| 1565 |
app = create_ui()
|
| 1566 |
-
app.launch(debug=
|
|
|
|
| 1046 |
|
| 1047 |
def handle_dataframe_select(evt: gr.SelectData, df_data) -> Tuple[str, Any, str]:
|
| 1048 |
"""Handle dataframe row selection - show modal for repo ID (column 0) clicks."""
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1049 |
if evt is None:
|
| 1050 |
return "", gr.update(visible=False), ""
|
| 1051 |
|
|
|
|
| 1053 |
# Get the selected row and column from the event
|
| 1054 |
row_idx = evt.index[0]
|
| 1055 |
col_idx = evt.index[1]
|
|
|
|
| 1056 |
|
| 1057 |
# Handle pandas DataFrame
|
| 1058 |
if isinstance(df_data, pd.DataFrame) and not df_data.empty and row_idx < len(df_data):
|
| 1059 |
|
| 1060 |
if col_idx == 0: # Repository name column - show action modal
|
| 1061 |
repo_id = df_data.iloc[row_idx, 0]
|
|
|
|
| 1062 |
|
| 1063 |
if repo_id and str(repo_id).strip() and str(repo_id).strip() != 'nan':
|
| 1064 |
clean_repo_id = str(repo_id).strip()
|
|
|
|
| 1067 |
|
| 1068 |
# For content columns (1,2,3) and relevance (4), do nothing since full text is shown directly
|
| 1069 |
else:
|
|
|
|
| 1070 |
return "", gr.update(visible=False), ""
|
|
|
|
|
|
|
| 1071 |
|
| 1072 |
except Exception as e:
|
|
|
|
| 1073 |
logger.error(f"Error handling dataframe selection: {e}")
|
| 1074 |
|
| 1075 |
return "", gr.update(visible=False), ""
|
|
|
|
| 1084 |
|
| 1085 |
def handle_explore_repo(selected_repo_id: str) -> Tuple[Any, Any, Any, str, str]:
|
| 1086 |
"""Handle navigating to the repo explorer and automatically load the repository."""
|
|
|
|
| 1087 |
|
| 1088 |
if selected_repo_id and selected_repo_id.strip() and selected_repo_id.strip() != 'nan':
|
| 1089 |
clean_repo_id = selected_repo_id.strip()
|
|
|
|
| 1507 |
status_box_input # Use for auto-load signal
|
| 1508 |
],
|
| 1509 |
js="""(repo_id) => {
|
|
|
|
| 1510 |
setTimeout(() => {
|
| 1511 |
window.scrollTo({top: 0, behavior: 'smooth'});
|
| 1512 |
}, 200);
|
|
|
|
| 1551 |
|
| 1552 |
if __name__ == "__main__":
|
| 1553 |
app = create_ui()
|
| 1554 |
+
app.launch(debug=False)
|
chatbot_page.py
CHANGED
|
@@ -39,7 +39,6 @@ def chat_with_user(user_message, history):
|
|
| 39 |
|
| 40 |
# Function to end chat and extract keywords
|
| 41 |
def extract_keywords_from_conversation(history):
|
| 42 |
-
print("Extracting keywords from conversation...")
|
| 43 |
from openai import OpenAI
|
| 44 |
client = OpenAI(api_key=os.getenv("modal_api"))
|
| 45 |
client.base_url = os.getenv("base_url")
|
|
@@ -65,8 +64,6 @@ def extract_keywords_from_conversation(history):
|
|
| 65 |
max_tokens=64,
|
| 66 |
temperature=0.3
|
| 67 |
)
|
| 68 |
-
print("Response received from OpenAI...")
|
| 69 |
-
print(response.choices[0].message.content)
|
| 70 |
keywords = response.choices[0].message.content.strip()
|
| 71 |
return keywords
|
| 72 |
|
|
|
|
| 39 |
|
| 40 |
# Function to end chat and extract keywords
|
| 41 |
def extract_keywords_from_conversation(history):
|
|
|
|
| 42 |
from openai import OpenAI
|
| 43 |
client = OpenAI(api_key=os.getenv("modal_api"))
|
| 44 |
client.base_url = os.getenv("base_url")
|
|
|
|
| 64 |
max_tokens=64,
|
| 65 |
temperature=0.3
|
| 66 |
)
|
|
|
|
|
|
|
| 67 |
keywords = response.choices[0].message.content.strip()
|
| 68 |
return keywords
|
| 69 |
|
hf_utils.py
CHANGED
|
@@ -37,8 +37,6 @@ def download_filtered_space_files(space_id: str, local_dir: str = "repo_files",
|
|
| 37 |
for root, _, files in os.walk(local_dir):
|
| 38 |
for file in files:
|
| 39 |
if any(file.endswith(ext) for ext in file_extensions):
|
| 40 |
-
rel_path = os.path.relpath(os.path.join(root, file), local_dir)
|
| 41 |
-
print(f"DEBUG: Downloaded file: {rel_path}")
|
| 42 |
copied_files += 1
|
| 43 |
|
| 44 |
print(f"Downloaded {copied_files} filtered file(s) to: {local_dir}")
|
|
|
|
| 37 |
for root, _, files in os.walk(local_dir):
|
| 38 |
for file in files:
|
| 39 |
if any(file.endswith(ext) for ext in file_extensions):
|
|
|
|
|
|
|
| 40 |
copied_files += 1
|
| 41 |
|
| 42 |
print(f"Downloaded {copied_files} filtered file(s) to: {local_dir}")
|