Spaces:
Running
Running
| # 02. ์์คํ ์ํคํ ์ฒ | |
| ## 1. ๊ฐ์ | |
| ์ด ํ๋ก์ ํธ๋ ์๊ฒฉ์ฆ ์ํ ๋ฌธ์ PDF๋ฅผ ์ ๋ก๋ํ๊ณ , ๋ฌธ์ ๋ฅผ ๊ตฌ์กฐํํ์ฌ ์น์์ ํ ์ ์๋๋ก ๋ง๋๋ ํ์ต์ฉ ๋ฌธ์ ํ์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. | |
| ํ์ฌ ๋ชฉํ๋ ๋จ์ํ ๋ฌธ์ ํ์ด ์น์ ๋์ด์, PDF ๊ธฐ๋ฐ ๋น์ ํ ์ํ ์๋ฃ๋ฅผ ์ ํ ๋ฐ์ดํฐ๋ก ๋ณํํ๊ณ , ์ฌ์ฉ์๊ฐ ๋ฌธ์ ํ์ด, ์ ๋ต ํ์ธ, ์ค๋ต ๊ด๋ฆฌ, ์ ์ฌ ๋ฌธ์ ๊ฒ์์ ํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. | |
| ## 2. ์ ์ฒด ์ํคํ ์ฒ ์์ฝ | |
| ํ์ฌ ์์คํ ์ ๋ค์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ง๋๋ค. | |
| | ๊ตฌ์ฑ ์์ | ์ญํ | | |
| | --- | --- | | |
| | Streamlit | ์ฌ์ฉ์ ํ๋ฉด ์ ๊ณต, PDF ์ ๋ก๋, ๋ฌธ์ ํ์ด UI | | |
| | PostgreSQL | ๋ฌธ์ , ๋ณด๊ธฐ, ์ ๋ต, ํด์ค, ์ฌ์ฉ์ ํ์ด ๊ธฐ๋ก ์ ์ฅ | | |
| | Chroma | ๋ฌธ์ ์๋ฒ ๋ฉ ์ ์ฅ, ์ ์ฌ ๋ฌธ์ ๊ฒ์ | | |
| | Learning Lab Service | Track, ๋ก๋๋งต, ์ด๋ก ์นด๋, ํ์ธ ํด์ฆ, ์ค์ต ์ํ ์ ๊ณต | | |
| | Learning Progress Service | ๋ง์ง๋ง ์ ํ Track, ์ด์ด์ ๊ณต๋ถ ์งํ๋ฅ , ๋์ ํ์ต ๋จ์ ์ ์ฅ | | |
| | Question Type Metadata | ๋ค์ํ ๋ฌธ์ ์ ํ ์ด๋ฆ์ ๋ด๋ถ ํ์ค ์ ํ์ผ๋ก ์ ๋ฆฌ | | |
| | Answer Normalizer | ๊ฐ๊ด์, ๋ณต์ ์ ํ, Yes/No, ์์ํ ๋ต์์ ๋น๊ต ๊ฐ๋ฅํ ํํ๋ก ์ ๊ทํ | | |
| | Airflow | PDF ์ฒ๋ฆฌ, ํ์ฑ, ์๋ฒ ๋ฉ, ์ ์ฅ ์์ ์ ํ์ดํ๋ผ์ธ ๊ด๋ฆฌ | | |
| | Docker / Docker Compose | ๊ฐ๋ฐ ๋ฐ ์คํ ํ๊ฒฝ ํ์คํ | | |
| | Oracle Cloud Ubuntu | ํฅํ ์๋น์ค ๋ฐฐํฌ ๋์ ์๋ฒ | | |
| ## 3. ์ฒจ๋ถ ๋ค์ด์ด๊ทธ๋จ ๊ฒํ | |
| ์ฒจ๋ถํ ๋ค์ด์ด๊ทธ๋จ์ ํฐ ๋ฐฉํฅ์ ๋ง์ต๋๋ค. ์ฌ์ฉ์๊ฐ Streamlit Web UI์ ์ ์ํ๊ณ , PDF ์ ๋ก๋์ ๋ฌธ์ ํ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉฐ, PostgreSQL๊ณผ Chroma๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ตฌ์กฐ๋ ํ์ฌ ํ๋ก์ ํธ ๋ฐฉํฅ๊ณผ ์ ๋ง์ต๋๋ค. | |
|  | |
| ๋ค๋ง ํ์ฌ ์ฝ๋ ๊ตฌ์กฐ ๊ธฐ์ค์ผ๋ก๋ ์๋์ฒ๋ผ ์ดํดํ๋ ๊ฒ์ด ๋ ์ ํํฉ๋๋ค. | |
| - Airflow๋ Parser/OCR ๋ค์ ๋ถ๋ ๋ณ๋ ์ ์ฅ ๋จ๊ณ๋ผ๊ธฐ๋ณด๋ค, ๊ธด PDF ์ฒ๋ฆฌ ์์ ์ ์ฒด๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๊ณ ์ถ์ ํ๋ ์ญํ ์ ๋๋ค. | |
| - PDF Parser/OCR, Quality Check, PostgreSQL ์ ์ฅ, ๋ฌธ์ ๋ถ๋ฅ/๊ฒ์ฆ์ `PDF Ingestion Graph` ์์ ๋จ๊ณ๋ก ๋ณด๋ ๊ฒ์ด ์์ฐ์ค๋ฝ์ต๋๋ค. | |
| - Quiz Service๋ PostgreSQL์ ์ ์ฅ๋ ๋ฌธ์ ์ ํ์ด ๊ธฐ๋ก์ ์ฝ๊ณ ์๋๋ค. | |
| - Similar Question Search๋ Chroma์์ ์ ์ฌ ๋ฌธ์ ๋ฅผ ์ฐพ๊ณ , ์ค์ ๋ฌธ์ ๋ฐ์ดํฐ๋ PostgreSQL์ ๋ฌธ์ ID์ ์ฐ๊ฒฐํด์ ๋ณด์ฌ์ฃผ๋ ๊ตฌ์กฐ๊ฐ ์ข์ต๋๋ค. | |
| - Chroma๋ ํ์ฌ ๋ณ๋ ์๋ฒํ DB๋ผ๊ธฐ๋ณด๋ค `chroma_db` ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ก์ปฌ ๋ฒกํฐ ์ ์ฅ์ ํํ์ ๋๋ค. | |
| ์ ๋ฆฌํ๋ฉด ์ฒจ๋ถ ๋ค์ด์ด๊ทธ๋จ์ ๊ฐ๋ ์ ์ผ๋ก ๋ง์ง๋ง, ๋ฌธ์์์๋ Airflow๋ฅผ โํ์ดํ๋ผ์ธ ์คํ ๊ด๋ฆฌ์โ๋ก, PostgreSQL์ โ๊ธฐ์ค ๋ฐ์ดํฐ ์ ์ฅ์โ๋ก, Chroma๋ฅผ โ๊ฒ์์ฉ ๋ณด์กฐ ์์ธโ์ผ๋ก ํํํ๋ ๊ฒ์ด ๋ ์ ํํฉ๋๋ค. | |
| ## 4. ์ฌ์ฉ์ ๊ด์ ํ๋ฆ | |
| ์ฌ์ฉ์๋ ์น ํ๋ฉด์ ์ ์ํ ๋ค ์ด์ด์ ๊ณต๋ถ, ์ง์ค ํ์ต, ์ํ ๋๋น, ๋์๋ณด๋, ๋ฌธ์ ํ์ด, PDF ์ ๋ก๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
| ์ฌ์ฉ์ ๊ธฐ๋ฅ ํ๋ฆ์ ์๋ ์ด๋ฏธ์ง์ฒ๋ผ ์ ๋ฆฌํ ์ ์์ต๋๋ค. | |
|  | |
| ํ์ฌ ๊ตฌํ์ ํ์ ๋จ์ ์์ ํ๋ฉด์ผ๋ก ๋๊ณ , ์ง๋์ ์ถ์ฒ ๋ณต์ต์ ๋ณ๋ ๋์๋ณด๋์์ ํ์ธํ๋ ๊ตฌ์กฐ์ ๋๋ค. ๋ฌธ์ ํ์ด, PDF ์ ๋ก๋, ์ค๋ต/๋ณต์ต, ๊ฐ๋ ์ ๋ฆฌ, ์ฒ๋ฆฌ ํํฉ, ์ํ ํํฉ, AI ์์ธ ํ๋ฆ์ ์ ์งํ๋ฉฐ, ๊ทธ ์์ Track ๊ธฐ๋ฐ ์ด๋ก ํ์ต๊ณผ ํ์ธ ํด์ฆ๋ฅผ ์น๊ณ ์์ต๋๋ค. ๋ถ๋งํฌ๋ ํฅํ ๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ๋๊ณ ์์ต๋๋ค. | |
| ## 5. ์ ์ฒด ์๋น์ค ํ๋ฆ | |
| ์ ์ฒด ์๋น์ค ํ๋ฆ์ ์ ์ด๋ฏธ์ง์ฒ๋ผ ์ฌ์ฉ์๊ฐ Streamlit ํ๋ฉด์ ์ ์ํ๊ณ , PDF ์ ๋ก๋์ ๋ฌธ์ ํ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ํํ์ ๋๋ค. | |
| ํ์ฌ ์ฝ๋ ๊ธฐ์ค์ผ๋ก๋ Streamlit ํ๋ฉด์ด `QuizService`, `LearningLabService`, `LearningProgressService`, `IngestionJobService`, `QuestionVectorStore` ๊ฐ์ ์๋น์ค ๊ณ์ธต์ ํธ์ถํ๊ณ , PDF ์ฒ๋ฆฌ์ฒ๋ผ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ Airflow DAG์ PDF Ingestion Graph๋ฅผ ํตํด ๋จ๊ณ๋ณ๋ก ์คํ๋ฉ๋๋ค. | |
| ํ์ต ํ๋ฉด ์ชฝ์ ๋ค์์ฒ๋ผ ๋๋๋๋ค. | |
| | ํ๋ฉด | ์ญํ | | |
| | --- | --- | | |
| | ํ | ์ด์ด์ ๊ณต๋ถ, ์ง์ค ํ์ต, ์ํ ๋๋น, ๋์๋ณด๋๋ก ๋ค์ด๊ฐ๋ ๊ฐ๋ฒผ์ด ์์ ํ๋ฉด | | |
| | ์ด์ด์ ๊ณต๋ถ | ๋ง์ง๋ง์ผ๋ก ์ ํํ Track์ ๊ธฐ์ค์ผ๋ก ์ด๋ก , ํด์ฆ, ์ค๋ต ๋ณต์ต์ ๊ณ์ ์งํ | | |
| | ์ง์ค ํ์ต | ์ด๋ก ๋ง ๋ณด๊ธฐ, ํด์ฆ๋ง ํ๊ธฐ, ์ค์ต ์ง์ค์ฒ๋ผ ์ํ๋ ํ์ต ๋ชจ๋ ์ ํ | | |
| | ์ํ ๋๋น | AZ-104 ๋ฌธ์ ํ์ด, ์ธ๋ถ๊ฐ๋ ๋ฐ๋ณต, ์ํ ๋ชจ๋ ์ง์ | | |
| | ๋์๋ณด๋ | Track ์งํ๋ฅ , ์ฐ์ ํ์ต์ผ, ์ค๋/์ฃผ๊ฐ ๋์ ํ์ต ๋จ์, ์ถ์ฒ ๋ณต์ต ํ์ธ | | |
| ๋ฌธ์ ํ์ด ํ๋ฆ์์๋ ๋ฌธ์ ์ ํ์ด ์ฌ๋ฌ ์ด๋ฆ์ผ๋ก ๋ค์ด์ฌ ์ ์๊ธฐ ๋๋ฌธ์ `question_type_metadata_service.py`์์ ๋จผ์ ํ์ค ์ ํ์ผ๋ก ์ ๋ฆฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด `Hotspot (True/False)`๋ ๋ด๋ถ์ ์ผ๋ก Yes/No ์ง์ ํ์ผ๋ก, `Hotspot (Drag and Drop)`์ ๋งค์นญํ์ผ๋ก ๋ค๋ฃน๋๋ค. | |
| ์ ๋ต ๋น๊ต๋ `answer_normalizer.py`๋ฅผ ํตํด ์ฒ๋ฆฌํฉ๋๋ค. ์ด ๊ณ์ธต์ `Y,N,Y`, `์/์๋์ค`, ๋ณต์ ์ ํ, ์์๊ฐ ์ค์ํ ๋ต์์ ๋น๊ต ๊ฐ๋ฅํ ๋ฌธ์์ด๋ก ์ ๋ฆฌํฉ๋๋ค. ์ด๋ ๊ฒ ํด ๋๋ฉด ํ๋ฉด UI์ ์ฑ์ ๋ก์ง์ด ์๋ก ๋ค๋ฅธ ๊ธฐ์ค์ผ๋ก ๋์ํ๋ ๋ฌธ์ ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. | |
| ## 6. PDF ์ฒ๋ฆฌ ํ๋ฆ | |
| PDF ์ ๋ก๋ ์ดํ์๋ ํ์ฑ ๊ณผ์ ์ ํตํด ๋ฌธ์ ๋ฅผ ์ถ์ถํ๊ณ , ๋ฌธ์ /๋ณด๊ธฐ/์ ๋ต/ํด์ค ํํ๋ก ๊ตฌ์กฐํํฉ๋๋ค. | |
| ๊ตฌ์กฐํ๋ ๋ฌธ์ ๋ฐ์ดํฐ๋ PostgreSQL์ ์ ์ฅํ๊ณ , ์ ์ฌ ๋ฌธ์ ๊ฒ์์ ํ์ํ ํ ์คํธ๋ ์๋ฒ ๋ฉํ์ฌ Chroma์ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค. | |
|  | |
| ์ค์ ์ฝ๋์์๋ `cert_study_app/graphs/pdf_ingestion_graph.py`์ PDF ingestion graph๊ฐ ์ด ํ๋ฆ์ ๋จ๊ณ๋ณ๋ก ๊ด๋ฆฌํฉ๋๋ค. | |
| ํ์ฌ ์ฃผ์ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. | |
| 1. ์ฒ๋ฆฌ ์์ | |
| 2. PDF ํ์ฑ | |
| 3. ํ์ฑ ํ์ง ๊ฒ์ฆ | |
| 4. ํ์ง ๊ฒ์ดํธ | |
| 5. ๋ฌธ์ ์ ์ฅ | |
| 6. ๋ฌธ์ ์ ํ ๋ถ๋ฅ | |
| 7. ์ด๋ฏธ์ง/์๊ฐ ์ ๋ณด ๋ถ์ | |
| 8. ์ต์ข ๊ฒ์ฆ | |
| 9. ์ฒ๋ฆฌ ์๋ฃ | |
| ํ์ฑ ํ์ง ๊ฒ์ฆ์์๋ ๋ฌธ์ ์ ํ ํ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๊ฐํ ๋ฌธ์ ๋ฅผ ์ผ๋ฐ ๊ฐ๊ด์์ผ๋ก ์๋ชป ๋ณด๊ณ `๋ณด๊ธฐ๊ฐ ๋ถ์กฑํ๋ค`๊ณ ํ๋จํ๋ ์ผ์ ์ค์ด๊ธฐ ์ํ ๊ตฌ์กฐ์ ๋๋ค. | |
| ## 7. ๋ฐ์ดํฐ ์ ์ฅ ๊ตฌ์กฐ | |
| ์ด ์์คํ ์์๋ PostgreSQL๊ณผ Chroma๋ฅผ ํจ๊ป ์ฌ์ฉํฉ๋๋ค. | |
| PostgreSQL์ ๋ฌธ์ , ๋ณด๊ธฐ, ์ ๋ต, ํด์ค, ์ฌ์ฉ์ ํ์ด ๊ธฐ๋ก์ฒ๋ผ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํน์ ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฌธ์ ๋ฅผ ๋งํ๋์ง, ์ด๋ค ๋ฌธ์ ๊ฐ ์ค๋ต ๋ณต์ต ๋์์ธ์ง ๊ฐ์ ๋ฐ์ดํฐ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ๊ฒ์ด ์ ํฉํฉ๋๋ค. | |
| Chroma๋ ๋ฌธ์ ๋ณธ๋ฌธ์ ๋ฒกํฐ๋ก ์ ์ฅํ์ฌ ์ ์ฌ ๋ฌธ์ ๊ฒ์์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์๊ฐ ํน์ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ ๋, ๋น์ทํ ์ ํ์ ๋ฌธ์ ๋ฅผ ์ฐพ์ ๋ณต์ตํ ์ ์๋๋ก ํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. | |
| PostgreSQL์ ๊ธฐ์ค ๋ฐ์ดํฐ ์ ์ฅ์์ด๊ณ , Chroma๋ ๊ฒ์์ ์ํ ๋ณด์กฐ ์์ธ์ ๋๋ค. Chroma๊ฐ PostgreSQL์ ๋์ฒดํ๋ ๊ตฌ์กฐ๋ ์๋๋๋ค. | |
| ํ์ต ์งํ ๋ฐ์ดํฐ๋ ํ์ฌ `data/learning_progress.json`์ ์ ์ฅํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ง์ง๋ง ์ ํ Track, ๋ ์ง๋ณ ํ์ต ๋จ๊ณ, ์ด๋ก /ํด์ฆ/์ค์ต/๋ฌธ์ ํ์ด/๋ณต์ต ํ๋ ์๊ฐ ๋ค์ด๊ฐ๋๋ค. ์ด ํ์ผ์ ๊ฐ์ธ ๋ก์ปฌ ์งํ ์ํ์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์ Git์ ์ฌ๋ฆฌ๋ ๊ธฐ์ค ๋ฐ์ดํฐ๊ฐ ์๋๋ผ ๋ฐํ์ ๋ฐ์ดํฐ๋ก ๋ด ๋๋ค. | |
| ํ์ฌ ์ ์ฅ ์ญํ ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. | |
| | ์ ์ฅ ์์น | ์ฑ๊ฒฉ | ์์ | | |
| | --- | --- | --- | | |
| | PostgreSQL | ๊ธฐ์ค ๋ฌธ์ /ํ์ด ๋ฐ์ดํฐ | ๋ฌธ์ , ์ ๋ต, ํด์ค, ํ์ด ๊ธฐ๋ก | | |
| | Chroma | ๊ฒ์์ฉ ๋ณด์กฐ ์์ธ | ๋ฌธ์ ์๋ฒ ๋ฉ, ์ ์ฌ ๋ฌธ์ ๊ฒ์ | | |
| | `data/learning_progress.json` | ๊ฐ์ธ ํ์ต ์งํ ์ํ | ์ ํธ Track, ๋์ ํ์ต ๋จ์ | | |
| | `cert_study_app/demo_data/questions_seed.json` | ๋ฐฐํฌ์ฉ seed | Hugging Face ์ด๊ธฐ ๋ฌธ์ ๋ฐ์ดํฐ | | |
| ## 8. Airflow ์ฌ์ฉ ์ด์ | |
| PDF ์ฒ๋ฆฌ ๊ณผ์ ์ ํ ๋ฒ์ ๋๋๋ ๋จ์ ์์ ์ด ์๋๋ผ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋ฉ๋๋ค. | |
| 1. PDF ์ ๋ก๋ | |
| 2. ํ ์คํธ ์ถ์ถ ๋๋ OCR ๋ณด์ | |
| 3. ๋ฌธ์ ๋จ์ ํ์ฑ | |
| 4. ์ ๋ต/ํด์ค ๊ตฌ์กฐํ | |
| 5. ํ์ฑ ํ์ง ๊ฒ์ฆ | |
| 6. PostgreSQL ์ ์ฅ | |
| 7. ์๋ฒ ๋ฉ ์์ฑ | |
| 8. Chroma ์ ์ฅ | |
| ์ด๋ฐ ์์ ์ ์์๊ฐ ์ค์ํ๊ณ , ์ค๊ฐ์ ์คํจํ ์๋ ์๊ธฐ ๋๋ฌธ์ Airflow๋ฅผ ์ฌ์ฉํ์ฌ ํ์ดํ๋ผ์ธ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค. | |
| ํ์ฌ๋ ๊ฐ๋ฐ ๋จ๊ณ์ด๋ฏ๋ก ๋ชจ๋ ๊ธฐ๋ฅ์ด ์์ ํ ์๋ํ๋์ด ์์ง ์์ ์ ์์ง๋ง, ํฅํ ์์ ์ ์ธ ๋ฌธ์ ์ฒ๋ฆฌ ๋ฐฐ์น๋ฅผ ์ํด Airflow๋ฅผ ์ ์ฉํ๋ ๋ฐฉํฅ์ผ๋ก ์ค๊ณํ๊ณ ์์ต๋๋ค. | |
| ํ์ฌ DAG ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. | |
| - `dags/cert_study_pdf_ingestion_dag.py` | |
| - `dags/cert_study_visual_analysis_dag.py` | |
| ## 9. Docker ์ฌ์ฉ ์ด์ | |
| Docker๋ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๋ฐฐํฌ ํ๊ฒฝ์ ์ต๋ํ ๋์ผํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. | |
| ํ์ฌ ํ๋ก์ ํธ๋ Streamlit, PostgreSQL, Chroma, Airflow์ฒ๋ผ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ค์ ๋ก์ปฌ MacBook์ด๋ Oracle Cloud Ubuntu์์ ๋์ผํ๊ฒ ์คํํ๋ ค๋ฉด ํ๊ฒฝ ์ฐจ์ด๋ฅผ ์ค์ด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. | |
| Docker Compose๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์๋น์ค๋ฅผ ํ๋์ ์ค์ ํ์ผ๋ก ์คํํ ์ ์์ต๋๋ค. | |
| ํ์ฌ `docker-compose.yml`์ ์ฃผ์ ์๋น์ค ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. | |
| | ์๋น์ค | ์ญํ | | |
| | --- | --- | | |
| | `cert-study-app` | Streamlit ์ฌ์ฉ์ ์น ํ๋ฉด | | |
| | `postgres` | ๋ฌธ์ ๋ฐ ํ์ด ๋ฐ์ดํฐ ์ ์ฅ | | |
| | `airflow-init` | Airflow ์ด๊ธฐ ์ค์ | | |
| | `airflow-webserver` | Airflow ๊ด๋ฆฌ ํ๋ฉด | | |
| | `airflow-scheduler` | ํ์ดํ๋ผ์ธ ์ค์ผ์ค ์คํ | | |
| Chroma๋ ๋ณ๋ ์ปจํ ์ด๋๋ผ๊ธฐ๋ณด๋ค ํ์ฌ ํ๋ก์ ํธ์ `chroma_db` ๋๋ ํฐ๋ฆฌ๋ฅผ ํตํด ์ฑ์์ ์ฌ์ฉํ๋ ๋ก์ปฌ ๋ฒกํฐ ์ ์ฅ์ ํํ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. | |
| ## 10. ๋ฐฐํฌ ๊ตฌ์กฐ | |
| ํฅํ์๋ Oracle Cloud Ubuntu ์๋ฒ์ Docker ๊ธฐ๋ฐ์ผ๋ก ๋ฐฐํฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. | |
| ์ด๊ธฐ์๋ ๊ฐ์ธ ์ฌ์ฉ ๋ชฉ์ ์ด๋ฏ๋ก ๋ณต์กํ Kubernetes ๊ตฌ์กฐ๋ณด๋ค๋ Docker Compose ๊ธฐ๋ฐ ๋ฐฐํฌ๋ฅผ ์ฐ์ ๊ฒํ ํฉ๋๋ค. ์ด์ ์๊ตฌ์ฌํญ์ด ์ปค์ง๋ฉด Nginx, HTTPS, ๋ฐฑ์ , ๋ชจ๋ํฐ๋ง ๋ฑ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. | |
| ## 11. ํ์ฌ ๊ตฌํ ์ํ | |
| ํ์ฌ ํ๋ก์ ํธ๋ ๊ฐ๋ฐ ์ค์ด๋ฉฐ, ๋ค์ ๊ธฐ๋ฅ์ ์ค์ฌ์ผ๋ก ๊ตฌํํ๊ณ ์์ต๋๋ค. | |
| - Streamlit ๊ธฐ๋ฐ ๋ฌธ์ ํ์ด ํ๋ฉด | |
| - ๋ฌธ์ ์ ํ ํ์คํ ๋ฐ ์ ๋ต ์ ๊ทํ ๊ตฌ์กฐ | |
| - PDF ์ ๋ก๋ ๋ฐ ํ์ฑ ๊ตฌ์กฐ | |
| - PostgreSQL ๊ธฐ๋ฐ ๋ฌธ์ ๋ฐ์ดํฐ ์ ์ฅ | |
| - Chroma ๊ธฐ๋ฐ ์ ์ฌ ๋ฌธ์ ๊ฒ์ ๊ตฌ์กฐ | |
| - Docker ๊ธฐ๋ฐ ์คํ ํ๊ฒฝ ๊ตฌ์ฑ | |
| - Airflow ๊ธฐ๋ฐ ํ์ดํ๋ผ์ธ ๊ตฌ์กฐ | |
| - Oracle Cloud Ubuntu ๋ฐฐํฌ ์ค๋น | |
| - Track ๊ธฐ๋ฐ ์ด์ด์ ๊ณต๋ถ, ์ง์ค ํ์ต, ์ํ ๋๋น, ๋์๋ณด๋ ๊ธฐ๋ณธ ํ๋ฉด | |
| - ๋ง์ง๋ง ์ ํ Track ์ ์ฅ ๋ฐ ๋์ ํ์ต ๋จ์ ๊ธฐ๋ก | |
| ## 12. ํฅํ ๊ฐ์ ๋ฐฉํฅ | |
| ํฅํ ๊ฐ์ ํ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. | |
| - ๊ด๋ฆฌ์ ๋ก๊ทธ์ธ | |
| - ์ฌ์ฉ์๋ณ ํ์ต ์ด๋ ฅ ๊ด๋ฆฌ | |
| - ์ค๋ต๋ ธํธ ์๋ ์์ฑ | |
| - ๋ถ๋งํฌ ๊ธฐ๋ฅ | |
| - ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ฌธ์ ๋ถ๋ฅ | |
| - ํ์ต ์งํ ๋ฐ์ดํฐ๋ฅผ JSON์์ DB ํ ์ด๋ธ๋ก ์ด์ | |
| - ๋ฌธ์ ์ ํ๋ณ ํ ์คํธ ๋ฒ์ ํ๋ | |
| - LLM ๊ธฐ๋ฐ ํด์ค ๋ณด์กฐ ์์ฑ | |
| - ์ ์ฌ ๋ฌธ์ ์ถ์ฒ | |
| - PDF ํ์ฑ ์คํจ ์ผ์ด์ค ๊ด๋ฆฌ | |
| - Oracle Cloud ๋ฐฐํฌ ์๋ํ | |
| - ์ ๊ธฐ ๋ฐฑ์ ๋ฐ ๋ก๊ทธ ๊ด๋ฆฌ | |