티스토리 뷰
🚀 FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – Python 및 필수 라이브러리 설치
octo54 2025. 2. 26. 13:41🚀 FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – Python 및 필수 라이브러리 설치
FastAPI를 활용하여 로컬 LLM + RAG 챗봇을 개발하기 위해 필요한 Python 환경 및 필수 라이브러리를 설치하는 과정을 다룹니다.
📌 1. Python 설치 및 환경 설정
✅ 1️⃣ Python 버전 확인 및 설치
FastAPI 및 LangChain을 사용하려면 Python 3.8 이상이 필요합니다.
아래 명령어로 Python 버전을 확인하세요.
python --version
✅ Python이 설치되지 않은 경우
공식 사이트에서 최신 버전을 다운로드하여 설치하세요.
✅ Python이 이미 설치된 경우
최신 버전으로 업데이트하려면:
python -m ensurepip --default-pip
python -m pip install --upgrade pip setuptools
✅ 2️⃣ 가상 환경 설정 (Virtual Environment)
Python 프로젝트를 관리하기 위해 **가상 환경(venv)**을 사용합니다.
# 프로젝트 폴더 생성
mkdir fastapi-llm-chatbot && cd fastapi-llm-chatbot
# 가상 환경 생성
python -m venv venv
# 가상 환경 활성화
# macOS/Linux
source venv/bin/activate
# Windows
venv\Scripts\activate
✅ 가상 환경을 활성화하면 (venv)가 프롬프트 앞에 표시됩니다.
가상 환경을 종료하려면:
deactivate
📌 2. 필수 라이브러리 설치
✅ 1️⃣ FastAPI 및 Uvicorn 설치
FastAPI 서버를 실행하려면 FastAPI와 Uvicorn이 필요합니다.
pip install fastapi uvicorn
✅ 설치된 주요 패키지
- fastapi → Python 기반 고성능 웹 프레임워크
- uvicorn → 비동기 ASGI 서버 (FastAPI 실행에 필요)
✅ 2️⃣ PostgreSQL 및 pgvector 설정
PostgreSQL 설치 (로컬 환경)
PostgreSQL과 pgvector 확장 모듈을 사용하여 벡터 검색을 수행합니다.
🔹 Ubuntu / Debian
sudo apt update && sudo apt install postgresql postgresql-contrib
sudo -u postgres psql -c "CREATE EXTENSION vector;"
🔹 macOS (Homebrew 사용)
brew install postgresql
brew services start postgresql
psql -U postgres -c "CREATE EXTENSION vector;"
🔹 Windows (WSL 추천)
- PostgreSQL 공식 다운로드에서 설치
- pgAdmin 또는 CLI에서 CREATE EXTENSION vector; 실행
✅ PostgreSQL 설치 후, Python에서 PostgreSQL과 연동하기 위해 psycopg2 설치
pip install psycopg2-binary pgvector
✅ 설치된 주요 패키지
- psycopg2-binary → Python과 PostgreSQL을 연결하는 드라이버
- pgvector → PostgreSQL에 벡터 데이터를 저장하고 검색하는 확장 모듈
✅ 3️⃣ LangChain 및 Hugging Face 설치
LangChain은 LLM 기반 AI 애플리케이션 개발을 위한 핵심 라이브러리입니다.
또한, Hugging Face의 transformers를 활용하여 한국어 임베딩 모델을 사용할 수 있습니다.
pip install langchain langchain-community transformers sentence-transformers
✅ 설치된 주요 패키지
- langchain → LLM과 데이터베이스, 문서 검색 기능을 연결하는 프레임워크
- langchain-community → LangChain의 확장 기능 및 RAG 지원
- transformers → Hugging Face의 사전 학습된 LLM 모델을 활용
- sentence-transformers → 문장을 벡터로 변환하는 임베딩 라이브러리
✅ 4️⃣ Ollama 및 LLaMA3 모델 설정
로컬 환경에서 LLM을 실행하기 위해 Ollama를 설치하고, LLaMA3-Korean-Blossom 모델을 다운로드합니다.
# Ollama 설치 (macOS & Linux)
curl -fsSL https://ollama.com/install.sh | sh
# Windows는 공식 웹사이트에서 다운로드 (https://ollama.ai)
설치 후 LLaMA3 모델 등록
# Hugging Face에서 LLaMA3 모델 다운로드 후 등록
ollama create korean-llama3 -f modelfile
✅ modelfile 내용
FROM LLaMA-3-Korean-Blossom-8B-Q4_K_M.gguf
✅ Ollama 실행 테스트
ollama run korean-llama3
📌 3. 설치된 라이브러리 및 환경 확인
설치된 모든 라이브러리를 확인하려면 다음 명령어를 실행하세요.
pip list
✅ 정상적으로 설치되었다면, 주요 라이브러리가 표시됩니다.
fastapi x.x.x
uvicorn x.x.x
psycopg2-binary x.x.x
pgvector x.x.x
langchain x.x.x
transformers x.x.x
📌 4. FastAPI 기본 실행 테스트
설치된 환경이 정상적으로 동작하는지 확인하기 위해 FastAPI 기본 서버를 실행합니다.
🔹 main.py 생성
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "FastAPI 설치 완료!"}
🔹 FastAPI 실행
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
✅ 실행 후 Swagger 문서 확인
✅ API 응답 테스트
curl -X GET "http://localhost:8000/"
{"message": "FastAPI 설치 완료!"}
📌 5. 오류 해결 및 디버깅
🔥 1️⃣ ModuleNotFoundError: No module named 'fastapi' 오류
✅ 원인: fastapi 패키지가 설치되지 않음
✅ 해결 방법:
pip install fastapi
🔥 2️⃣ ImportError: No module named 'pydantic' 오류
✅ 원인: pydantic 패키지가 설치되지 않음
✅ 해결 방법:
pip install pydantic
🔥 3️⃣ OSError: [Errno 98] Address already in use 오류
✅ 원인: 8000번 포트가 이미 사용 중
✅ 해결 방법:
lsof -i :8000 # 8000 포트 사용 프로세스 찾기
kill -9 <PID> # 해당 프로세스 종료
📌 결론 및 다음 단계
✅ FastAPI, PostgreSQL, LangChain, pgvector, Ollama 등 모든 필수 라이브러리 설치 완료!
✅ FastAPI 서버 실행 및 API 테스트 성공!
🚀 다음 글에서는 Ollama 및 LLaMA3 모델을 FastAPI에 연동하는 방법을 설명합니다!
📢 추천 태그 (SEO 최적화)
FastAPI, Python, LangChain, Ollama, LLaMA3, pgvector, PostgreSQL, 벡터DB, AI챗봇, RAG, HuggingFaceEmbeddings, PythonAPI, 웹개발, 백엔드, REST API
'project > 로컬 LLM + RAG 기반 AI 채팅봇 만들기' 카테고리의 다른 글
🚀 FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – FastAPI 프로젝트 구조 및 설정 (0) | 2025.02.26 |
---|---|
🚀 FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – Ollama 및 LLaMA3 모델 설정 (0) | 2025.02.26 |
FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – LangChain 및 RAG 개념과 활용 (0) | 2025.02.26 |
FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – Ollama를 활용한 로컬 LLM 개념 및 활용 (0) | 2025.02.26 |
FastAPI 기반 로컬 LLM + RAG 챗봇 만들기 – 주요 기술 스택 소개 (0) | 2025.02.26 |
- Total
- Today
- Yesterday
- llm
- Page
- 웹개발
- AI챗봇
- 리액트
- Python
- 페이지
- PostgreSQL
- til
- 챗봇개발
- nextJS
- github
- 로컬LLM
- Ktor
- 프론트엔드
- kotlin
- 백엔드
- Project
- REACT
- Docker
- rag
- nodejs
- 개발블로그
- 백엔드개발
- Next.js
- Webpack
- babel
- LangChain
- 관리자
- fastapi
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |