티스토리 뷰
Ollama + CrewAI + FastAPI를 활용한 한국 주식 분석 블로그 - 프로젝트 개요 및 환경 설정
octo54 2025. 3. 6. 19:31Ollama + CrewAI + FastAPI를 활용한 한국 주식 분석 블로그
1. 프로젝트 개요 및 환경 설정
이 글에서는 Ollama, CrewAI, FastAPI를 활용한 한국 주식 분석 블로그 프로젝트의 개요와 환경 설정 방법을 다룹니다.
✅ 프로젝트 목표 및 기대 효과
✅ 주요 기능 및 기술 스택
✅ Conda 기반 환경 설정 및 필수 패키지 설치
✅ FinanceDataReader를 활용한 데이터 수집 환경 설정
✅ 프로젝트 폴더 구조 및 코드 스타일 가이드
1.1 프로젝트 개요
1.1.1 프로젝트 목표 및 기대 효과
이 프로젝트는 Ollama(Deepseek 모델) + CrewAI를 활용하여 한국 주식 시장 분석 리포트를 자동 생성하고,
FastAPI 기반 블로그에서 사용자가 이를 조회할 수 있도록 하는 시스템을 구축하는 것을 목표로 합니다.
🔹 자동화된 한국 주식 시장 분석 → AI 에이전트를 활용하여 주식 데이터 분석 및 시각화
🔹 FastAPI 기반 웹 서비스 구축 → 사용자가 웹에서 분석 리포트를 확인할 수 있도록 API 및 프론트엔드 제공
🔹 FinanceDataReader를 활용한 한국 주식 데이터 수집 → 실시간 및 과거 주식 데이터 제공
1.1.2 주요 기능 및 기술 스택
구분 기술 스택
AI 모델 | Ollama(Deepseek-r1:8b) |
AI 에이전트 | CrewAI |
웹 프레임워크 | FastAPI |
데이터 수집 | FinanceDataReader |
데이터 분석 | Pandas, Matplotlib |
배포 환경 | Docker, AWS/GCP/VPS |
1.2 개발 환경 및 필수 도구 설치
이 프로젝트에서는 Python 3.12 및 Conda를 활용하여 개발 환경을 구성합니다.
아래 단계에 따라 필요한 패키지를 설치하고, 프로젝트의 기본 폴더 구조를 설정합니다.
1.2.1 Conda 가상환경 생성 및 패키지 설치
1) Conda 가상환경 생성
# Python 3.12 환경으로 Conda 가상환경 생성
conda create --name stock_analysis python=3.12
# 가상환경 활성화
conda activate stock_analysis
2) 필수 패키지 설치
# FastAPI 및 Uvicorn (API 서버)
conda install -c conda-forge fastapi uvicorn
# CrewAI 및 LangChain 연동
conda install -c conda-forge langchain
pip install crewai langchain_community crewai-tools
# 한국 주식 데이터 분석 관련 패키지
pip install finance-datareader
conda install -c conda-forge pandas matplotlib requests
# 환경 변수 관리
conda install -c conda-forge python-dotenv
1.3 Ollama 설치 및 모델 다운로드
Ollama는 로컬 LLM 실행 환경으로, 이 프로젝트에서는 Deepseek-r1:8b 모델을 사용합니다.
1.3.1 Ollama 설치
curl -fsSL https://ollama.com/install.sh | sh
1.3.2 Deepseek 모델 다운로드
ollama pull deepseek-r1:8b
1.3.3 Ollama 서버 실행 확인
ollama serve
1.4 FinanceDataReader를 활용한 데이터 수집 환경 설정
이 프로젝트에서는 FinanceDataReader 라이브러리를 활용하여 한국 주식 데이터를 수집합니다.
1.4.1 FinanceDataReader 설치 확인
pip install finance-datareader
1.4.2 간단한 주식 데이터 조회 테스트
아래 코드를 실행하여 FinanceDataReader가 정상적으로 작동하는지 확인합니다.
import FinanceDataReader as fdr
# 삼성전자(005930) 주식 데이터 가져오기
df = fdr.DataReader('005930', '2023-01-01', '2024-01-01')
print(df.head())
위 코드를 실행했을 때, 삼성전자(005930)의 주식 데이터가 출력되면 정상적으로 작동하는 것입니다.
1.5 프로젝트 폴더 구조 및 코드 스타일 가이드
이제 프로젝트의 기본 폴더 구조를 생성하고, 정리된 코드 스타일을 유지하기 위한 가이드를 설정합니다.
1.5.1 프로젝트 폴더 구조
# 프로젝트 폴더 생성
mkdir stock_analysis
cd stock_analysis
# 주요 폴더 및 파일 생성
mkdir -p src/stock_analysis/{config,tools,reports}
touch .gitignore README.md .env src/stock_analysis/__init__.py
touch src/stock_analysis/{main.py,crew.py,data_collector.py,api.py}
1.5.2 폴더 구조 설명
stock_analysis/
├── .gitignore
├── README.md
├── .env # 환경 변수 저장
├── src/
│ ├── stock_analysis/
│ │ ├── __init__.py
│ │ ├── main.py # 메인 실행 파일
│ │ ├── crew.py # CrewAI 실행 파일
│ │ ├── api.py # FastAPI 서버 파일
│ │ ├── data_collector.py # FinanceDataReader를 활용한 데이터 수집
│ │ ├── config/ # CrewAI 설정 파일
│ │ │ ├── agents.yaml # CrewAI 에이전트 설정
│ │ │ ├── tasks.yaml # CrewAI 작업 설정
│ │ ├── tools/ # 추가 도구 및 기능
│ │ ├── reports/ # CrewAI가 생성한 보고서 저장
1.5.3 코드 스타일 가이드
- PEP8 스타일 준수: black, flake8 등을 활용하여 코드 정리
- 환경 변수 관리: .env 파일을 사용하여 API 키 및 중요 설정 저장
- 모듈화된 코드 구성: 기능별로 파일을 분리하여 유지보수성을 높임
📌 정리 및 다음 단계
이제 프로젝트의 개발 환경이 완전히 설정되었습니다.
✅ Conda 가상환경 생성 및 필수 패키지 설치
✅ Ollama 모델 다운로드 및 설정
✅ FinanceDataReader를 활용한 한국 주식 데이터 수집 환경 설정
✅ 프로젝트 폴더 구조 설계
✅ FastAPI 및 CrewAI 실행 준비 완료
🔜 다음 글 예고: 2. CrewAI를 활용한 한국 주식 분석 리포트 자동 생성
다음 글에서는 CrewAI를 활용한 AI 에이전트 및 작업 구성 방법을 다룹니다.
- CrewAI 개념 및 기본 사용법
- agents.yaml, tasks.yaml 설정
- CrewAI를 활용한 주식 분석 자동화
CrewAI를 활용하여 자동화된 주식 분석을 진행하는 과정을 실습해보겠습니다! 🚀
'project > Ollama + CrewAI + FastAPI를 활용한 한국 주식 분석' 카테고리의 다른 글
- Total
- Today
- Yesterday
- REACT
- fastapi
- nodejs
- LangChain
- Next.js
- Webpack
- kotlin
- Python
- Ktor
- 개발블로그
- 페이지
- Docker
- rag
- AI챗봇
- 백엔드
- Project
- 웹개발
- babel
- github
- 백엔드개발
- 프론트엔드
- 관리자
- PostgreSQL
- 로컬LLM
- nextJS
- llm
- Page
- 리액트
- 챗봇개발
- til
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |