Intro
나는 1월 중순부터 개인 프로젝트를 진행하고 있었다. 이 프로젝트를 진행했던 이유는 경력 기술서와 이력서는 미리 만들어 둔게 있었지만 항상 이력서를 쓸때마다 포트폴리오가 부족하다고 생각했다. 분명 진행했던 프로젝트나 사용한 기술들은 많이 있는데 기록해둔 내용이 없다 보니 포트폴리오를 어떻게 구성하는게 좋을지 어렵다고 생각이 들었다. 그래서 내가 선택한 방법은 내가 지금까지 사용했던 기술들을 개인 홈페이지를 만들어서 녹여내 보자라는 생각을 하게 되었다. 현재는 백엔드는 NodeJs기반의 서버와 React 기반의 프론트 엔드로 구성되어 있다. 근데 여기서 뜬금 없이 왜 Django 서버를 새로 구축하나? 라는 생각이 들것이다. 내가 Django 서버를 새로 구축하려는 이유는 두가지가 있다 첫번째는 제목에도 나와 있듯 LangChain을 이용한 서버를 구축하려는 목적이 있다. 물론 NodeJs를 사용하여 LangChain 서버를 구축할 수 있지만 내가 궁극적으로 하고자 하는것은 내가 사용할 수 있는 기술들을 이 프로젝트에 녹여내는 것이고 LangChain을 통해 게시판에 업로드하는 데이터들을 정리하고 질의 응답이 가능하도록 할 예정이다. 또한 SKN AI CAMP에서 배우고 프로젝트를 진행하며 배우는 내용들을 Django 서버에 녹여낼 예정이다.
Python 가상 환경 설정
기본적으로 Python이 설치되어 있다고 생각하고 진행하며 Mac 운영체제를 기준으로 작성하겠다.
pyenv 설치
나는 pyenv를 사용하여 Python 프로젝트의 가상 환경 관리와 패키지 의존성을 관리하기로 했다. 물론 ananconda나 pipenv등 다양한 환경 관리 라이브러리가 있다. 내가 pyenv를 선택한 이유는 프로젝트 별로 쉽게 Python 버전을 변경하여 사용할 수 있고 시스템의 기본 Python을 변경하지 않고 독립적으로 사용할 수 있다는 점에서 선택하게 되었다.
pip3 install pyenv
pyenv install <Python 버전>
pyenv install 3.12
pyenv virtualenv <Python 버전> <가상 환경 이름>
pyenv virtualenv 3.12 snowfall
python 3.12 버전을 기반으로 하는 snowfall이라는 가상 환경을 생성했다.
이 가상환경을 활성화 하면 가상환경이 활성화 되어 있는 상태에서는 python의 3.12버전으로 동작하게 되고 패키지 의존성을 쉽게 관리할 수 있다.
가상환경을 활성화 하는 방법은 다음과 같다.
pyenv activate <가상 환경 이름>
pyenv activate snowfall
위 명령어를 통해 가상환경을 활성화 하면 아래와 같이 앞에 (가상환경명)이 붙게 된다.
(snowfall)OOO@OOOO
💡가상환경 비활성화
pyenv deactivate
Django 설치
pip install django
프로젝트 생성
django-admin startproject "프로젝트명"
django-admin startproject snowfall
이렇게 하면 snowfall이라는 폴더가 하나 생기는데 이게 Django 서버를 실행할 수 있는 초기 폴더이다.
Django 서버 실행 방법
cd <장고 프로젝트 경로>
cd snowfall
python manage.py runserver
장고 프로젝트로 이동하면 manage.py 파일이 있는데 이건 장고를 제어하기 위한 파일이라고 생각하면 된다. 지금은 서버를 실행하는 방법만 알아보고 실제로 서버를 실행하는건 앱을 생성한 이후에 진행한다.
django의 다양한 명령어를 보고 싶다면
python manage.py help
이 명령어를 사용하면 runserver이 외에도 어떤 명령어가 있는지 알 수 있다.
이제 앱을 생성해 보자
python manage.py startapp <앱 이름>
python manage.py startapp langchainAgent
이렇게 하면 장고 프로젝트 폴더 내에 langchainAgent폴더가 생성된 것을 확인 할 수 있다.
이후 이 앱을 사용하기 위해서는 snowfall(프로젝트 이름과 동일) 폴더의 setting.py에서 INSTALLED_APPS 배열 내에 langchainAgent와 같이 앱 이름을 추가해 주어야 한다.
이제 위에서 미리 알아 봤던 장고 서버를 실행 시켜 보자
python manage.py runserver
위 명령어를 입력하게 되면 아래와 같이 서버가 실행된다.
그럼 developement server at으로 알려준 주소에 접속해 보겠다.
이미지와 같이 장고 서버가 정상적으로 생성된것을 확인 할 수 있다.
나는 이후 바로 LangChain을 사용하여 Gemini를 연동하는걸 추가했는데 이건 다음 포스팅에 작성하도록 하겠다.
(사실 이번 포스팅에 작성하려고 했는데... 너무 길어져서 포스팅을 나누는게 좋을것 같다.)
'Python' 카테고리의 다른 글
Django Gemini ChatBot 연동 (1) | 2025.02.19 |
---|