본문 바로가기
AI 공부/AI 개발도구

Gemini와 Langchain을 활용한 AI 앱 개발 가이드

by 데이터 AI 벌집 2025. 4. 11.
반응형

Gemini와 Langchain을 활용한 AI 앱 개발 가이드

- DCA(적립식 투자) 예시 포함! 💸

AI 언어 모델과 프레임워크를 잘 조합하면, 인간처럼 자연스럽게 소통하고 의미 있는 결과를 내는 챗봇이나 분석 시스템을 만들 수 있어요. 이번 글에서는 Google DeepMind의 초거대 언어모델 Gemini와, LLM 애플리케이션 개발 프레임워크 Langchain을 연동하는 방법을 소개합니다. 특히 금융 조언(재테크)을 주제로 한 적립식 투자(Dollar-Cost Averaging, DCA) 활용 예제도 함께 보여드릴게요. 👀


🌱 Gemini와 Langchain, 어떤 역할을 할까?

🧩 Gemini는?

Google DeepMind가 개발한 고급 자연어 처리 모델로, 복잡한 질문에도 인간처럼 이해하고 대답할 수 있는 능력을 가지고 있어요. 분석, 요약, 조언, 창작 등 다양한 작업에 사용됩니다.

🛠️ Langchain은?

Langchain은 언어 모델을 기반으로 한 앱을 만들기 쉽게 도와주는 Python 프레임워크입니다. 프롬프트 체이닝, 메모리 유지, 외부 API 연동 등으로 복잡한 대화형 앱을 구성할 수 있죠.

 


1. 환경 설정하기

# 가상환경 생성 및 활성화
python -m venv myenv
source myenv/bin/activate  # Windows는 myenv\Scripts\activate

# Langchain, 요청 라이브러리 등 설치
pip install langchain requests python-dotenv numpy

 


2. Gemini API 키 준비하기 🔑

  1. Google Cloud 계정 만들기 - https://aistudio.google.com/
  2. Gemini API 사용 설정
  3. API 키 생성 후, .env 파일에 저장
 
GEMINI_API_KEY=your_api_key_here

 

from dotenv import load_dotenv
import os

load_dotenv()
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")

3. Langchain 클라이언트로 Gemini 연결하기 🔌

 
from langchain import Langchain

lc = Langchain(api_key=GEMINI_API_KEY)
status = lc.check_connection()
print("✅ Gemini 연결 상태:", status)

4. 프롬프트 구성하기 ✍️

💡 기본 예시

prompt = "What is DCA?"
response = lc.generate(prompt)
print(response)

💰 DCA 관련 금융 조언 예시

적립식 투자에 대해 질문하는 프롬프트를 작성해봅시다.

prompt = """
You are a financial advisor AI. A user asks: 
'Should I continue my DCA (Dollar-Cost Averaging) strategy during a market downturn?'

Please respond in a professional tone with the following format:
- Answer
- Reasoning (2-3 bullet points)
- Example using $500/month for SPY ETF
"""

response = lc.generate(prompt)
print(response)

 

🔽 예상 응답 예시:

- Answer: Yes, continuing DCA during a market downturn can be beneficial.

- Reasoning:
  • It allows you to buy more shares when prices are low.
  • It removes the emotion from market timing decisions.
  • Historically, long-term DCA investors tend to smooth out volatility.

- Example:
  If you invest $500 every month into SPY ETF, during a downturn you'll accumulate more shares per dollar. Over time, as the market recovers, your average cost lowers and potential gains increase.

5. 응답 구조화 및 처리하기 📦

response_data = lc.generate(prompt)
# 필요 시 JSON 응답 처리
parsed = response_data.get('data', response_data)  # 구조는 API 설정에 따라 달라질 수 있음

print("📊 응답 결과:")
print(parsed)
 

6. 체이닝 & 메모리 활용하기 🔄🧠

🔗 체이닝 (대화형 흐름 유지)

first = "What are the benefits of DCA in volatile markets?"
follow_up = "Can you give an example with crypto investing?"

resp1 = lc.generate(first)
resp2 = lc.generate(follow_up)

print("📌 첫 응답:", resp1)
print("📌 후속 응답:", resp2)

🧠 메모리 활용

from langchain.memory import Memory

memory = Memory()
memory.save("dca_summary", resp1)

contextual_prompt = f"Based on what you said: {memory.retrieve('dca_summary')}, what are the risks?"
response = lc.generate(contextual_prompt)
print("📎 리스크 설명:", response)

7️⃣ 오류 처리 및 테스트 🛡️✅

try:
    res = lc.generate(prompt)
    res.raise_for_status()
except Exception as e:
    print("🚨 오류 발생:", e)

✅ 유닛 테스트 예시

import unittest

class TestDCAAdvice(unittest.TestCase):
    def test_financial_advice_response(self):
        res = lc.generate("Is DCA a good idea for long-term investors?")
        self.assertIsNotNone(res)
        self.assertIn("Answer", res)

if __name__ == "__main__":
    unittest.main()

🏁 마무리

Gemini와 Langchain을 함께 사용하면 자연어 기반의 금융 챗봇, 투자 조언 도우미, AI 분석 시스템 등을 빠르게 구현할 수 있어요.
특히 적립식 투자(DCA)처럼 복잡한 맥락이 필요한 주제도 정교하게 다룰 수 있다는 게 장점입니다. 💡

 

🎯 지금부터 여러분의 아이디어를 코딩으로 실현해보세요! Langchain의 체인 구성과 메모리 기능, Gemini의 자연어 처리 능력을 잘 활용한다면 단순한 챗봇을 넘어서 진짜 전문가 같은 AI 조력자를 만들 수 있어요. 🔥

 

반응형