티스토리 뷰

카테고리 없음

별첨 #7. MCP 서버 탑재

미니대왕님 2025. 12. 21. 21:41

별첨 #1 KoSimCSE란?

별첨 #2. Chunking 청킹이란...

별첨 #3. n8n 완전 정복 가이드

별첨 #4. Chroma DB 완전 가이드

별첨 #4-1. Milvus란? 

별첨 #5. RAG란? 

별첨 #6. LangChain이란?

별첨 #7. MCP 서버 탑재

별첨 #8. Embedding)이란?

별첨 #9. LLaMA란

별첨 #10. kiwipiepy(키위파이파이)

별첨 #11. Poetry란?

✅ 목표

MCP 서버에 OpenAI GPT 연동 LLM 애플리케이션API 서버 형태로 설치 및 운영하고, 필요 시 Streamlit UI 또는 RAG 시스템으로 확장

 

1️⃣ MCP 서버 구성 (Ubuntu 기준)

📦 1-1. 서버 접속

 
ssh ubuntu@YOUR_MCP_SERVER_IP

📦 1-2. 필수 패키지 설치

 
$ sudo apt update && sudo apt install -y python3-pip python3-venv git unzip

📦 1-3. 프로젝트 폴더 구성

 
$ mkdir openai-app && cd openai-app python3 -m venv venv source venv/bin/activate

📦 1-4. 필수 라이브러리 설치

 
$ pip install openai langchain streamlit fastapi uvicorn python-dotenv
 #필요시: faiss-cpu, sentence-transformers, pymilvus 등 추가 설치

📦 1-5. .env 파일 생성

 
$ touch .env
 
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxx

2️⃣ Streamlit 기반 테스트 챗봇 앱 실행

▶️ 파일명: streamlit_app.py

import streamlit as st
import openai
import os
from dotenv import load_dotenv

load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

st.title("🧠 OpenAI GPT 챗봇")

user_input = st.text_input("질문을 입력하세요:")

if user_input:
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": user_input}]
    )
    st.write(response['choices'][0]['message']['content'])
 
 

▶️ 실행

 
$ streamlit run streamlit_app.py --server.port 8000

▶️ MCP 보안설정

 

MCP 콘솔 → 방화벽 설정 → 포트 8000 허용

→ http://YOUR_SERVER_IP:8000 접속 가능

3️⃣ FastAPI + OpenAI API 서버 형태로 운영

▶️ 파일명: main.py

from fastapi import FastAPI, Request
import openai
import os
from dotenv import load_dotenv

load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

app = FastAPI()

@app.get("/")
def root():
    return {"message": "OpenAI API 연결 성공"}

@app.post("/chat")
async def chat(request: Request):
    data = await request.json()
    prompt = data.get("prompt")

    completion = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": prompt}]
    )

    return {"response": completion['choices'][0]['message']['content']}
 

▶️ 실행

 
$ uvicorn main:app --host 0.0.0.0 --port 80
 
 

→ MCP 콘솔에서 포트 80 허용
→ 접속: http://YOUR_SERVER_IP/
→ POST 요청: http://YOUR_SERVER_IP/chat

4️⃣ RAG 시스템으로 확장 시 구조

구성요소                                            설명
문서 청킹 LangChain TextSplitter
임베딩 HuggingFace or OpenAI
벡터DB FAISS or Milvus 설치
검색 체인 RetrievalQA
프론트 Streamlit or FastAPI
스토리지 NAS, MinIO, S3 연동 가능

👉 이 구조는 MCP에서 독립 컨테이너로 분리 운영 가능

✅ MCP + OpenAI 실전 팁

항목                                              팁                
API Key 관리 .env 사용 또는 Secret Manager 고려
GPU 서버 로컬 모델(LLaMA 등) 구동 시 필요
백업 전략 NAS 연동 or MCP Object Storage 활용
자동화 Crontab + Python으로 주기적 문서 처리 가능
인증 보안 FastAPI에 JWT 토큰 추가 권장

✅ 정리 요약

단계                                                                     설명 
1. MCP 서버 생성 Ubuntu or CentOS VM
2. Python 환경 구성 venv + pip 설치
3. OpenAI API 키 설정 .env 파일 구성
4. Streamlit or FastAPI 앱 로컬 or 웹서버 형태로 GPT 연동
5. 포트 설정 MCP 보안그룹에서 포트 허용 필요
6. 확장 문서 검색, 대시보드, 사내 챗봇으로 발전 가능

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함