feat: AI 웹 스크래퍼의 핵심 컴포넌트 및 실행 가이드 구현

This commit is contained in:
2025-08-28 11:01:04 +09:00
parent 50a6c3d407
commit 0206e42780
4 changed files with 187 additions and 150 deletions

View File

@@ -50,6 +50,11 @@ drive.mount('/content/drive')
!pip install -r requirements.txt
```
최신 버전으로 업데이트(권장):
```bash
!pip install -U transformers accelerate bitsandbytes huggingface-hub
```
### 2.2 설정 파일 수정 (선택사항)
기본적으로 데이터는 `/content/drive/MyDrive/AI_Data`에 저장됩니다. 다른 경로를 원하시면 `config.json``drive_mount_path`를 수정하세요:
@@ -92,6 +97,17 @@ python main.py --save-path "/content/drive/MyDrive/MyCustomFolder"
```
이렇게 하면 데이터를 지정한 폴더에 저장합니다.
### 3.6 Hugging Face 토큰(필요 시)
일부 모델은 접근 토큰이 필요할 수 있습니다. 필요하다면 다음과 같이 환경 변수로 설정하세요.
```bash
export HF_TOKEN=hf_********************************
```
Colab 셀에서 설정 예:
```python
import os
os.environ["HF_TOKEN"] = "hf_********************************"
```
## 4. 실행 과정 설명
1. **모델 다운로드**: Hugging Face에서 `jxm/gpt-oss-20b-base` 모델을 다운로드
@@ -119,6 +135,8 @@ python main.py --save-path "/content/drive/MyDrive/MyCustomFolder"
### 6.1 모델 다운로드 실패
- Colab의 디스크 공간 확인
- 모델 크기가 크므로 충분한 공간 확보
- 모델 접근 권한(토큰) 필요 여부 확인: 필요 시 `HF_TOKEN` 설정
- 네트워크 일시 오류일 수 있으므로 런타임 재시작 후 재시도
### 6.2 메모리 부족 오류 해결
모델이 클 경우 GPU 메모리가 부족할 수 있습니다. 다음 방법으로 해결하세요:
@@ -157,6 +175,7 @@ python main.py --save-path "/content/drive/MyDrive/MyCustomFolder"
"model_name": "microsoft/DialoGPT-medium"
}
```
또는 양자화된/경량화된 공개 모델을 사용하면 메모리 요구량이 크게 줄어듭니다.
## 7. 확장 및 커스터마이징
@@ -175,6 +194,14 @@ python main.py --save-path "/content/drive/MyDrive/MyCustomFolder"
- Google Drive API 사용량 제한에 유의하세요.
- 대량의 데이터를 수집할 경우 Colab 세션 시간 제한을 고려하세요.
- 개인정보 보호 및 저작권을 준수하세요.
- 일부 웹사이트는 자동화된 크롤링을 차단할 수 있습니다. 과도한 요청을 피하고 robots.txt를 준수하세요.
- Selenium 실행에 문제가 있으면 Chrome/ChromeDriver 설치 상태를 확인하세요.
## 10. 참고 사항 (동작 방식)
- 모델 다운로드는 메모리에 올리지 않고 Hugging Face의 `snapshot_download`로 파일만 동기화합니다.
- 실제 모델 로딩은 실행 시점에 `AIAgent`가 수행하며, 가능한 경우 GPU/CPU 자동 분산(`device_map="auto"`), 실패 시 CPU로 폴백합니다.
- 간단한 웹 검색은 DuckDuckGo HTML 결과를 파싱하여 링크를 추출합니다(외부 유료 API 불필요).
## 9. 지원