diff --git a/README.md b/README.md index cc01cca..272cbb5 100644 --- a/README.md +++ b/README.md @@ -76,24 +76,26 @@ Open the sidebar to set **Google API Key** and **SEC EDGAR Email**, then enter a ## Project Structure ``` -├── app.py # Streamlit app (Gemini) +├── app.py # Streamlit app (Gemini, hybrid flow) +├── find_toc.py # Standalone script: find Table of Contents from SEC EDGAR HTML URL ├── requirements.txt # Python dependencies ├── .env.example # Example env vars (copy to .env) ├── README.md # This file -└── TECHNICAL_NOTES.md # Technical challenge & solution (for reference) +└── TECHNICAL_NOTES.md # Technical challenge & solution (for reference) ``` --- -## Recent updates +## Update history (Changelog) -- **Hybrid architecture:** Item 7 (MD&A) only is sent to Gemini for qualitative analysis (strategy, risks, sentiment). Financial metrics (Revenue, Net Income, Operating Cash Flow) come from **yfinance**—no Item 8 to the AI, fewer tokens, and accurate numbers. -- **HTML cleansing:** Pre-LLM step strips HTML remnants, extra whitespace, and page numbers to compress Item 7 text before sending to Gemini. -- **Selective extraction:** Regex-based extraction of Item 7 only for the API; content before Item 7 is dropped. -- **Smart chunking:** Item 7 over ~20k characters is reduced to head + tail before sending to Gemini. -- **Progress steps:** Step 1 (download + extract Item 7), Step 2 (Gemini qualitative analysis + yfinance metrics) with clear spinner messages. -- **S&P 500 list:** Sample table of S&P 500 companies (company name and ticker) at the bottom for quick reference. -- **Run time:** One Gemini call plus instant yfinance data; results typically within 1–2 minutes under normal conditions. +업데이트 내용을 **날짜 순(최신 → 과거)**으로 정리했습니다. + +| 날짜 (Date) | 업데이트 내용 (Updates) | +|-------------|-------------------------| +| **2025-02-12** | **하이브리드 아키텍처:** Item 7(MD&A)만 Gemini로 전송, 재무 지표는 **yfinance**로 조회. **HTML 클렌징** 함수 추가(태그·공백·페이지 번호 제거). 프롬프트를 경영 전략·리스크·감성(Sentiment) 분석 중심으로 변경. **find_toc.py** 추가(SEC EDGAR HTML URL → 목차 추출 스크립트). README를 하이브리드 구조·Tech Stack·Technical Challenge 기준으로 전면 수정. | +| **2025-02-12** | README에 **Update history (Changelog)** 섹션 추가 — 날짜별 업데이트 순서 정리. Project Structure에 `find_toc.py` 반영. | +| **2025-02-01** (경과) | Selective extraction: Item 7·8만 추출해 API 전송. 429 대응: 재시도(60초 대기), "Analysis only" 옵션, 타임아웃·404·에러 메시지 정리. Google **Gemini** 전환 및 `GOOGLE_API_KEY`(.env·사이드바) 지원. CFA Investment Report·지표 테이블·스피너 2단계 표시. | +| **2025-01-XX** (경과) | 초기 버전: SEC EDGAR 10-K 다운로드, Item 7·8 추출, LLM 분석, Streamlit UI. S&P 500 샘플 목록(회사명·티커) 추가. | ---