54일차. Azure OpenAI 및 AI Search 실습 가이드

Luis_J·2024년 11월 26일
0

MS_AI_School 5기

목록 보기
56/70
post-thumbnail

Summary

  1. 원하는 데이터를 기반으로 LLM 모델을 생성할 수 있습니다.
  2. 인덱스, 인덱서, 의미 체계 설정하는 법을 소개합니다.
  3. 콘텐츠 차단하는 법을 소개합니다.

Introduction

김수진 강사님
Azure OpenAI 활용 - 검색 증강 및 콘텐츠 필터
Azure OpenAI와 AI Search를 활용한 RAG 및 콘텐츠 필터

Code, Conept & Explanation

1. Azure Portal 소개

Azure Portal은 웹 기반의 통합 콘솔로, Azure 구독을 관리하고 필요한 리소스를 생성 및 배포할 수 있는 강력한 도구입니다.

주요 특징:

  • 간단한 웹앱부터 복잡한 클라우드 배포까지 구축 가능.
  • 리소스 그룹 및 사용자 지정 대시보드 지원.
  • portal.azure.com에서 시작 가능.

2. 리소스 그룹 생성

리소스 그룹은 Azure에서 함께 사용하는 리소스를 관리하는 단위입니다.

생성 방법:
1. Azure Portal로 이동 → "리소스 그룹" 클릭 → "만들기" 선택.
2. 구독, 이름, 지역 입력 → "검토 + 만들기" 클릭.
3. 생성 완료 후 검색 창에서 이름으로 검색 가능.

3. Azure AI Search를 사용한 데이터 검색

Azure AI Search는 데이터를 구조화하고 검색 가능한 인덱스를 생성해 검색 품질을 향상시키는 서비스입니다.

주요 구성 요소:
1. 데이터 소스: Blob Storage, SQL 등 연결 가능한 데이터 저장소.
2. 인덱스: 검색 필드를 정의.
3. 인덱서: 데이터를 가져와 인덱스로 변환.

4. 구성 단계

4.1 데이터 소스 추가

  1. Azure Blob Storage에 데이터를 업로드.
  2. AI Search에서 데이터 원본으로 Blob Storage를 선택.

4.2 인덱스 생성

검색 가능한 데이터의 구조를 정의합니다.

인덱스 JSON 예시:

{
  "name": "festival-index",
  "fields": [
    { "name": "id", "type": "Edm.String", "key": true },
    { "name": "festival_name", "type": "Edm.String", "searchable": true },
    { "name": "venue", "type": "Edm.String", "searchable": true },
    { "name": "latitude", "type": "Edm.Double", "filterable": true },
    { "name": "longitude", "type": "Edm.Double", "filterable": true }
  ]
}

4.3 인덱서 생성

데이터 소스와 인덱스를 연결하여 데이터를 자동으로 인덱싱합니다.

인덱서 JSON 예시:

{
  "name": "festival-indexer",
  "dataSourceName": "<YOUR_DATASOURCE_NAME>",
  "targetIndexName": "festival-index",
  "fieldMappings": [
    { "sourceFieldName": "Festival Name", "targetFieldName": "festival_name" },
    { "sourceFieldName": "Venue", "targetFieldName": "venue" }
  ]
}

4.4 의미 체계 설정 (Semantic Configuration)

검색 품질 향상을 위해 의미 체계를 적용합니다.

의미 체계 JSON 예시:

{
  "name": "festival-semantic",
  "configurations": [
    {
      "titleField": { "fieldName": "festival_name" },
      "contentFields": [
        { "fieldName": "venue" }
      ],
      "keywordFields": [
        { "fieldName": "festival_name" },
        { "fieldName": "id" }
      ]
    }
  ]
}

5. 결과 확인 및 활용

테스트: AI Search에서 데이터를 검색하고 결과를 확인.
배포: 검색 서비스 결과를 웹앱 형태로 배포하여 사용 가능.

6. 콘텐츠 필터링

  • Azure OpenAI의 기본 및 사용자 지정 콘텐츠 필터를 통해 부적절한 응답을 방지할 수 있습니다.
  • 기능:
    • 안전한 콘텐츠 제공 (증오, 폭력, 자해 등 분류).
    • 사용자 정의 설정으로 특정 단어 및 주제 필터링.

7. 책임 있는 AI 운영

  • 잠재적 피해 식별: 모델의 출력에서 발생할 수 있는 유해 콘텐츠를 분석.
  • 피해 완화 단계:
    1. 모델 선택 및 미세 조정.
    2. 안전 시스템 계층 적용.
    3. 프롬프트 최적화 및 Grounding Data 사용.
    4. 사용자 환경 개선.

Challenges & Solutions

Results

What I Learned & Insights

원하는 데이터를 기반으로 LLM을 활용하는 법을 실습했습니다.
원하는 방향으로 LLM 을 활용할 수 있다는 점이 신선했습니다.

주변에서 AI 기술에 대한 이해보다도
AI 기술을 어떻게 활용할지에 대한 고민이 더 필요하다고 했던 조언들이 머리와 가슴으로 다가왔습니다.

Conlusion

Azure OpenAI와 AI Search를 활용하면 고품질의 사용자 맞춤형 AI 검색 서비스를 구축할 수 있습니다. 이를 통해 기업 데이터를 효율적으로 활용하고, 더 나은 사용자 경험을 제공합니다.

profile
New life & History

0개의 댓글

관련 채용 정보