이 페이지에서는 Vertex AI Search와 Vertex AI RAG 엔진의 통합을 소개합니다.
Vertex AI Search는 Vertex AI RAG 애플리케이션 내에서 데이터를 검색하고 관리하는 솔루션을 제공합니다. Vertex AI Search를 검색 백엔드로 사용하면 성능, 확장성, 통합 용이성을 개선할 수 있습니다.
향상된 성능 및 확장성: Vertex AI Search는 지연 시간이 매우 짧으면서 대용량 데이터를 처리하도록 설계되었습니다. 특히 복잡하거나 광범위한 지식 기반을 처리할 때 RAG 애플리케이션의 응답 시간이 단축되고 성능이 개선됩니다.
간소화된 데이터 관리: 웹사이트, BigQuery 데이터 세트, Cloud Storage 버킷과 같은 다양한 소스에서 데이터를 가져와 데이터 처리 프로세스를 간소화할 수 있습니다.
원활한 통합: Vertex AI는 Vertex AI Search와의 기본 제공 통합을 제공하므로 Vertex AI Search를 RAG 애플리케이션의 코퍼스 백엔드로 선택할 수 있습니다. 이렇게 하면 통합 프로세스가 간소화되고 구성요소 간의 최적의 호환성을 보장하는 데 도움이 됩니다.
LLM 출력 품질 개선: Vertex AI Search의 검색 기능을 사용하면 RAG 애플리케이션이 코퍼스에서 가장 관련성 높은 정보를 검색할 수 있도록 지원할 수 있습니다. 이를 통해 더 정확하고 유익한 LLM 생성 출력을 얻을 수 있습니다.
Vertex AI Search
Vertex AI Search는 심층 정보 검색, 자연어 처리, 대규모 언어 모델 (LLM) 처리의 최신 기능을 결합하여 사용자 의도를 파악하고 사용자와 관련성이 가장 높은 결과를 반환하는 데 도움이 됩니다.
Vertex AI Search를 사용하면 관리하는 데이터를 사용하여 Google급 검색 애플리케이션을 빌드할 수 있습니다.
Vertex AI Search 구성
Vertex AI Search를 설정하려면 다음 단계를 따르세요.
Vertex AI Search를 Vertex AI RAG 엔진의 검색 백엔드로 사용
Vertex AI Search가 설정되면 다음 단계에 따라 RAG 애플리케이션의 검색 백엔드로 설정합니다.
Vertex AI Search를 검색 백엔드로 설정하여 RAG 코퍼스 만들기
이 코드 샘플에서는 Vertex AI Search를 RAG 코퍼스의 검색 백엔드로 구성하는 방법을 보여줍니다.
REST
명령줄을 사용하여 RAG 자료 모음을 만들려면 다음 단계를 따르세요.
RAG 코퍼스 만들기
코드 샘플에서 사용되는 다음 변수를 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 요청을 처리하는 리전입니다.
- DISPLAY_NAME: 만들려는 RAG 자료의 표시 이름입니다.
- ENGINE_NAME: Vertex AI Search 엔진 또는 Vertex AI Search Datastore의 전체 리소스 이름입니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" \ -d '{ "display_name" : "DISPLAY_NAME", "vertex_ai_search_config" : { "serving_config": "ENGINE_NAME/servingConfigs/default_search" } }'
진행 상황 모니터링
코드 샘플에서 사용되는 다음 변수를 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 요청을 처리하는 리전입니다.
- OPERATION_ID: RAG 자료 생성 작업의 ID입니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
Python
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Vertex AI Python API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
RAG API를 사용하여 컨텍스트 가져오기
RAG 코퍼스가 생성된 후에는 RetrieveContexts
API를 통해 Vertex AI Search에서 관련 컨텍스트를 검색할 수 있습니다.
REST
이 코드 샘플은 REST를 사용하여 컨텍스트를 검색하는 방법을 보여줍니다.
코드 샘플에서 사용되는 다음 변수를 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_RESOURCE: RAG 자료 리소스의 이름입니다.
형식:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
- TEXT: 관련 컨텍스트를 가져올 쿼리 텍스트입니다.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" \
-d '{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
}
},
"query": {
"text": "TEXT"
}
}'
Python용 Vertex AI SDK
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python용 Vertex AI SDK API 참조 문서를 확인하세요.
Vertex AI Gemini API를 사용하여 콘텐츠 생성
REST
Gemini 모델을 사용하여 콘텐츠를 생성하려면 Vertex AI GenerateContent
API를 호출합니다. 요청에 RAG_CORPUS_RESOURCE
를 지정하면 Vertex AI Search에서 데이터를 자동으로 검색합니다.
샘플 코드에서 사용되는 다음 변수를 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 요청을 처리하는 리전입니다.
- MODEL_ID: 콘텐츠 생성을 위한 LLM 모델입니다. 예를 들면
gemini-1.5-flash-002
입니다. - GENERATION_METHOD: 콘텐츠 생성을 위한 LLM 방법입니다.
예를 들면
generateContent
,streamGenerateContent
입니다. - INPUT_PROMPT: 콘텐츠 생성을 위해 LLM에 전송되는 텍스트입니다. Vertex AI Search에서 문서와 관련된 프롬프트를 사용해 보세요.
- RAG_CORPUS_RESOURCE: RAG 자료 리소스의 이름입니다. 형식은
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
입니다. SIMILARITY_TOP_K: 선택사항: 검색할 인기 컨텍스트 수입니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" \ -d '{ "contents": { "role": "user", "parts": { "text": "INPUT_PROMPT" } }, "tools": { "retrieval": { "disable_attribution": false, "vertex_rag_store": { "rag_resources": { "rag_corpus": "RAG_CORPUS_RESOURCE" }, "similarity_top_k": SIMILARITY_TOP_K } } } }'
Python용 Vertex AI SDK
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python용 Vertex AI SDK API 참조 문서를 확인하세요.