티스토리 뷰
✅ 목표
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
링크
TAG
- Ai
- Oracle
- 쿠버네티스
- K8s
- llama
- Qdrant
- kiwipiepy
- 오라클
- 테라폼
- 5.4.0.1072
- CVE 취약점 점검
- MSA
- VectorStore
- KoSimCSE
- RAG
- open ai
- MCP
- RangChain
- AWS
- 임베딩
- 코로나19
- chunking
- embedding
- poetry
- Chroma
- 버쳐박스
- n8n
- llm
- Weaviate
- faiss
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
