본문 바로가기
AI 공부/LLM

DeepSeek R1 챗봇 만들기! 🚀 AI 대화형 모델을 내 PC에서 실행하는 방법 🤖

by 데이터 벌집 2025. 1. 31.
반응형

 

최근 AI 기술이 발전하면서 다양한 오픈소스 LLM(Large Language Model)이 등장하고 있습니다. 그중에서도 DeepSeek R1은 강력한 추론 성능을 제공하는 모델로, Ollama를 통해 로컬에서 쉽게 실행할 수 있습니다.

 

2025.01.28 - [AI 공부/LLM] - 딥시크 사용법 DeepSeek R-1, 로컬 설치와 활용법 🌟 당신만의 AI 비서 만들기!

 

딥시크 사용법 DeepSeek R-1, 로컬 설치와 활용법 🌟 당신만의 AI 비서 만들기!

요즘 DeepSeek R-1에 대해 이야기하는 분들 많죠? 😍 중국 AI 기업 DeepSeek에서 개발한 이 오픈소스 AI 언어 모델은 OpenAI의 GPT와 견줄 만하거나, 일부 사용자는 더 뛰어나다고 평가합니다. 🤔✨ 특히,

datasciencebeehive.tistory.com

 

이 글에서는 Streamlit을 이용해 DeepSeek R1을 활용한 챗봇을 구축하는 방법을 설명합니다.

 

📌 1. 프로젝트 개요

목표

  • Streamlit을 사용하여 DeepSeek R1과 대화할 수 있는 챗봇 UI 구축
  • Ollama API를 활용해 로컬 환경에서 실행 가능하도록 구현

필요한 패키지

  • streamlit
  • requests
  • ollama (DeepSeek 모델 실행용)

🚀 2. 환경 설정

1️⃣ 필요한 패키지 설치

Streamlit과 요청을 처리할 requests 패키지를 설치합니다.

 

pip install streamlit requests

 

 

2️⃣ Ollama 설치 및 실행

DeepSeek R1 모델을 실행하려면 Ollama를 설치해야 합니다.
🔗 Ollama 공식 사이트: https://ollama.com

 

설치 방법

 

🔗 Ollama 공식 사이트: https://ollama.com

 

설치 후 DeepSeek R1 모델 다운로드

ollama pull deepseek-r1:1.5b

 

모델 실행:

ollama serve

 

🎨 3. Streamlit 챗봇 UI 구현

이제 Streamlit을 이용해 DeepSeek R1과 대화할 수 있는 챗봇을 만들어보겠습니다.

📜 코드: app.py

import streamlit as st
import requests

# Ollama API 주소
OLLAMA_URL = "http://localhost:11434/api/generate"
MODEL_NAME = "deepseek-r1:1.5b"  # 사용할 DeepSeek 모델

# Streamlit UI 설정
st.title("🤖 DeepSeek R1 챗봇")
st.write("DeepSeek AI 모델과 대화하세요!")

# 채팅 기록 저장
if "messages" not in st.session_state:
    st.session_state["messages"] = []

# 이전 메시지 표시
for message in st.session_state["messages"]:
    with st.chat_message(message["role"]):
        st.markdown(message["content"])

# 사용자 입력
user_input = st.chat_input("메시지를 입력하세요...")
if user_input:
    # 사용자 메시지 추가
    st.session_state["messages"].append({"role": "user", "content": user_input})
    
    # Streamlit UI에 사용자 메시지 표시
    with st.chat_message("user"):
        st.markdown(user_input)

    # DeepSeek 모델 호출
    payload = {
        "model": MODEL_NAME,
        "prompt": user_input,
        "stream": False
    }
    response = requests.post(OLLAMA_URL, json=payload).json()
    
    bot_reply = response.get("response", "오류 발생: 모델이 응답하지 않습니다.")

    # 챗봇 응답 저장 및 표시
    st.session_state["messages"].append({"role": "assistant", "content": bot_reply})

    with st.chat_message("assistant"):
        st.markdown(bot_reply)

 

✅ 4. 실행 방법

이제 코드를 실행하여 DeepSeek 챗봇을 확인해보겠습니다.

1️⃣ Streamlit 서버 실행

streamlit run app.py

2️⃣ 브라우저에서 확인

위 명령을 실행하면 브라우저에서 실행된 챗봇 UI를 확인할 수 있습니다.

 

딥시크 챗봇, 출처: 데이터벌집

 

위처럼 사용자가 입력하면 DeepSeek R1 모델이 답변을 생성하여 출력합니다. 이제 여러분도 로컬에서 실행되는 AI 챗봇을 쉽게 만들 수 있습니다!!


🎯 요약

DeepSeek R1 모델을 Ollama로 실행
Streamlit을 이용해 챗봇 UI 구현
Python을 활용하여 API 요청 처리
실제 실행 예제 및 개선 방법 소개

 

이제 직접 실행해보고 AI 챗봇을 활용해 보세요! 🚀

반응형