Spaces:
Sleeping
Sleeping
one_button
Browse files- analyzer.py +12 -1
- app.py +11 -8
analyzer.py
CHANGED
@@ -30,10 +30,21 @@ def combine_repo_files_for_llm(repo_dir="repo_files", output_file="combined_repo
|
|
30 |
file_path = os.path.join(root, file)
|
31 |
try:
|
32 |
with open(file_path, "r", encoding="utf-8") as f:
|
33 |
-
combined_content.append(f"\n# File: {
|
34 |
combined_content.append(f.read())
|
35 |
except Exception as e:
|
36 |
combined_content.append(f"\n# Could not read {file_path}: {e}\n")
|
37 |
with open(output_file, "w", encoding="utf-8") as out_f:
|
38 |
out_f.write("\n".join(combined_content))
|
39 |
return output_file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
file_path = os.path.join(root, file)
|
31 |
try:
|
32 |
with open(file_path, "r", encoding="utf-8") as f:
|
33 |
+
combined_content.append(f"\n# ===== File: {file} =====\n")
|
34 |
combined_content.append(f.read())
|
35 |
except Exception as e:
|
36 |
combined_content.append(f"\n# Could not read {file_path}: {e}\n")
|
37 |
with open(output_file, "w", encoding="utf-8") as out_f:
|
38 |
out_f.write("\n".join(combined_content))
|
39 |
return output_file
|
40 |
+
|
41 |
+
def analyze_combined_file(output_file="combined_repo.txt"):
|
42 |
+
"""
|
43 |
+
Reads the combined file and passes its contents to analyze_code, returning the LLM's output.
|
44 |
+
"""
|
45 |
+
try:
|
46 |
+
with open(output_file, "r", encoding="utf-8") as f:
|
47 |
+
code = f.read()
|
48 |
+
return analyze_code(code)
|
49 |
+
except Exception as e:
|
50 |
+
return f"Error analyzing combined file: {e}"
|
app.py
CHANGED
@@ -2,7 +2,7 @@ import gradio as gr
|
|
2 |
import regex as re
|
3 |
import csv
|
4 |
import pandas as pd
|
5 |
-
from analyzer import combine_repo_files_for_llm
|
6 |
from hf_utils import download_space_repo
|
7 |
|
8 |
# from hf_utils import download_space_repo
|
@@ -42,20 +42,22 @@ def process_repo_input_and_store(text):
|
|
42 |
df = pd.read_csv(csv_filename)
|
43 |
return df
|
44 |
|
45 |
-
def
|
46 |
if not last_repo_ids:
|
47 |
-
return "No repo ID available. Please submit repo IDs first."
|
48 |
first_repo_id = last_repo_ids[0]
|
49 |
try:
|
50 |
download_space_repo(first_repo_id, local_dir="repo_files")
|
51 |
except Exception as e:
|
52 |
-
return f"Error downloading repo: {e}"
|
53 |
txt_path = combine_repo_files_for_llm()
|
54 |
try:
|
55 |
with open(txt_path, "r", encoding="utf-8") as f:
|
56 |
-
|
57 |
except Exception as e:
|
58 |
-
return f"Error reading {txt_path}: {e}"
|
|
|
|
|
59 |
|
60 |
repo_id_input = gr.Textbox(label="Enter repo IDs (comma or newline separated)", lines=5, placeholder="repo1, repo2\nrepo3")
|
61 |
df_output = gr.Dataframe(headers=["repo id", "strength", "weaknesses", "speciality", "relevance rating", "Usecase"])
|
@@ -69,8 +71,9 @@ with gr.Blocks() as demo:
|
|
69 |
|
70 |
gr.Markdown("---")
|
71 |
gr.Markdown("## Combine and Display Repo Files")
|
72 |
-
combine_btn = gr.Button("Download, Combine & Show .py/.md Files from First Repo")
|
73 |
combined_txt = gr.Textbox(label="Combined Repo Files", lines=20)
|
74 |
-
|
|
|
75 |
|
76 |
demo.launch()
|
|
|
2 |
import regex as re
|
3 |
import csv
|
4 |
import pandas as pd
|
5 |
+
from analyzer import combine_repo_files_for_llm, analyze_combined_file
|
6 |
from hf_utils import download_space_repo
|
7 |
|
8 |
# from hf_utils import download_space_repo
|
|
|
42 |
df = pd.read_csv(csv_filename)
|
43 |
return df
|
44 |
|
45 |
+
def show_combined_repo_and_llm():
|
46 |
if not last_repo_ids:
|
47 |
+
return "No repo ID available. Please submit repo IDs first.", ""
|
48 |
first_repo_id = last_repo_ids[0]
|
49 |
try:
|
50 |
download_space_repo(first_repo_id, local_dir="repo_files")
|
51 |
except Exception as e:
|
52 |
+
return f"Error downloading repo: {e}", ""
|
53 |
txt_path = combine_repo_files_for_llm()
|
54 |
try:
|
55 |
with open(txt_path, "r", encoding="utf-8") as f:
|
56 |
+
combined_content = f.read()
|
57 |
except Exception as e:
|
58 |
+
return f"Error reading {txt_path}: {e}", ""
|
59 |
+
llm_output = analyze_combined_file(txt_path)
|
60 |
+
return combined_content, llm_output
|
61 |
|
62 |
repo_id_input = gr.Textbox(label="Enter repo IDs (comma or newline separated)", lines=5, placeholder="repo1, repo2\nrepo3")
|
63 |
df_output = gr.Dataframe(headers=["repo id", "strength", "weaknesses", "speciality", "relevance rating", "Usecase"])
|
|
|
71 |
|
72 |
gr.Markdown("---")
|
73 |
gr.Markdown("## Combine and Display Repo Files")
|
74 |
+
combine_btn = gr.Button("Download, Combine & Show .py/.md Files from First Repo and Analyze")
|
75 |
combined_txt = gr.Textbox(label="Combined Repo Files", lines=20)
|
76 |
+
llm_output_txt = gr.Textbox(label="LLM Analysis Output", lines=10)
|
77 |
+
combine_btn.click(show_combined_repo_and_llm, inputs=None, outputs=[combined_txt, llm_output_txt])
|
78 |
|
79 |
demo.launch()
|