in build.py [0:0]
def create_search_app() -> str:
client_options = (
ClientOptions(api_endpoint=f"{DATA_STORE_LOCATION}-discoveryengine.googleapis.com")
if DATA_STORE_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=DATA_STORE_LOCATION,
collection="default_collection",
)
engine = discoveryengine.Engine(
display_name=SEARCH_APP_ENGINE_ID,
industry_vertical=discoveryengine.IndustryVertical.GENERIC,
solution_type=discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH,
search_engine_config=discoveryengine.Engine.SearchEngineConfig(
search_tier=discoveryengine.SearchTier.SEARCH_TIER_ENTERPRISE,
search_add_ons=[discoveryengine.SearchAddOn.SEARCH_ADD_ON_LLM],
),
data_store_ids=[DATA_STORE_ID],
)
request = discoveryengine.CreateEngineRequest(
parent=parent,
engine=engine,
engine_id=SEARCH_APP_ENGINE_ID,
)
operation = client.create_engine(request=request)
print(f"Waiting for operation to complete: {operation.operation.name}")
operation.result()