검색 증강 생성(RAG)은 생성 모델, 특히 대규모 언어 모델 (LLM)의 기능을 향상시키는 기술입니다. LLM의 강력한 기능을 문서 및 데이터베이스와 같은 외부 지식 소스와 결합하여 보다 정확하고 유익한 응답을 생성합니다.
메서드 목록
메서드 및 지원되는 매개변수 목록입니다.
CreateRagCorpus
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- CORPUS_DISPLAY_NAME:
RagCorpus
의 표시 이름 - CORPUS_DESCRIPTION:
RagCorpus
에 대한 설명
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
JSON 요청 본문:
{ "display_name" : "CORPUS_DISPLAY_NAME", "description": "CORPUS_DESCRIPTION" }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
ListRagCorpora
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- PAGE_SIZE: 표준 목록 페이지 크기입니다.
page_size
매개변수를 업데이트하여 페이지당 반환할RagCorpora
수를 조정할 수 있습니다. - PAGE_TOKEN: 표준 목록 페이지 토큰입니다. 일반적으로 이전
VertexRagDataService.ListRagCorpora
호출의ListRagCorporaResponse.next_page_token
을 사용하여 가져옵니다.
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
PROJECT_ID
아래의 성공적인 상태 코드(2xx)와 RagCorpora
목록을 받아야 합니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
GetRagCorpus
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_ID:
RagCorpus
리소스의 ID입니다.
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
RagCorpus
리소스가 반환됩니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
DeleteRagCorpus
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_ID:
RagCorpus
리소스의 ID입니다.
HTTP 메서드 및 URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X DELETE \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
DeleteOperationMetadata
가 반환됩니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
UploadRagFile
매개변수 | |
---|---|
|
선택사항:
|
|
선택사항:
|
|
선택사항:
|
REST
RAG_CORPUS_ID="the rag_corpus_id generated by CreateRagCorpus" # Specify a local file to upload. LOCAL_FILE="local file to upload" FILE_DISPLAY_NAME="file display name" # UploadRagFile # Upload a local file # Input: PROJECT_ID, RAG_CORPUS_ID, LOCAL_FILE, FILE_DISPLAY_NAME # Output: RagFile # The last component of the RagFile "name" field is the server-generated # rag_file_id: (only Bold part) # projects/PROJECT_ID/locations/LOCATION/ragCorpora/${RAG_CORPUS_ID}/RagFile/123456789 curl -X POST \ -H "X-Goog-Upload-Protocol: multipart" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -F metadata="{'rag_file': {'display_name':'\""${FILE_DISPLAY_NAME}"\"'}}" \ -F file=@${LOCAL_FILE} \ https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/${RAG_CORPUS_ID}/ragFiles:upload
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
ImportRagFiles
Google Drive 또는 Cloud Storage에서 파일 및 폴더를 가져올 수 있습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_ID:
RagCorpus
리소스의 ID입니다. - GCS_URIS: Cloud Storage 위치 목록입니다. 예를 들면
gs://my-bucket1, gs://my-bucket2
입니다. - DRIVE_RESOURCE_ID: Google Drive 리소스의 ID입니다. 예:
https://drive.google.com/file/d/ABCDE
https://drive.google.com/corp/drive/u/0/folders/ABCDEFG
- DRIVE_RESOURCE_TYPE: Google Drive 리소스 유형입니다. 옵션:
RESOURCE_TYPE_FILE
- 파일RESOURCE_TYPE_FOLDER
- 폴더- CHUNK_SIZE: 선택사항: 각 청크에 필요한 토큰 수입니다.
- CHUNK_OVERLAP: 선택사항: 청크 간에 겹치는 토큰 수입니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
JSON 요청 본문:
{ "import_rag_files_config": { "gcs_source": { "uris": GCS_URIS }, "google_drive_source": { "resource_ids": { "resource_id": DRIVE_RESOURCE_ID, "resource_type": DRIVE_RESOURCE_TYPE } } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
ImportRagFilesOperationMetadata
리소스가 반환됩니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
ListRagFiles
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_ID:
RagCorpus
리소스의 ID입니다. - PAGE_SIZE: 표준 목록 페이지 크기입니다.
page_size
매개변수를 업데이트하여 페이지당 반환할RagFiles
수를 조정할 수 있습니다. - PAGE_TOKEN: 표준 목록 페이지 토큰입니다. 일반적으로 이전
VertexRagDataService.ListRagFiles
호출의ListRagFilesResponse.next_page_token
을 사용하여 가져옵니다.
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RAG_CORPUS_ID
아래의 RagFiles
목록과 함께 성공적인 상태 코드(2xx)를 받아야 합니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
GetRagFile
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_ID:
RagCorpus
리소스의 ID입니다. - RAG_FILE_ID:
RagFile
리소스의 ID입니다.
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
RagFile
리소스가 반환됩니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
DeleteRagFile
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- RAG_CORPUS_ID:
RagCorpus
리소스의 ID입니다. - RAG_FILE_ID:
RagFile
리소스의 ID입니다. 형식은projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
입니다.
HTTP 메서드 및 URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X DELETE \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
DeleteOperationMetadata
리소스가 반환됩니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
컨텍스트 검색하기
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다.
- PROJECT_ID: 프로젝트 ID
- RAG_CORPORA:
RagCorpus
리소스의 이름입니다. 형식은projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
입니다. - VECTOR_DISTANCE_THRESHOLD: 벡터 거리가 임곗값보다 작은 컨텍스트만 반환됩니다.
- TEXT: 관련 컨텍스트를 가져오기 위한 쿼리 텍스트입니다.
- SIMILARITY_TOP_K: 검색할 상위 컨텍스트 수입니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
JSON 요청 본문:
{ "vertex_rag_store": { "rag_corpora": ["RAG_CORPORA"], "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD }, "query": { "text": "TEXT", "similarity_top_k": SIMILARITY_TOP_K } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
RagFiles
목록을 받아야 합니다.
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
예측
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- LOCATION: 요청을 처리하는 리전입니다.
- MODEL_ID: 콘텐츠 생성을 위한 LLM 모델입니다. 예를 들면
gemini-1.5-pro-preview-0409
입니다. - GENERATION_METHOD: 콘텐츠 생성을 위한 LLM 메서드입니다. 옵션:
generateContent
streamGenerateContent
- INPUT_PROMPT: 콘텐츠 생성을 위해 LLM에 전송되는 텍스트입니다. 업로드된 RagFiles와 관련된 프롬프트를 사용해 보세요.
- RAG_CORPUS_RESOURCE:
RagCorpus
리소스의 이름입니다. 형식은projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
입니다. - SIMILARITY_TOP_K: 선택사항: 검색할 상위 컨텍스트 수입니다.
- VECTOR_DISTANCE_THRESHOLD: 선택사항: 벡터 거리가 임곗값보다 작은 컨텍스트가 반환됩니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
JSON 요청 본문:
{ "contents": { "role": "user", "parts": { "text": "INPUT_PROMPT" } }, "tools": { "retrieval": { "disable_attribution": false, "vertex_rag_store": { "rag_corpora": ["RAG_CORPUS_RESOURCE"], "similarity_top_k": SIMILARITY_TOP_K, "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD } } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Python
Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.