본문 바로가기
AI 개발/LLM

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

by 데이터 AI 벌집 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 챗봇을 활용해 보세요! 🚀

반응형