본문 바로가기
Artificial Intelligence(A.I)

Google Gemini AI로 챗봇 만들기, 실전 예제 포함

by souldiver 2025. 3. 20.
반응형

 

인공지능 챗봇은 고객 서비스, 자동 응답 시스템, 개인 비서 등 다양한 분야에서 활용되고 있다. 특히 Google의 Gemini AI를 사용하면 자연어 처리(NLP) 기능을 활용해 강력한 챗봇을 개발할 수 있다.

이 글에서는 Google Gemini AI를 활용해 챗봇을 만드는 방법을 단계별로 설명하고, 실전 예제도 함께 제공한다.


1. 챗봇 개발을 위한 준비

챗봇을 만들기 전에 먼저 어떤 기능을 갖춘 챗봇을 만들 것인지 목표를 설정하는 것이 중요하다.

챗봇 활용 예시

  • 고객 서비스 챗봇 (예: FAQ 자동 응답)
  • 날씨 정보 챗봇
  • 개인 비서 챗봇 (예: 일정 관리)
  • 간단한 대화형 챗봇

필요한 것

  1. Google Gemini AI 계정Google Bard 접속
  2. Python 환경 (Jupyter Notebook, VS Code 등)
  3. Google Cloud API 또는 Gemini AI API 키 (API 사용 시 필요)

2. Google Gemini AI API 설정

Gemini AI를 활용한 챗봇을 개발하려면 Google Cloud의 API를 설정해야 한다.

✅ API 설정 방법

  1. Google Cloud Console에 로그인 (console.cloud.google.com)
  2. 새 프로젝트 생성 (예: "Gemini Chatbot Project")
  3. Gemini AI API 활성화
  4. 서비스 계정 생성 및 API 키 발급
  5. Python 환경에서 API 키 설정

Python에서 API 키를 사용하려면 다음과 같이 설정할 수 있다.

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

3. Python을 활용한 챗봇 개발

이제 Gemini AI를 활용해 기본적인 챗봇을 만들어보자.

✅ Python 코드 예제

import google.generativeai as genai

# API 키 설정
genai.configure(api_key="YOUR_API_KEY")

# 챗봇 응답 함수
def chatbot(prompt):
    response = genai.generate_text(prompt)
    return response.text

# 챗봇 실행
while True:
    user_input = input("You: ")
    if user_input.lower() == "exit":
        print("Chatbot 종료.")
        break
    response = chatbot(user_input)
    print("Chatbot:", response)

설명

  • 사용자가 입력한 질문(prompt)에 대해 Gemini AI가 응답을 생성
  • exit 입력 시 챗봇 종료

4. 챗봇 기능 확장

기본 챗봇에 추가 기능을 넣으면 더욱 실용적인 챗봇을 만들 수 있다.

✅ 4.1. 고객 지원 챗봇 만들기

고객의 질문에 대해 사전에 정의된 답변을 제공하도록 개선할 수 있다.

def chatbot(prompt):
    predefined_responses = {
        "운영 시간": "저희 운영 시간은 평일 오전 9시부터 오후 6시까지입니다.",
        "배송 조회": "주문 번호를 입력하시면 배송 상태를 확인해드립니다.",
        "환불 정책": "구매 후 7일 이내 환불이 가능합니다."
    }
    
    for key in predefined_responses:
        if key in prompt:
            return predefined_responses[key]

    # 미리 정의된 응답이 없으면 Gemini AI에게 요청
    response = genai.generate_text(prompt)
    return response.text

while True:
    user_input = input("고객: ")
    if user_input.lower() == "exit":
        print("챗봇 종료.")
        break
    response = chatbot(user_input)
    print("챗봇:", response)

설명

  • 미리 정의된 질문(운영 시간, 배송 조회, 환불 정책 등)에 대해 즉시 응답
  • 정의되지 않은 질문은 Gemini AI가 처리

✅ 4.2. 음성 인식 챗봇 만들기

Google의 speech_recognition 라이브러리를 활용하면 음성 입력을 받아 챗봇이 응답하도록 만들 수 있다.

import speech_recognition as sr

# 음성 인식 설정
recognizer = sr.Recognizer()

def voice_chatbot():
    with sr.Microphone() as source:
        print("음성을 입력하세요...")
        audio = recognizer.listen(source)
        
        try:
            text = recognizer.recognize_google(audio, language="ko-KR")
            print("사용자:", text)
            response = chatbot(text)
            print("챗봇:", response)
        except sr.UnknownValueError:
            print("음성을 인식할 수 없습니다.")
        except sr.RequestError:
            print("Google 음성 인식 서비스 오류.")

while True:
    voice_chatbot()

설명

  • 마이크를 통해 사용자의 음성을 받아 텍스트로 변환
  • 변환된 텍스트를 Gemini AI에 전달해 응답 생성

5. 챗봇 배포

챗봇을 개발한 후에는 웹이나 모바일 환경에 배포할 수 있다.

배포 방법

  1. 웹 챗봇: Flask, FastAPI 등을 활용하여 웹 인터페이스 구현
  2. 메신저 챗봇: Telegram, WhatsApp API와 연동하여 실제 메신저에서 작동
  3. 모바일 앱 챗봇: React Native, Flutter 등을 활용하여 챗봇 포함

6. 결론

Google Gemini AI를 활용하면 자연어 처리를 이용한 챗봇을 쉽게 개발할 수 있다.

  • 기본적인 텍스트 챗봇부터 음성 인식, 고객 지원 챗봇까지 확장 가능
  • 웹, 모바일 환경에서도 쉽게 적용할 수 있어 활용도가 높음

이제 직접 Gemini AI를 활용하여 자신만의 챗봇을 만들어보자!

반응형