Azure OpenAI 및 Azure Cosmos DB for MongoDB vCore를 사용한 RAG 구현 Python 샘플
요약
본 문서는 Azure OpenAI와 Azure Cosmos DB for MongoDB vCore를 활용하여 RAG(검색 증강 생성) 시스템을 구축하는 상세한 Python 샘플 및 배포 가이드를 제공합니다. 개발자는 필요한 리소스를 설정하고, 로컬 환경에서 종속성을 설치하며, 최종적으로 `quart` 프레임워크를 사용하여 애플리케이션을 실행할 수 있습니다.
핵심 포인트
- Azure OpenAI와 Cosmos DB for MongoDB vCore를 사용한 RAG 구현 방법 제시
- Python 샘플 코드를 기반으로 개발 및 배포 과정 상세 안내
- Azure Developer CLI (azd)를 이용한 Azure App Service 배포 가능
- Semantic Kernel을 활용하여 검색 증강 생성 로직 구현
Python을 사용하여 임베딩 생성을 위한 Azure Open AI, 벡터 검색을 수행하기 위한 Azure Cosmos DB for MongoDB vCore, 그리고 semantic kernel을 활용하여 검색 증강 생성(RAG)을 구현하는 샘플입니다. 이 코드는 Azure Developer CLI (azd)를 사용하여 Azure App service에 배포됩니다.
🎥 녹화된 reactor 워크숍 시청: [이미지 클릭]
-
Microsoft Azure에서 다음 리소스를 생성하세요:
-
Azure Cosmos DB for MongoDB vCore 클러스터. 여기 빠른 시작 가이드를 참고하세요.
-
다음을 포함하는 Azure OpenAI 리소스:
- 임베딩 모델 배포 (예:
text-embedding-ada-002)
여기 가이드 참고. - 채팅 모델 배포 (예:
gpt-4o-mini)
- 임베딩 모델 배포 (예:
-
임베딩 모델 배포 (예:
-
📝 시작하기 👉 rag-azure-openai-cosmosdb-notebook.ipynb
notebook-full.mp4
codespaces 내부에서 테스트해 보세요 👇
Quart 애플리케이션을 실행하려면 다음 단계를 따르세요:
-
프로젝트 시작 코드를 로컬에 다운로드
git clone https://github.com/john0isaac/rag-semantic-kernel-mongodb-vcore.git cd rag-semantic-kernel-mongodb-vcore -
다음 명령어를 사용하여 virtualenv를 설치, 초기화 및 활성화하세요:
pip install virtualenv python -m virtualenv .venv source .venv/bin/activate
참고-
Windows의 경우 .venv에 bin 디렉터리가 없습니다. 따라서 아래에 표시된 유사한 명령어를 사용해야 합니다: source .venv/Scripts/activate
-
종속성 설치:
pip install -r requirements-dev.txt -
노트북을 실행하여
.env파일을 생성하고 모든 것을 먼저 테스트하세요 - -
앱을 편집 가능한 패키지로 설치:
pip install -e src
터미널에서 다음 명령을 실행하여 quart 앱을 시작하세요:
export QUART_APP=src.quartapp export QUART_ENV=development export QUART_DEBUG=true quart run --reload
Windows의 경우, setx를 사용하세요:
아래에 표시된 명령:
setx QUART_APP src.quartapp setx QUART_ENV development setx QUART_DEBUG true quart run --reload
브라우저에서 확인하기
프로젝트 홈페이지 http://127.0.0.1:5000/ 또는 http://localhost:5000으로 이동하세요.
website-full.mp4
이 가이드에 따라 Azure Cosmos DB for MongoDB vCore 및 Azure OpenAI를 사용하여 RAG 채팅 앱을 구축하세요: 단계별 가이드
👉 Build RAG Chat App using Azure Cosmos DB for MongoDB vCore and Azure OpenAI: Step-by-Step Guide
이 저장소는 infra 폴더의 설정 파일을 사용하여 Azure App Service(Azure Cosmos DB for MongoDB vCore 포함)에 배포되도록 설정되어 있습니다.
자신의 인스턴스를 배포하려면 다음 단계를 따르세요:
Azure Dev CLI를 설치하세요.
Azure 계정에 로그인하세요:
azd auth login
새로운 azd 환경을 초기화하세요:
azd init
이 명령어는 나중에 배포된 리소스 이름에 사용될 이름(예:
데이터를 추가하는 Python 스크립트는 데이터가 포함된 모든 JSON 파일을 허용하도록 구성되어 있지만, 실행할 때 다음 매개변수를 지정해야 합니다:
- Data file path: 데이터를 포함하는 JSON 파일의 경로입니다.
--file="./data/text-sample.json"또는-f "./data/text-sample.json" - ID field: cosmos가 데이터베이스 레코드를 식별하는 데 사용하는 필드의 이름입니다.
--id-field=id또는-id id - Text field: 벡터 임베딩을 생성하고 데이터베이스에 저장하는 데 사용될 필드의 이름입니다.
--text-field=content또는-txt content - Description field: cosmos가 임베딩과 함께 저장할 설명 필드의 이름입니다.
--description-field=title또는-desc title
python ./scripts/add_data.py --file="./data/text-sample.json" --id-field=id --text-field=content --description-field=title
- 데이터가 포함된 JSON 파일을 data 폴더에 추가합니다.
- 워크플로우가 자동으로 트리거되어 데이터를 Azure App Service로 푸시합니다.
- Azure 포털을 열고 로그인합니다.
- App Service 페이지로 이동합니다.
- 왼쪽 메뉴에서 SSH를 선택한 다음, Go를 선택합니다. -
SSH 터미널에서 데이터에 맞게 변경된 값으로 다음 명령어를 실행합니다:
pip install -e . python ./scripts/add_data.py --file="./data/text-sample.json" --id-field=id --text-field=content --description-field=title
- 데이터가 포함된 JSON 파일을 data 폴더에 추가합니다.
azd deploy를 실행하여 데이터를 Azure App Service로 업로드합니다. -
Azure 포털을 열고 로그인합니다.- App Service 페이지로 이동합니다.
- 왼쪽 메뉴에서 SSH를 선택한 다음, Go를 선택합니다. -
SSH 터미널에서 데이터에 맞게 변경된 값으로 다음 명령어를 실행합니다:
pip install -e . python ./scripts/add_data.py --file="./data/text-sample.json" --id-field=id --text-field=content --description-field=title
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기