feat: AI 웹 스크래퍼 프로젝트의 초기 구조와 핵심 기능 구현
This commit is contained in:
148
AI_Web_Scraper/run_guide.md
Normal file
148
AI_Web_Scraper/run_guide.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# AI 웹 정보 수집 시스템 실행 가이드
|
||||
|
||||
이 가이드는 Google Colab Pro 환경에서 시스템을 실행하는 방법을 설명합니다.
|
||||
|
||||
## 1. 사전 준비
|
||||
|
||||
### 1.1 Google Colab Pro 설정
|
||||
- Google Colab Pro 계정으로 로그인
|
||||
- 런타임 유형을 "GPU"로 설정 (A100 권장)
|
||||
- Python 3.8 이상 사용
|
||||
|
||||
### 1.2 Google Drive 설정 (간단한 방법 - 권장)
|
||||
Google Colab에서는 다음 코드로 쉽게 Google Drive를 마운트할 수 있습니다:
|
||||
|
||||
```python
|
||||
from google.colab import drive
|
||||
drive.mount('/content/drive')
|
||||
```
|
||||
|
||||
이 방법은 별도의 API 설정 없이 데이터를 저장할 수 있어 간단합니다. 데이터를 `/content/drive/MyDrive/AI_Data` 폴더에 자동으로 저장합니다.
|
||||
|
||||
### 1.3 Google Drive API 설정 (고급 방법)
|
||||
더 정교한 제어가 필요한 경우 Google Drive API를 사용할 수 있습니다:
|
||||
1. Google Cloud Console (https://console.cloud.google.com/) 접속
|
||||
2. 새 프로젝트 생성 또는 기존 프로젝트 선택
|
||||
3. "Google Drive API" 활성화
|
||||
4. "OAuth 2.0 클라이언트 ID" 생성
|
||||
5. 클라이언트 ID를 다운로드하여 `credentials.json`으로 이름 변경
|
||||
6. 데이터를 저장할 Google Drive 폴더 생성 및 폴더 ID 확인
|
||||
- 폴더 URL에서 ID 추출: `https://drive.google.com/drive/folders/[FOLDER_ID]`
|
||||
|
||||
### 1.4 프로젝트 파일 업로드
|
||||
Colab에 프로젝트 파일들을 업로드하거나 GitHub에서 클론:
|
||||
```bash
|
||||
!git clone https://github.com/your-repo/AI_Web_Scraper.git
|
||||
%cd AI_Web_Scraper
|
||||
```
|
||||
|
||||
### 1.5 Google Drive 마운트
|
||||
시스템 실행 전에 다음 코드를 실행하여 Google Drive를 마운트하세요:
|
||||
```python
|
||||
from google.colab import drive
|
||||
drive.mount('/content/drive')
|
||||
```
|
||||
|
||||
## 2. 환경 설정
|
||||
|
||||
### 2.1 필요한 패키지 설치
|
||||
```bash
|
||||
!pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2.2 설정 파일 수정
|
||||
`config.json` 파일을 열어서 다음 항목들을 수정:
|
||||
```json
|
||||
{
|
||||
"google_drive_folder_id": "YOUR_ACTUAL_FOLDER_ID",
|
||||
"google_credentials_path": "./credentials.json"
|
||||
}
|
||||
```
|
||||
|
||||
### 2.3 인증 파일 업로드
|
||||
- `credentials.json` 파일을 Colab에 업로드
|
||||
- Google Drive 인증 시 브라우저 팝업이 나타나면 허용
|
||||
|
||||
## 3. 시스템 실행
|
||||
|
||||
### 3.1 기본 실행 (AI가 스스로 주제 선정)
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
이 경우 AI가 현재 흥미로운 기술 트렌드 3개를 스스로 선정하여 조사합니다.
|
||||
|
||||
### 3.2 AI가 스스로 주제 선정하도록 명시적 실행
|
||||
```bash
|
||||
python main.py --auto-topics
|
||||
```
|
||||
|
||||
### 3.3 특정 주제로 실행
|
||||
```bash
|
||||
python main.py --topics "인공지능" "머신러닝" "딥러닝"
|
||||
```
|
||||
|
||||
### 3.4 설정 파일 지정
|
||||
```bash
|
||||
python main.py --config ./custom_config.json
|
||||
```
|
||||
|
||||
## 4. 실행 과정 설명
|
||||
|
||||
1. **모델 다운로드**: Hugging Face에서 `jxm/gpt-oss-20b-base` 모델을 다운로드
|
||||
2. **AI 에이전트 초기화**: 모델을 로드하고 도구들을 설정
|
||||
3. **정보 수집**: 각 주제에 대해 AI가 스스로 웹을 탐색하며 정보 수집
|
||||
4. **데이터 저장**: 수집된 데이터를 마운트된 Google Drive의 `/content/drive/MyDrive/AI_Data` 폴더에 자동 저장
|
||||
|
||||
## 5. 모니터링 및 디버깅
|
||||
|
||||
### 5.1 로그 확인
|
||||
실행 중 출력되는 로그를 통해 진행 상황을 확인할 수 있습니다.
|
||||
|
||||
### 5.2 Colab GPU 모니터링
|
||||
```bash
|
||||
!nvidia-smi
|
||||
```
|
||||
|
||||
### 5.3 메모리 사용량 확인
|
||||
```bash
|
||||
!free -h
|
||||
```
|
||||
|
||||
## 6. 문제 해결
|
||||
|
||||
### 6.1 모델 다운로드 실패
|
||||
- Colab의 디스크 공간 확인
|
||||
- 모델 크기가 크므로 충분한 공간 확보
|
||||
|
||||
### 6.2 Google Drive 마운트 실패
|
||||
- 브라우저 팝업에서 권한 허용을 확인
|
||||
- 마운트 코드 재실행: `drive.mount('/content/drive', force_remount=True)`
|
||||
- `/content/drive/MyDrive` 경로가 존재하는지 확인
|
||||
|
||||
### 6.3 메모리 부족 오류
|
||||
- 배치 크기 조정 또는 더 작은 모델 사용 고려
|
||||
|
||||
## 7. 확장 및 커스터마이징
|
||||
|
||||
### 7.1 새로운 도구 추가
|
||||
`ai_agent.py`의 `tools` 리스트에 새로운 도구를 추가할 수 있습니다.
|
||||
|
||||
### 7.2 모델 변경
|
||||
`config.json`에서 `model_name`을 다른 모델로 변경 가능합니다.
|
||||
|
||||
### 7.3 크롤링 전략 수정
|
||||
`web_scraper.py`에서 크롤링 로직을 커스터마이징할 수 있습니다.
|
||||
|
||||
## 8. 주의사항
|
||||
|
||||
- 모델 다운로드에 시간이 오래 걸릴 수 있습니다.
|
||||
- Google Drive API 사용량 제한에 유의하세요.
|
||||
- 대량의 데이터를 수집할 경우 Colab 세션 시간 제한을 고려하세요.
|
||||
- 개인정보 보호 및 저작권을 준수하세요.
|
||||
|
||||
## 9. 지원
|
||||
|
||||
문제가 발생하거나 추가 기능이 필요한 경우 다음 정보를 포함하여 문의하세요:
|
||||
- 오류 메시지
|
||||
- 실행 환경 (Colab Pro, GPU 유형)
|
||||
- 재현 단계
|
||||
Reference in New Issue
Block a user