검색 앱 만들기

이 페이지에서는 검색 앱을 만드는 방법을 설명합니다.

앱 만들기

콘솔

Google Cloud 콘솔을 사용하여 검색 앱을 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.

    Agent Builder

  2. 페이지에서 앱 만들기를 클릭합니다.

  3. 앱 만들기 페이지에서 검색을 선택합니다.

  4. 일반 또는 미디어 콘텐츠 중에서 선택할 수 있는 경우 일반을 클릭합니다.

  5. 이 앱에 Enterprise 기능을 사용할지 결정한 다음 전환 버튼을 클릭하여 켜거나 끕니다.

    웹사이트 검색, 앱의 리전 선택과 같은 기능을 사용하려면 Enterprise 버전 기능을 사용 설정해야 합니다. Enterprise 버전 기능에는 추가 비용이 발생합니다. 자세한 내용은 Enterprise 버전 기능을 참고하세요.

  6. 이 앱에 고급 LLM 기능을 사용 설정할지 결정한 다음 전환 버튼을 클릭하여 켜거나 끕니다.

    검색 요약 또는 질문으로 검색과 같은 기능을 사용하려면 고급 LLM 기능을 활성화해야 합니다. 자세한 내용은 고급 LLM 기능을 참조하세요.

  7. 앱 이름 필드에 앱 이름을 입력합니다.

  8. 회사 또는 조직의 외부 이름 필드에 회사 또는 조직의 일반 이름을 입력합니다. Inc 또는 LLC와 같은 서픽스는 포함하지 않아도 됩니다. 이 필드는 LLM이 앱에서 대표하는 회사를 식별하는 데 유용합니다.

  9. 앱의 위치를 선택합니다. 위치를 선택하려면 Enterprise 기능을 사용 설정해야 합니다. 데이터를 특정 지역으로 제한해야 할 이유가 없다면 기본값인 전역(Global)을 사용하는 것이 좋습니다.

  10. 계속을 클릭합니다.

  11. 데이터 스토어에 연결하려면 데이터 스토어 페이지에서 이전에 만든 데이터 스토어를 선택하거나 새 데이터 스토어를 만듭니다.

    다음 중 하나 이상을 수행합니다.

    • 기존 데이터 스토어를 선택합니다.

      데이터 스토어를 하나만 연결하면 나중에 이 앱에서 데이터 스토어를 삭제하거나 다른 데이터 스토어를 추가할 수 없습니다. 데이터 스토어를 여러 개 연결하는 경우 나중에 연결된 데이터 스토어를 변경할 수 있지만 이 앱에는 항상 두 개 이상의 데이터 스토어가 연결되어 있어야 합니다.

    • 새 데이터 스토어를 만들고 여기에 데이터를 수집합니다.

      데이터 스토어 만들기를 클릭하고 열리는 새 데이터 스토어 만들기 창의 단계를 따릅니다. 그런 다음 새 데이터 스토어를 선택합니다. 자세한 내용은 검색 데이터 스토어 만들기를 참고하세요.

  12. 선택사항: 사용할 수 없는 데이터 스토어 목록을 보려면 이유 알아보기를 클릭합니다.

    데이터 스토어 목록과 사용 불가 이유가 포함된 테이블이 표시됩니다. 데이터 스토어를 사용할 수 없는 몇 가지 이유는 다음과 같습니다.

    • 데이터 스토어 유형은 하나의 앱에만 연결할 수 있으며 데이터 스토어가 이미 연결되어 있습니다.
    • 데이터 스토어와 앱이 서로 다른 리전에 있습니다.
    • 데이터 스토어와 앱의 유형이 다릅니다. 예를 들어 의료 검색 데이터 스토어를 웹사이트 검색 앱에 연결할 수 없습니다.
    • 데이터 스토어에는 기본 웹사이트 검색이 있지만 웹사이트 검색 앱에는 고급 웹사이트 색인 생성이 있는 데이터 스토어가 필요합니다.
  13. 만들기를 클릭합니다.

REST

명령줄을 사용하여 앱을 만들려면 기존 데이터 스토어가 있어야 합니다. 데이터 스토어가 없는 경우 Vertex AI Search용 데이터 스토어 만들기 및 데이터 처리의 단계에 따라 데이터 스토어를 만듭니다.

