Files
AI_Devlop/AI_Web_Scraper/main.py

66 lines
2.2 KiB
Python

import sys
import json
from model_downloader import download_model
from ai_agent import AIAgent
import argparse
def main():
parser = argparse.ArgumentParser(description='AI 웹 정보 수집 시스템')
parser.add_argument('--topics', nargs='+', help='수집할 주제 목록', default=None)
parser.add_argument('--config', default='./config.json', help='설정 파일 경로')
parser.add_argument('--auto-topics', action='store_true', help='AI가 스스로 주제를 선정하여 조사')
parser.add_argument('--save-path', help='데이터 저장 경로 (예: /content/drive/MyDrive/MyFolder)', default=None)
args = parser.parse_args()
print("AI 웹 정보 수집 시스템 시작")
# 1. 모델 다운로드 (필요한 경우)
print("모델 확인 중...")
model, tokenizer = download_model(args.config)
if model is None:
print("모델 다운로드 실패. 프로그램을 종료합니다.")
sys.exit(1)
# 2. 설정 파일 로드 및 수정
with open(args.config, 'r') as f:
config = json.load(f)
if args.save_path:
config['data_storage']['drive_mount_path'] = args.save_path
# 수정된 config 저장
with open(args.config, 'w') as f:
json.dump(config, f, indent=2)
print(f"저장 경로 설정됨: {args.save_path}")
# 3. AI 에이전트 초기화
print("AI 에이전트 초기화 중...")
agent = AIAgent(args.config)
# 3. 주제 결정
if args.auto_topics or args.topics is None:
print("AI가 스스로 주제를 선정합니다...")
topics = agent.generate_topics(num_topics=3)
print(f"선정된 주제: {topics}")
else:
topics = args.topics
# 4. 정보 수집 실행
print(f"다음 주제들에 대해 정보를 수집합니다: {topics}")
results = agent.collect_information(topics)
# 5. 결과 출력
print("\n=== 수집 결과 ===")
for result in results:
print(f"주제: {result['topic']}")
print(f"응답: {result['response']}")
print("-" * 50)
# 6. 정리
agent.close()
print("프로그램 완료")
if __name__ == "__main__":
main()