Skip to content

Commit 20ef688

Browse files
committed
Pretty print study plan
1 parent 545f9cd commit 20ef688

2 files changed

Lines changed: 28 additions & 2 deletions

File tree

app.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from rabbithole.keywords import get_document_keywords
99
from rabbithole.loader import load_file, SUPPORTED_IMG_FILE_TYPES
1010
from rabbithole.mp3 import SUPPORTED_AV_FILE_TYPES
11+
from rabbithole.planner import generate_plan
1112

1213
# Global variables
1314
global_documents = {}
@@ -28,6 +29,7 @@ def load_files_with_spinner(files: list) -> dict[str, list[Document]]:
2829
for file in files:
2930
with st.spinner(f'Loading {file.name}...'):
3031
documents[file.name] = load_file(file)
32+
print(file.name, [len(doc.page_content) for doc in documents[file.name]])
3133
return documents
3234

3335

@@ -75,6 +77,13 @@ def generate_summary_with_spinner(documents: dict[str, list[Document]]) -> dict[
7577
return summaries
7678

7779

80+
def generate_plan_with_spinner() -> dict:
81+
"""Generate a logical plan to study the uploaded documents."""
82+
with st.spinner("Generating plan..."):
83+
plan = generate_plan(global_summaries, global_keywords)
84+
return plan
85+
86+
7887
st.set_page_config(page_title="RabbitHole", page_icon="🐇", layout="wide")
7988

8089
st.title("RabbitHole")
@@ -101,4 +110,21 @@ def generate_summary_with_spinner(documents: dict[str, list[Document]]) -> dict[
101110
st.write(global_summaries[doc_name])
102111
st.divider()
103112

113+
# Display the plan
114+
st.header("Study Plan")
115+
plan = generate_plan_with_spinner()
116+
for data in plan.get("plan", []):
117+
for doc_name, doc_data in data.items():
118+
st.subheader(doc_name)
119+
st.write(f"**Background Concepts**")
120+
for concept in doc_data.get("Background Concepts", []):
121+
st.write(f"- {concept}")
122+
st.write(f"**Key Concepts**")
123+
for concept in doc_data.get("Key Concepts", []):
124+
st.write(f"- {concept}")
125+
st.write(f"**Further Reading**")
126+
for concept in doc_data.get("Further Reading", []):
127+
st.write(f"- {concept}")
128+
st.write("")
129+
104130
st.success('Summarization completed.')

rabbithole/planner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ def format_document(name: str, summary: str, keywords: list[str]) -> str:
3535
{{
3636
"Document 1": {{
3737
"Background Concepts": ["Concept 1", "Concept 2", ...],
38-
"Key concepts": ["Concept 1", "Concept 2", ...],
39-
"Further reading": ["Concept 1", "Concept 2", ...]
38+
"Key Concepts": ["Concept 1", "Concept 2", ...],
39+
"Further Reading": ["Concept 1", "Concept 2", ...]
4040
}}
4141
}}
4242
...

0 commit comments

Comments
 (0)