티스토리 뷰
Ollama + CrewAI + FastAPI를 활용한 한국 주식 분석 블로그 - FastAPI를 활용한 리포트 API 개발
octo54 2025. 3. 7. 15:34Ollama + CrewAI + FastAPI를 활용한 한국 주식 분석 블로그
3. FastAPI를 활용한 리포트 API 개발
이 글에서는 CrewAI가 생성한 한국 주식 분석 리포트를 FastAPI를 활용하여 사용자에게 제공하는 방법을 다룹니다.
✅ FastAPI 개념 및 기본 사용법
✅ FastAPI를 활용한 리포트 API 개발
✅ CrewAI 분석 데이터를 API로 제공
✅ API 실행 및 테스트
3.1 FastAPI 개념 및 기본 사용법
3.1.1 FastAPI란?
FastAPI는 빠르고 간결한 비동기 웹 프레임워크로, Python에서 API를 구축하는 데 최적화되어 있습니다.
이 프로젝트에서는 CrewAI가 생성한 한국 주식 분석 리포트를 사용자에게 제공하는 API를 개발합니다.
3.1.2 FastAPI의 주요 기능
🔹 비동기 처리 지원 → 빠른 응답 속도 제공
🔹 자동 문서화 지원 → /docs 및 /redoc에서 API 문서 자동 생성
🔹 간결한 코드 구조 → 최소한의 코드로 API 개발 가능
3.2 FastAPI를 활용한 리포트 API 개발
이제 CrewAI가 생성한 리포트를 사용자에게 제공하는 API를 FastAPI로 구축합니다.
FastAPI 서버는 사용자가 웹에서 주식 분석 리포트를 조회할 수 있도록 JSON 형태로 데이터를 반환합니다.
3.2.1 FastAPI API 코드 (api.py)
아래 코드를 src/stock_analysis/api.py 파일에 추가합니다.
from fastapi import FastAPI, HTTPException
import os
app = FastAPI()
REPORT_PATH = "weekly_korean_stock_report.md"
@app.get("/")
def read_root():
return {"message": "Stock Analysis API is running!"}
@app.get("/report/")
def get_report():
"""CrewAI가 생성한 주식 분석 리포트를 반환하는 API"""
if os.path.exists(REPORT_PATH):
with open(REPORT_PATH, "r", encoding="utf-8") as file:
report_content = file.read()
return {"title": "주간 한국 주식 시장 분석", "content": report_content}
else:
raise HTTPException(status_code=404, detail="Report not found")
3.3 FastAPI 실행 및 테스트
3.3.1 FastAPI 서버 실행
uvicorn src.stock_analysis.api:app --host 127.0.0.1 --port 8000 --reload
FastAPI 서버가 정상적으로 실행되면 다음과 같은 메시지가 출력됩니다.
INFO: Started server process [XXXX]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
3.4 API 테스트 및 활용
3.4.1 리포트 API 호출
API가 정상적으로 작동하는지 확인하기 위해 브라우저 또는 curl 명령어를 사용하여 요청을 보냅니다.
curl -X GET "http://127.0.0.1:8000/report/"
3.4.2 응답 예시 (리포트 존재 시)
{
"title": "주간 한국 주식 시장 분석",
"content": "이번 주 한국 주식 시장 분석 리포트입니다...\n"
}
3.4.3 응답 예시 (리포트가 존재하지 않을 경우)
{
"detail": "Report not found"
}
이제 CrewAI가 생성한 리포트를 FastAPI를 통해 사용자에게 제공할 수 있습니다! 🚀
📌 정리 및 다음 단계
이제 FastAPI를 활용하여 CrewAI 분석 데이터를 API 형태로 제공하는 시스템을 구축했습니다.
✅ FastAPI 개념 및 기본 사용법
✅ FastAPI API 개발 (api.py)
✅ CrewAI 분석 데이터를 JSON 형식으로 제공
✅ FastAPI 실행 및 테스트 완료
🔜 다음 글 예고: 4. FastAPI 기반 블로그 프론트엔드 개발
다음 글에서는 FastAPI를 활용하여 웹 UI를 구성하고, 사용자가 브라우저에서 리포트를 조회하는 기능을 추가하는 방법을 다룹니다.
'project > Ollama + CrewAI + FastAPI를 활용한 한국 주식 분석' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 웹개발
- Python
- Project
- nextJS
- Docker
- 개발블로그
- Page
- 백엔드개발
- 로컬LLM
- LangChain
- rag
- 리액트
- Webpack
- kotlin
- babel
- nodejs
- github
- llm
- 챗봇개발
- PostgreSQL
- 백엔드
- 관리자
- Ktor
- 프론트엔드
- REACT
- Next.js
- til
- fastapi
- 페이지
- AI챗봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |