조직은 검색 증강 생성 (또는 RAG)을 사용하여 현재의 도메인 별 데이터를 광범위한 미세 조정없이 언어 모델 기반 애플리케이션에 통합합니다.
![추상 예술이있는 장식 GIF](https://www.microsoft.com/en-us/microsoft-cloud/blog/wp-content/uploads/2024/11/MSFT_Cloud_MAR13_Blog01_GIF_240312_FINAL-4.gif)
이 기사는 RAG 파이프 라인에서 사용되는 다양한 관행과 같은 다양한 관행을 설명하고 정의합니다. 이는 텍스트 검색, 벡터 검색, 청킹, 하이브리드 검색, 쿼리 재 작성 및 다시 랭킹을 설명합니다.
전체 텍스트 검색이란 무엇입니까?
전체 텍스트 검색 특정 필드 또는 메타 데이터를 색인화하고 검색하는 대신 전체 문서 또는 데이터 세트를 검색하는 프로세스입니다. 이 유형의 검색은 일반적으로 기본 데이터 세트 또는 지식 기반에서 가장 관련성이 높은 텍스트 덩어리를 검색하는 데 사용됩니다. 그런 다음이 검색된 청크는 언어 모델에 대한 입력을 보강하는 데 사용되어 생성 된 응답의 품질을 향상시키기위한 컨텍스트 및 정보를 제공합니다.
전체 텍스트 검색은 종종 여러 접근 방식의 강점을 활용하기 위해 벡터 검색 또는 하이브리드 검색과 같은 다른 검색 기술과 결합됩니다.
전체 텍스트 검색의 목적은 다음과 같습니다.
- 문서 또는 데이터 세트의 전체 텍스트 내용에서 관련 데이터를 검색 할 수 있습니다.
- 특정 쿼리 용어가 메타 데이터 또는 문서 제목에 존재하지 않더라도 답변 또는 관련 정보가 포함될 수있는 문서를 식별 할 수 있습니다.
전체 텍스트 검색을 구현하는 프로세스에는 다음과 같은 기술이 포함됩니다.
- 인덱싱 – 문서 또는 데이터 세트의 전체 텍스트는 색인화되며, 종종 검색 쿼리 및 검색된 결과의 속도와 효율성을 향상시키는 데 도움이되는 정보를 저장하고 구성하는 역 색인 구조를 사용합니다.
- 쿼리 – 사용자 쿼리가 수신되면 문서 또는 데이터 세트의 전체 텍스트를 검색하여 가장 관련성이 가장 높은 정보를 찾습니다.
- 순위-검색된 문서 또는 청크는 용어 주파수 역 문서 주파수 (TF-IDF) 또는 BM25와 같은 기술을 사용하여 쿼리와의 관련성에 따라 순위가 매겨집니다.
벡터 검색이란 무엇입니까?
벡터 검색 정확한 키워드 일치보다는 개념적 유사성 또는 문장의 기본 의미를 기반으로 저장된 일치 정보를 검색합니다. 벡터 검색에서 머신 러닝 모델은 텍스트 및 이미지를 포함하여 데이터의 숫자 표현을 생성합니다. 컨텐츠는 일반 텍스트가 아닌 숫자이므로 일치하는 것은 쿼리 벡터와 가장 유사한 벡터를 기반으로합니다.
- 시맨틱 또는 개념적 유사성 (“개”및“송곳니”, 개념적으로 유사하지만 언어 적으로 구별).
- 다국어 컨텐츠 (영어로 된 “개”, 독일어의 “헌드”).
- 여러 내용 유형 (일반 텍스트의 “개”와 이미지 파일의 개 사진).
함께 생성 AI 응용 분야의 상승벡터 검색 및 벡터 데이터베이스는 대화 상호 작용 및 질문/답변 형식을 사용한 응용 프로그램의 수가 증가함에 따라 채택이 급격히 증가했습니다. 임베딩은 단어 간의 패턴과 관계를 식별하도록 훈련 된 자연어 기계 학습 모델에 의해 생성 된 특정 유형의 벡터 표현입니다.
벡터 검색 처리에는 세 가지 단계가 있습니다.
- 인코딩-언어 모델을 사용하여 텍스트 청크를 고차원 벡터 또는 임베딩으로 변환하거나 변환합니다.
- 인덱싱 – 벡터 작업에 최적화 된 특수 데이터베이스에서 이러한 벡터를 설치하십시오.
- 쿼리 – 의미 적으로 유사한 콘텐츠를 검색하기 위해 동일한 인코딩 방법을 사용하여 사용자 쿼리를 벡터로 연결합니다.
벡터 검색을 구현할 때 고려해야 할 사항 :
- GPT 또는 Bert와 같은 특정 사용 사례에 대한 올바른 임베딩 모델을 선택합니다.
- 인덱스 크기, 검색 속도 및 정확도 균형.
- 소스 데이터가 변경됨에 따라 벡터 표현을 최신 상태로 유지합니다.
청킹이란 무엇입니까?
청킹은 대형 문서와 텍스트 파일을 작은 부품으로 나누어 모델 임베딩에 대한 최대 토큰 입력 한계를 유지하는 프로세스입니다. 컨텐츠를 청크로 분할하면 임베딩 모델로 데이터를 처리 할 수 있고 잘린 상태로 인해 정보가 손실되지 않습니다.
예를 들어, 입력 텍스트의 최대 길이 Azure Openai 서비스 Text-embedding-ADA-002 모델은 8,191 개의 토큰입니다. 각 토큰이 일반적인 OpenAI 모델에 대해 약 4 개의 텍스트라는 것을 감안할 때,이 최대 한계는 약 6,000 단어의 텍스트와 같습니다. 이 모델을 사용하여 임베딩을 생성하는 경우 입력 텍스트가 한계 아래로 유지되는 것이 중요합니다.
문서는 다음에 따라 더 작은 세그먼트로 나뉩니다.
- 토큰 또는 캐릭터 수.
- 단락 및 섹션과 같은 구조 인식 세그먼트.
- 텍스트의 겹치는 창.
청크를 구현할 때는 이러한 요소를 고려하는 것이 중요합니다.
- 문서의 모양과 밀도. 온전한 텍스트 나 구절이 필요한 경우 문장 구조를 보존하는 더 큰 청크 및 가변 청크가 더 나은 결과를 얻을 수 있습니다.
- 사용자 쿼리. 더 큰 청크 및 중복 전략은 특정 정보를 대상으로하는 쿼리에 대한 맥락과 의미 론적 풍부함을 보존하는 데 도움이됩니다.
- 큰 언어 모델 (LLMS)에는 청크 크기에 대한 성능 지침이 있습니다. 사용중인 모든 모델에 가장 적합한 청크 크기를 설정해야합니다. 예를 들어, 요약 및 임베딩에 모델을 사용하는 경우 두 가지 모두에 맞는 최적의 청크 크기를 선택하십시오.
하이브리드 검색이란 무엇입니까?
하이브리드 검색 키워드 검색과 벡터 검색 결과를 결합하고 스코어링 알고리즘을 사용하여 함께 융합합니다. 일반적인 모델은입니다 상호 순위 퓨전 (RRF). 둘 이상의 쿼리가 병렬로 실행되면 RRF는 검색 점수를 평가하여 통합 결과 세트를 생성합니다.
생성 AI 응용 프로그램 및 시나리오의 경우 하이브리드 검색은 종종 전체 텍스트 및 벡터 데이터를 검색하는 기능을 나타냅니다.
하이브리드 검색 프로세스에는 다음이 포함됩니다.
- 쿼리를 벡터 형식으로 변환합니다.
- 의미 적으로 유사한 덩어리를 찾기 위해 벡터 검색을 수행합니다.
- 동일한 코퍼스에서 키워드 검색을 동시에 수행합니다.
- 두 방법의 결합 및 순위.
하이브리드 검색을 구현할 때 다음을 고려하십시오.
- 각 검색 방법의 영향 균형.
- 단일 방법 검색에 비해 계산 복잡성이 증가했습니다.
- 다양한 유형의 쿼리 및 컨텐츠에서 잘 작동하도록 시스템을 조정합니다.
- chatgpt와 같은 질문 및 응답 시스템을 사용할 때 일치하는 키워드가 중첩됩니다.
![화려한 파도의 닫기](https://www.microsoft.com/en-us/microsoft-cloud/blog/wp-content/uploads/2025/02/Screenshot-2025-01-29-065144.png)
쿼리 재 작성이란 무엇입니까?
쿼리 재 작성 제공된 사용자 쿼리를 수정하고 증강시킴으로써 검색된 정보의 품질과 관련성을 향상시키기 위해 RAG에서 사용되는 중요한 기술입니다. 쿼리 다시 작성은 원래 쿼리와 함께 리트리버와 동시에 공유되는 동일한 쿼리의 변형을 만듭니다. 이를 통해 단일 쿼리를 위해 수집 된 지식의 유형에 대해 제대로 표현 된 질문을 개선하고 더 넓은 그물을 시전합니다.
RAG 시스템에서 다시 쓰기는 리콜을 개선하고 사용자 의도를 향상시키는 데 도움이됩니다. 재개 전 중에 수행됩니다. ~ 전에 헝겊 시나리오의 정보 검색 단계.
쿼리 재 작성은 세 가지 방법으로 접근 할 수 있습니다.
- 규칙 기반-사전 정의 된 규칙 및 패턴을 사용하여 쿼리를 수정합니다.
- 기계 학습 기반-예제를 기반으로 쿼리를 변환하는 방법을 배우는 트레이닝 모델.
- 혼합-규칙 기반 및 기계 학습 기반 기술을 고려합니다.
랭킹이란 무엇입니까?
재 순환 또는 L2 순위는 쿼리의 컨텍스트 또는 의미 론적 의미를 사용하여 사전 순위의 결과보다 새로운 관련 점수를 계산합니다. 검색 후 검색 시스템은 검색 결과를 관련성에 의해 문서 (또는 텍스트 청크)를 채점하는 순위 기계 학습 모델로 전달합니다. 그런 다음 제한된 제한된 정의 된 문서 수 (상위 50, 상위 10, 상위 3)의 상위 결과가 LLM과 공유됩니다.
헝겊 응용 프로그램 구축을 시작하는 방법을 배우십시오
RAG 시스템은 다양한 기술을 사용하여 지식 검색을 향상시키고 생성 된 응답의 품질을 향상시킵니다. 이러한 기술은 언어 모델에 정확하고 유익한 응답을 생성하기 위해 관련성이 높은 맥락을 제공하기 위해 노력합니다.
시작하려면 다음 리소스를 사용하여 Rag 응용 프로그램 구축을 시작하십시오. Azure AI Foundry 그리고 그것들을 사용하여 제작 된 에이전트와 함께 사용하십시오 Microsoft Copilot Studio.
- 헝겊 응용 프로그램을 구축하십시오 Azure Openai 서비스 및 Azure AI 검색.
- 비디오보기 :
- 읽으십시오 Azure AI 검색에서 증거 증강 생성 (RAG).
- 읽으십시오 Azure AI 검색으로 내장 된 색인을 사용하여 Coplealot Studio를 사용하여 구축 된 에이전트의 응답 향상.
신뢰할 수있는 AI에 대한 우리의 헌신
산업 전반의 조직이 활용하고 있습니다 Azure AI Foundry 그리고 Microsoft Copilot Studio 성장을 주도하고 생산성을 높이며 부가가치 경험을 창출하는 기능.
우리는 조직이 AI를 사용하고 구축하도록 돕기 위해 노력하고 있습니다. 신뢰할 수 있는안전하고 개인적이며 안전하다는 것을 의미합니다. 우리는 수십 년간의 AI 제품을 연구하고 구축하여 체계적인 모범 사례와 학습을 가져와 보안, 개인 정보 및 안전의 세 가지 기둥에 걸쳐있는 업계 최고의 약속과 기능을 제공합니다. 신뢰할 수있는 AI는 귀하가 우리의 약속을 결합 할 때만 가능합니다. 미래의 이니셔티브를 확보하십시오 그리고 우리의 책임있는 AI 원칙, 제품 기능을 통해 AI 변환을 자신감있게 잠금 해제 할 수 있습니다.
Azure는 신뢰할 수있는 AI에 대한 헌신에 확고한 상태로 남아 있습니다우선 순위로 보안, 개인 정보 및 안전성. 확인하십시오 2024 책임있는 AI 투명성 보고서.
게시물 일반적인 검색 증강 생성 (RAG) 기술이 설명되었습니다 먼저 나타났습니다 Microsoft AI 블로그.