개요

얼마 전에 세미나를 진행했습니다

Microsoft 갈 때마다 느끼지만, 뷰가 참 멋있습니다

Azure AI Search로 RAG를 만들고 Microsoft Foundry의 Agent에 연동하여

RAG 기반 AI를 구축하는 것이 세미나 주제였습니다.

 

Foundy가 현재는 개발 중이라 preview 단계인 것들이 많던데

앞으로 어떻게 나아갈지 궁금해집니다.

구성 요소

적절한 데이터가 없을까 하고 찾다가 서울 관광 관련한 PDF들을 사용했습니다.

그림도 있고 나름 잘 정리된 PDF입니다.

관광가이드북 | 여행가이드 | 중구 문화관광

 

관광가이드북 | 여행가이드 | 중구 문화관광

 

www.junggu.seoul.kr

AI Search가 RAG를 구성하는 방식은 다음과 같습니다

Gamma로 만든 PPT 페이지 중 일부 입니다.

 

 

진행 과정

스토리지 생성 및 데이터 업로드

먼저 위에서 받은 여러 PDF들을 업로드해 줄 스토리지 공간을 만들어줍니다.

스토리지 계정 검색 후 만들기를 클릭합니다.

.

다음 소주제에서도 언급하겠지만

추후에 연동할 AI Search, Microsoft Foundry에서 아직 Korea Central이 지원하지 않습니다.

고로 East US2로 진행해줍니다  

.

중복도는 이번 실습에서 중요하지는 않습니다.

.
.

스토리지 계정에서 왼쪽 메뉴의 컨테이너로 이동합니다.

.

컨테이너는 스토리지 계정 안에 있는 논리적인 저장 공간입니다.

Azure Storage 계정 화면에서 데이터 스토리지 메뉴의 컨테이너로 이동하는 화면
.
.

PDF 파일들을 업로드 해주겠습니다.

.


Azure AI Search 생성

이제 Azure AI Search를 이용해 RAG를 만들어줄 겁니다.

.

예전에는 Azure AI Foundry 안에 AI Search가 있었는데 Foundry로 이사한 모양입니다.

.

중요한 부분입니다.

동일 리전에 Foundry, AI Search가 있어야 연동이 가능한데

문제는 Korea Central이 아직 Foundry를 지원하지 않는 모양입니다 (25년 말 기준)

 

고로 저는 East US2로 진행하겠습니다.

Azure AI Search 서비스 생성 단계에서 위치를 East US 2로 선택하는 화면
.
.

AI Search가 생성이 되었다면 데이터 가져오기(신규)를 선택해 줍니다.

.

인덱서를 통해 어떤 데이터 원본을 사용할지 선택하는 화면입니다

아까 업로드해 둔 Blob Storage를 선택합니다.

Azure AI Search에서 데이터 가져오기 단계에서 데이터 원본을 선택하는 화면
.

데이터를 어떤 용도로 사용할지 선택하는 단계인데요 RAG 시나리오를 선택합니다.

.

아까 만들어둔 스토리지 계정과 컨테이너를 선택한 후

.

다음은 텍스트 벡터화를 설정해줘야 합니다

Azure OpenAI Service가 아직 없어서 기존 리소스를 선택할 수 없는 상태입니다.
그래서 만들기를 클릭해 줍니다.

Azure AI Search RAG 구성 중 텍스트 벡터화 단계에서 Azure OpenAI Service를 선택하는 화면
.

OpenAI 리소스 또한 기존 AI Search와 동일한 리전으로 만들어줍니다.

.
.

생성이 완료되었다면 Foundry Portal으로 이동해 줍니다.

.

 

이게 MS 측에서 어떻게 개발이 될지는 아직 모르겠습니다만...?

뒤에서 사용할 Foundry Agent는 New Foundry에 있고

지금 텍스트 임베딩을 위한 임베딩 모델은 Classsic  Foundry에서만 생성해야 합니다

 

New Foundry에서 임베딩 모델을 만들어도 Azure Portal 상으로 연동되지 않습니다.

Classsic  Foundry에서 왼쪽 모델 카탈로그를 클릭해 줍니다.

.

embedding을 입력하고 text-embedding-3-large 모델을 선택해서 다음 단계로 진행합니다.

Microsoft Foundry 모델 카탈로그에서 임베딩 모델을 검색하고 text-embedding-3-large를 선택하는 화면
.
.

자 이제 embedding을 위한 엔진은 준비되었고

Azure OpenAI Service에서 아까 생성한 리소스를 선택하고

모델도 선택해 줍니다.

.

여기는 벡터화에 대한 보강 기술이 지금은 필요하지 않으므로 넘어갑니다.

.

여기서는 의미 기반 검색 품질을 높이기 위해 의미 순위 매기기를 사용하도록 설정합니다.
이 단계에서는 인덱스 필드 구성을 미리 확인하거나 필요시 수정할 수 있고

