์ด๋ฏธ์ง ์ฐฝ๊ณ ๋ ์ด๋ฏธ์ง์ ์ด๋ฏธ์ง ์ฃผ์์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๊ณณ์ ๋๋ค.
์ด๋ฏธ์ง ์ ์ฅ์ ๋ง๋ค๊ธฐ
๋จผ์ ์๋ฃ ๋ชจ์์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
REST ๋ฐ ๋ช ๋ น์ค
Corpus
ํ์ ์ด๋ฆ๊ณผ ์ค๋ช
์ ์ง์ ํ ์ ์๋ ์ต์
์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ํ๋ก์ ํธ ์๋์ ์๋ฃ ๋ฆฌ์์ค๋ฅผ ๋ง๋ญ๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - DISPLAY_NAME: ์ฐฝ๊ณ ์ ํ์ ์ด๋ฆ์ ๋๋ค.
- WAREHOUSE_DESCRIPTION: ์ฐฝ๊ณ ์ ๋ํ ์ค๋ช
์
๋๋ค (
corpus
).
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "display_name": "DISPLAY_NAME", "description": "WAREHOUSE_DESCRIPTION", "type": "IMAGE", "search_capability_setting": { "search_capabilities": { "type": "EMBEDDING_SEARCH" } } }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus", "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID", "displayName": "DISPLAY_NAME", "description": "WAREHOUSE_DESCRIPTION", "type": "IMAGE", "search_capability_setting": { "search_capabilities": { "type": "EMBEDDING_SEARCH" } } } }
๋ฐ์ดํฐ ์คํค๋ง ๋ง๋ค๊ธฐ
์ฃผ์์ ๊ฐ์ ธ์ค๋ ค๋ฉด Import API๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ์์ํ๋ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
REST ๋ฐ ๋ช ๋ น์ค
์ด ์ํ์์๋ ๊ธฐ์กด ์๋ฃ์์ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - CORPUS_ID: ํ๊ฒ ์๋ฃ์ ID์ ๋๋ค.
- DATASCHEMA_KEY: ์ด ํค๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ ์ฃผ์์ ํค์ ์ผ์นํด์ผ ํ๋ฉฐ
corpus
๋ด์์ ๊ณ ์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉดdata-key
์ ๋๋ค. - ANNOTATION_DATA_TYPE: ์ฃผ์์ ๋ฐ์ดํฐ ์ ํ์
๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
DATA_TYPE_UNSPECIFIED
INTEGER
FLOAT
STRING
DATETIME
GEO_COORDINATE
PROTO_ANY
BOOLEAN
์์ธํ ๋ด์ฉ์ API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- ANNOTATION_GRANULARITY: ์ด
dataSchema
์๋์ ์ฃผ์ ์ธ๋ถ์ฑ์ ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.GRANULARITY_UNSPECIFIED
- ์ง์ ๋์ง ์์ ์ธ๋ถ์ฌํญ์ ๋๋ค.GRANULARITY_ASSET_LEVEL
- ์ ์๋ฌผ ์์ค ์ธ๋ถ์ฌํญ (์ฃผ์์ ๋ฏธ๋์ด ์ ์๋ฌผ์ ์๊ฐ์ ํํฐ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด์๋ ์ ๋จ)GRANULARITY_PARTITION_LEVEL
- ํํฐ์ ์์ค ์ธ๋ถ์ฌํญ (์ฃผ์์๋ ๋ฏธ๋์ด ์ ์๋ฌผ์ ์๊ฐ์ ํํฐ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด์ผ ํจ)
- SEARCH_STRATEGY: ์ฌ์ฉ ๊ฐ๋ฅํ ์ด๊ฑฐํ ๊ฐ ์ค ํ๋์
๋๋ค. ์ฃผ์ ํค์ ์ ์ฉํ ๊ฒ์ ์ ๋ต์ ์ ํ์
๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NO_SEARCH
EXACT_SEARCH
SMART_SEARCH
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "key": "DATASCHEMA_KEY", "schema_details": { "type": "ANNOTATION_DATA_TYPE", "granularity": "ANNOTATION_GRANULARITY", "search_strategy": { "search_strategy_type": "SEARCH_STRATEGY" } } }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "data-key", "schemaDetails": { "type": "BOOLEAN", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "search_strategy_type": "EXACT_SEARCH" } } }
์ด๋ฏธ์ง ์๋ฃ์ ์ ์ ๊ฐ์ ธ์ค๊ธฐ
์ง์ ๋ ํ๋ก์ ํธ์ ๊ธฐ์กด ์๋ฃ์ ์ ์ (๋ฐ ์ ํ์ ์ผ๋ก ์ฃผ์)์ ๊ฐ์ ธ์ต๋๋ค.
ImportAsset ์์ฒญ์ Cloud Storage ํ์ผ์ JSONL ํ์์ด์ด์ผ ํฉ๋๋ค. ํ์ผ์์ ๊ฐ ์ค์ ํ๋์ ์ ์
์ ํด๋นํ๋ฉฐ InputImageAsset
ํ๋กํ ๋ก ๋ณํ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}
REST ๋ฐ ๋ช ๋ น์ค
์ด ์ํ์์๋ ์ง์ ๋ ํ๋ก์ ํธ์ ์๋ฃ ๋ฆฌ์์ค์ ์ ์ (๋ฐ ์ ํ์ ์ผ๋ก ์ฃผ์)์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - CORPUS_ID: ํ๊ฒ ์๋ฃ์ ID์ ๋๋ค.
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID, "assets_gcs_uri": GCS_URI }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID", }
์๋ฃ์ ์ ์ ๋ถ์
์ด๋ฏธ์ง ๊ฒ์์ ์ค๋นํ๋ ค๋ฉด ์ด๋ฏธ์ง์์ ์๋ฒ ๋ฉ ์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด AnalyzeCorpus๋ฅผ ์คํํด์ผ ํฉ๋๋ค.
REST ๋ฐ ๋ช ๋ น์ค
์ด ์ํ์์๋ ์๋ฃ ๋ฆฌ์์ค์์ AnalyzeCorpus๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - CORPUS_ID: ํ๊ฒ ์๋ฃ์ ID์ ๋๋ค.
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID", }
์์ธ ๋ง๋ค๊ธฐ
REST ๋ฐ ๋ช ๋ น์ค
์ด ์ํ์์๋ ์๋ฃ ๋ฆฌ์์ค์ ์์ธ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - CORPUS_ID: ํ๊ฒ ์๋ฃ์ ID์ ๋๋ค.
- INDEX_ID: (์ ํ์ฌํญ) ์์ธ ID์ ๋ํด ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ๊ฐ์
๋๋ค. ์ด ์์ฒญ์์ ๊ฐ์ ๋ค์ ํ์์ผ๋ก ์์ฒญ URL์ ์ถ๊ฐ๋ฉ๋๋ค.
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "display_name": "DISPLAY_NAME", "description": "INDEX_DESCRIPTION", }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata" } }
์์ธ ์๋ํฌ์ธํธ ๋ง๋ค๊ธฐ
REST ๋ฐ ๋ช ๋ น์ค
์ด ์ํ์์๋ ์์ธ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - INDEX_ENDPOINT_ID: (์ ํ์ฌํญ) ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ์์ธ ์๋ํฌ์ธํธ ID ๊ฐ์
๋๋ค. ์ด ์์ฒญ์์ ๊ฐ์ ๋ค์ ํ์์ผ๋ก ์์ฒญ URL์ ์ถ๊ฐ๋ฉ๋๋ค.
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata" } }
์์ธ ์๋ํฌ์ธํธ์ ์์ธ ๋ฐฐํฌ
REST ๋ฐ ๋ช ๋ น์ค
์ด ์ํ์์๋ ์์ธ์ ์์ธ ์๋ํฌ์ธํธ ๋ฆฌ์์ค์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- REGIONALIZED_ENDPOINT: ์๋ํฌ์ธํธ์
LOCATION_ID
์ ์ผ์นํ๋ ์ ๋์ฌ(์:europe-west4-
)๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ง์ญํ๋ ์๋ํฌ์ธํธ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. - PROJECT_NUMBER: ํ๋ก์ ํธ ๋ฒํธ์ ๋๋ค. Google Cloud
- LOCATION_ID: Vertex AI Vision์ ์ฌ์ฉํ๋ ๋ฆฌ์ ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
us-central1
,europe-west4
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. - INDEX_ENDPOINT_ID: ํ๊ฒ ์์ธ ์๋ํฌ์ธํธ์ ID์ ๋๋ค.
- CORPUS_ID: ํ๊ฒ ์๋ฃ์ ID์ ๋๋ค.
- INDEX_ID: ํ๊ฒ ์์ธ์ ID์ ๋๋ค.
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "deployedIndex": { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" } }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
curl
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
PowerShell
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata", "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" } }