티스토리 뷰

반응형

🚀 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 설치 후, 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 문서 확인

http://localhost:8000/docs

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

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/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
글 보관함
반응형