engines.create 메서드를 사용하여 명령줄에서 검색 앱을 만들려면 다음 단계를 따르세요.

  1. 데이터 스토어 ID를 찾습니다. 데이터 스토어 ID가 이미 있는 경우 다음 단계로 건너뜁니다.

    1. Google Cloud 콘솔에서 Agent Builder 페이지로 이동하고 탐색 메뉴에서 데이터 스토어를 클릭합니다.

      데이터 스토어 페이지로 이동

    2. 데이터 스토어 이름을 클릭합니다.

    3. 데이터 스토어의 데이터 페이지에서 데이터 스토어 ID를 가져옵니다.

  2. 검색 앱을 만들고 데이터 스토어에 연결합니다. 데이터 스토어는 하나의 앱에만 연결할 수 있으며 나중에 앱에서 삭제할 수 없습니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines?engineId=APP_ID" \
    -d '{
      "displayName": "APP_DISPLAY_NAME",
      "dataStoreIds": ["DATA_STORE_ID"],
      "solutionType": "SOLUTION_TYPE_SEARCH",
      "searchEngineConfig": {
         "searchTier": "SEARCH_TIER",
         "searchAddOns": ["SEARCH_ADD_ON"]
       }
    }'
    

    다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
    • APP_ID: 만들려는 Vertex AI Search 앱의 ID입니다.
    • APP_DISPLAY_NAME: 만들려는 Vertex AI Search 앱의 표시 이름입니다.
    • DATA_STORE_ID: Vertex AI Search 앱에 추가하려는 기존 Vertex AI Search 데이터 스토어의 ID입니다.
    • SEARCH_TIER: 검색 등급은 SEARCH_TIER_STANDARD 또는 SEARCH_TIER_ENTERPRISE일 수 있습니다. 웹사이트 검색, 앱의 리전 선택과 같은 기능을 사용하려면 SEARCH_TIER_ENTERPRISE가 필요합니다. Enterprise 버전 기능에는 추가 비용이 발생합니다. 자세한 내용은 Enterprise 버전 기능을 참고하세요.
    • SEARCH_ADD_ON: 이 앱에 고급 LLM 기능을 사용하려면 SEARCH_ADD_ON_LLM을 지정합니다. 고급 LLM 기능에는 검색 요약질문으로 검색이 포함됩니다.

      고급 LLM 기능을 사용하지 않으려면 SEARCH_ADD_ON_UNSPECIFIED를 지정하거나 searchAddOns 필드를 삭제합니다.

      자세한 내용은 고급 LLM 기능을 참조하세요.

Python

자세한 내용은 Vertex AI Agent Builder Python API 참고 문서를 확인하세요.

Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

from typing import List

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine_v1 as discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "global"
# engine_id = "YOUR_ENGINE_ID"
# data_store_ids = ["YOUR_DATA_STORE_ID"]


def create_engine_sample(
    project_id: str, location: str, engine_id: str, data_store_ids: List[str]
) -> str:
    #  For more information, refer to:
    # https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
    client_options = (
        ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
        if location != "global"
        else None
    )

    # Create a client
    client = discoveryengine.EngineServiceClient(client_options=client_options)

    # The full resource name of the collection
    # e.g. projects/{project}/locations/{location}/collections/default_collection
    parent = client.collection_path(
        project=project_id,
        location=location,
        collection="default_collection",
    )

    engine = discoveryengine.Engine(
        display_name="Test Engine",
        # Options: GENERIC, MEDIA, HEALTHCARE_FHIR
        industry_vertical=discoveryengine.IndustryVertical.GENERIC,
        # Options: SOLUTION_TYPE_RECOMMENDATION, SOLUTION_TYPE_SEARCH, SOLUTION_TYPE_CHAT, SOLUTION_TYPE_GENERATIVE_CHAT
        solution_type=discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH,
        # For search apps only
        search_engine_config=discoveryengine.Engine.SearchEngineConfig(
            # Options: SEARCH_TIER_STANDARD, SEARCH_TIER_ENTERPRISE
            search_tier=discoveryengine.SearchTier.SEARCH_TIER_ENTERPRISE,
            # Options: SEARCH_ADD_ON_LLM, SEARCH_ADD_ON_UNSPECIFIED
            search_add_ons=[discoveryengine.SearchAddOn.SEARCH_ADD_ON_LLM],
        ),
        # For generic recommendation apps only
        # similar_documents_config=discoveryengine.Engine.SimilarDocumentsEngineConfig,
        data_store_ids=data_store_ids,
    )

    request = discoveryengine.CreateEngineRequest(
        parent=parent,
        engine=engine,
        engine_id=engine_id,
    )

    # Make the request
    operation = client.create_engine(request=request)

    print(f"Waiting for operation to complete: {operation.operation.name}")
    response = operation.result()

    # After the operation is complete,
    # get information from operation metadata
    metadata = discoveryengine.CreateEngineMetadata(operation.metadata)

    # Handle the response
    print(response)
    print(metadata)

    return operation.operation.name

Terraform

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요. 자세한 내용은 Terraform 제공업체 참고 문서를 확인하세요.

Terraform을 사용하여 검색 앱을 만들려면 discovery_engine_search_engine을 참고하세요.

다음 단계