이번엔 LLM을 한번 다뤄보는 시간...!!
api key를 받아 프롬프트를 전달하고 결과를 챗봇으로 받아보도록 하겠습니다
openai로 하려고 했다가 유료길래
gemini로 변경했습니다

(점점 모자이크가 늘어나네..)
main함수에도 아래와 같은 명령어 추가

그 결과 다음과 같은 메시지가 왔습니다.

성공!
하지만 단순히 종가만 알려주는 건 부족하다고 생각합니다
이동평균을 고려해 MA5와 MA20 지표를 계산하고
이를 LLM에게 넘겨주어 더 나은 분석결과를 도출해내보겠습니다.
다음과 같이 쿼리 수정, 이동평균값 계산.
query = "SELECT Date, Close FROM samsung_stock ORDER BY Date ASC"
df = pd.read_sql(query, con=engine)
df["MA5"] = df["Close"].rolling(window=5).mean()
df["MA20"] = df["Close"].rolling(window=20).mean()
latest = df.iloc[-1]
raw_date = pd.to_datetime(latest["Date"])
today_date = raw_date.strftime("%Y-%m-%d")
close_price = int(latest["Close"])
ma5 = latest["MA5"] if pd.notnull(latest["MA5"]) else latest["Close"]
ma20 = latest["MA5"] if pd.notnull(latest["MA20"]) else latest["Close"]
그리고 프롬프트를
"오늘({today_date})의 삼성전자 종가는 {close_price:,}원이야.
이동평균 값: MA5 값은 {int(ma5)}, MA20값은 {int(ma20)}이야.
이 지표들을 보고 오늘의 삼성전자 주식의 동향이 어떤지 증권사 에이전트처럼 한 문장으로 짧고 친절하게 요약해줘.
그리고 내일의 전망은 어떤지도 한줄 덧붙여줘."
이렇게 적었습니다

그랬더니 꽤나 유용한 정보가 제공되는 모습!
마지막으로 등락률도 포함한 결과 제공하면서 오늘은 마무리하겠습니다

'End-to-End 프로젝트' 카테고리의 다른 글
| End-to-End 연습5_LLM 대화형 RAG 챗봇 구현하기 (0) | 2026.07.23 |
|---|---|
| End-to-End 연습3_챗봇 알림 서비스 구현 (0) | 2026.07.21 |
| End-to-End 연습2_데이터 수집 자동화&웹 시각화 (0) | 2026.07.20 |
| End-to-End 연습1_AWS 환경 구축 (0) | 2026.07.20 |