Azure OpenAI Service를 사용하여 RAG(검색 보강 세대) 이해

완료됨

AZURE OpenAI를 사용한 RAG를 사용하면 개발자가 특정 정보 원본을 참조하여 응답을 접지할 수 있는 지원되는 AI 채팅 모델을 사용할 수 있습니다. 이 정보를 추가하면 모델이 제공된 특정 데이터와 미리 학습된 지식을 모두 참조하여 보다 효과적인 응답을 제공할 수 있습니다.

Azure OpenAI를 사용하면 미리 학습된 모델을 사용자 고유의 데이터 원본에 연결하여 RAG를 사용할 수 있습니다. 데이터의 Azure OpenAI는 Azure AI Search의 검색 기능을 활용하여 관련 데이터 청크를 프롬프트에 추가합니다. 데이터가 AI Search 인덱스로 들어가면 데이터에 대한 Azure OpenAI는 다음 단계를 수행합니다.

  1. 사용자 프롬프트를 받습니다.
  2. 프롬프트의 관련 콘텐츠와 의도를 확인합니다.
  3. 해당 콘텐츠와 의도를 사용하여 검색 인덱스를 쿼리합니다.
  4. 시스템 메시지 및 사용자 프롬프트와 함께 Azure OpenAI 프롬프트에 검색 결과 청크를 삽입합니다.
  5. 전체 프롬프트를 Azure OpenAI로 보냅니다.
  6. 사용자에게 응답 및 데이터 참조(있는 경우)를 반환합니다.

기본적으로 데이터에 대한 Azure OpenAI는 모델이 데이터를 사용하여 응답하도록 권장하지만 필수는 아닙니다. 이 설정은 데이터를 연결할 때 선택 취소할 수 있으며, 이로 인해 모델이 데이터에 미리 학습된 지식을 사용하도록 선택할 수 있습니다.

미세 조정 및 RAG

미세 조정은 추가 학습 데이터의 데이터 세트로 gpt-35-turbo와 같은 기존 기본 모델을 학습시켜 사용자 지정 모델을 만드는 데 사용되는 기술입니다. 미세 조정은 프롬프트 엔지니어링만 하는 것보다 더 높은 품질의 요청을 생성하고, 프롬프트에 맞을 수 있는 것보다 큰 예제에서 모델을 사용자 지정하고, 사용자가 동일한 고품질 응답을 얻기 위해 더 적은 예제를 제공할 수 있도록 할 수 있습니다. 그러나 미세 조정 프로세스는 비용과 시간이 많이 소요되므로 필요한 사용 사례에만 사용해야 합니다.

데이터에서 Azure OpenAI를 사용하는 RAG는 여전히 상태 비정상 API를 사용하여 모델에 연결합니다. 그러면 데이터로 사용자 지정 모델을 학습하는 요구 사항이 제거되고 AI 모델과의 상호 작용이 간소화됩니다. AI Search는 먼저 프롬프트에 응답하는 데 유용한 정보를 찾고, 프롬프트에 접지 데이터로 추가하고, Azure OpenAI는 해당 정보를 기반으로 응답을 형성합니다.