Retrieval Augmented Generation 검색 증강 생성이라고 하는 RAG는 인공지능 모델이 문제를 해결하기 위해 필요한 정보를 자체적으로 가지고 있지 않다면, 외부의 정보를 찾아서 그 정보와 함께 문제를 해결하는 것이죠.
즉, 정보를 검색(Retrieval)해 가져오고, 그 정보를 바탕으로 새로운 문장을 만들어내는(Generation) 기술입니다.
본 포스팅에서는 Azure Cosmos DB를 사용하여 RAG를 빠르게 구현하는 실습과정을 담아보려고 합니다.
- 데이터 수집: 문서, 이미지 및 기타 콘텐츠 형식을 Azure Cosmos DB에 저장합니다. 데이터베이스의 벡터 검색 지원을 활용하여 벡터화된 콘텐츠를 인덱싱하고 검색합니다.
- 쿼리 실행: 사용자가 쿼리를 제출하면 Azure Cosmos DB는 벡터 검색 기능을 사용하여 가장 관련성이 높은 데이터를 빠르게 쿼리할 수 있습니다.
- LLM 통합: 검색된 데이터를 LLM(예: Azure OpenAI)에 전달하여 응답을 생성합니다. Cosmos DB가 제공하는 잘 구조화된 데이터는 모델 출력의 품질을 향상합니다.
- 응답 생성: LLM은 데이터를 처리하고 포괄적인 응답을 생성한 다음 사용자에게 제공합니다.
먼저 Azure Cosmos DB를 생성합니다.
Azure Cosmos DB가 궁금하신 분은 펼치기 ↓
Azure Cosmos DB
Azure Cosmos DB는 마이크로소프트가 개발한 글로벌 분산 데이터베이스 서비스입니다.
일반적인 데이터베이스와 달리 Cosmos DB는 거의 무제한의 확장성과 높은 가용성을 제공합니다.
쉽게 말하면, Cosmos DB는 데이터를 빠르고 안정적으로 처리할 수 있는 데이터베이스 서비스입니다. 웹 사이트, 모바일 앱, IoT 디바이스 등 다양한 애플리케이션에서 대량의 데이터를 실시간으로 처리할 수 있습니다.
예를 들어, 온라인 쇼핑몰에서 고객의 구매 내역을 실시간으로 저장하고 관리할 수 있습니다. 또한 소셜 미디어 플랫폼에서 사용자의 활동 데이터를 실시간으로 분석할 수 있습니다.
Cosmos DB의 주요 특징은 다음과 같습니다:
- 확장성: 데이터 양이 늘어나도 원활하게 작동하며, 사용량에 따라 자동으로 확장됩니다.
- 가용성: 전 세계 어디에서나 데이터에 빠르게 접근할 수 있습니다.
- 유연성: 다양한 데이터 모델(문서, 키-값, 열 패밀리, 그래프)을 지원합니다.
- 보안: 암호화, 액세스 제어 등 강력한 보안 기능을 제공합니다.
이처럼 Cosmos DB는 대용량 데이터를 실시간으로 처리할 수 있는 강력한 데이터베이스 서비스입니다. 다양한 분야의 애플리케이션에 활용되고 있습니다.
Azure Portal 홈에서 Azure Cosmos DB를 검색하고 Recommended APIs에서 코어(SQL) - 권장 API의 만들기를 클릭합니다.
- 리소스 그룹 : 실습 후에는 실습에 사용된 모든 리소스를 삭제하는 것이 요금발생을 막을 수 있으므로 새로 만듭니다.
- 계정이름 : 허용규칙에 맞춰 새로 입력합니다.
- 위치 : 최근에는 Eeat US 2가 실습하기에 좋다고 합니다.
- 용량 모드 : 프로비저닝된 처리량
- 무료 계층 할인 적용 : 1개의 구독에 1개의 무료 계층을 적용할 수 있습니다. 적용할 수 있으면 적용하면 됩니다.
실습에 필요한 패키지를 설치합니다.
이번 포스팅은 준비만 하다가 끝나네요.
'Azure AI' 카테고리의 다른 글
RAG 챗봇 빌드 실습 (2) (1) | 2024.11.14 |
---|---|
LangChain (1) | 2024.11.12 |