인덱싱 예약은 실습용이라 한 번 실행으로 두고 다음 단계로 넘어갑니다.

Azure AI Search RAG 구성 중 고급 설정 단계에서 의미 순위매기기와 인덱스 필드를 확인하는 화면
.

Azure AI Search를 활용해서 RAG를 생성하였습니다.

Azure AI Search를 활용하여 RAG 생성하기
.
.


Microsoft Foundry 생성

자 이제 MS가 자랑하는 Foundry를 생성해 주도록 합니다.

Fabric도 그렇고 전체적으로 플랫폼을 통합하는 느낌입니다.

과연 어떻게 변할지...

Azure Portal에서 Microsoft Foundry를 생성하는 화면
.

이 또한 East US2로 진행합니다

아마 때에 따라서 Korea Central이 지원된다면 굳이 쓸 필요는 없습니다.

.
.

다시 Foundry Portal으로 이동해 줍니다.

.

Classic Foundry로 되어 있다면 위쪽의 토글을 클릭하여 New Foundry로 전환해 줍니다.

.
.

다음과 같이 New Foundry가 등장합니다.

이 프로젝트 엔드포인트와 API 키, 그리고 Project region이 앞서 구성한 eastus2로 맞춰져 있는지를 먼저 확인하고

빌드 시작 단계로 넘어갑니다.

Microsoft Foundry 홈 화면
.

빌드에서 에이전트 만들기를 클릭해 준 뒤

.

API에서 식별용으로 사용될 에이전트 이름을 입력하고 만들기를 눌러 에이전트를 생성합니다.

Microsoft Foundry에서 새 에이전트를 생성하면서 에이전트 이름을 입력하는 화면
.

에이전트 생성이 완료되면 바로 설정 화면으로 이동하게 되는데요,

여기서 사용할 모델을 선택하고 에이전트가 따라야 할 기본 지침을 작성합니다.

Microsoft Foundry에서 생성된 에이전트 편집 화면에서 모델과 기본 지침을 설정하는 화면
.

왼쪽 메뉴 도구에서 추가를 클릭하준 뒤

.

이 목록에서 에이전트가 어떤 방식으로 정보를 조회하거나 작업을 수행할지 결정하게 됩니다.

이번 구성에서는 문서 기반 RAG를 사용하므로, 여기서 Azure AI 검색 도구를 선택해서 에이전트와 검색 인덱스를 연동합니다.

Microsoft Foundry 에이전트 설정에서 도구를 추가하기 위해 도구 선택 화면을 여는 단계
.
.

이제 RAG 기반 AI 에이전트가 완성되었고 질문은 던져보았으나,

문제점은 AgentAzure AI Search(RAG)를 연결해놨음에도
Agent가 반드시 RAG를 쓰는 게 아닙니다.

 

Agent는 검색 도구가 있긴 하지만, 꼭 써야 한다고 배운 상태가 아니기 때문에
웹이든
, 자체 모델 지식이든, 아무 정보나 섞어서 답을 만들어냅니다.

그래서 Azure AI Search를 연결해놨다 해도 RAG가 강제되지는 않습니다.

.

여기서 간단한 프롬프트 엔지니어링이 필요해집니다.

다음과 같이 프롬프트에 AI 에이전트에 대해 기존 모델의 일반 지식은 사용하지 않도록 명시해서 R

AG 기반으로만 응답하게 만들고, 설정이 끝나면 우측 상단의 저장 버튼을 눌러 에이전트 구성을 확정합니다.

Microsoft Foundry 에이전트 설정 화면에서 지침에 Azure AI Search 결과만 사용하도록 제한하고 저장하는 화면
.

실제 RAG만을 기반으로 답변하는 것을 확인할 수 있었습니다.

Microsoft Foundry 에이전트 지침에 Azure AI Search 결과만을 답변 근거로 사용하도록 명시한 설정 화면
.


AI Search로 RAG를 만들고 연동하는 과정에 대해 Microsoft Foudnry로 알아보았습니다.

개발이 어떻게 될지 궁금하네요


참고자료

Azure AI 검색 소개 - Azure AI Search | Microsoft Learn

 

Azure AI 검색 소개 - Azure AI Search

Azure AI Search는 개발자가 엔터프라이즈 또는 웹 데이터와 대규모 언어 모델(LLM)을 결합하는 풍부한 검색 환경 및 생성 AI 앱을 빌드하는 데 도움이 되는 AI 기반 정보 검색 플랫폼입니다.

learn.microsoft.com

What is Microsoft Foundry? - Microsoft Foundry | Microsoft Learn

 

What is Microsoft Foundry? - Microsoft Foundry

Microsoft Foundry is a trusted platform that empowers developers to drive innovation and shape the future with AI in a safe, secure, and responsible way.

learn.microsoft.com

 

반응형

+ Recent posts