Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi
Apigee Edge.
Halaman ini menjelaskan cara mengonfigurasi dan menggunakan kebijakan caching semantik Apigee untuk mengaktifkan penggunaan kembali respons cerdas berdasarkan kemiripan semantik. Dalam contoh ini, kebijakan menjalankan penelusuran kemiripan terhadap indeks Penelusuran Vektor yang di-deploy di endpoint pribadi (Private Service Connect). Dengan menggunakan kebijakan ini di proxy API Apigee, Anda dapat meminimalkan panggilan API backend yang tidak diperlukan, mengurangi latensi, dan menurunkan biaya operasional.
Panduan ini berlaku untuk Apigee dan Apigee Hybrid. Konfigurasi kebijakan identik di kedua platform—hanya cara runtime mencapai endpoint pribadi yang berbeda, seperti dijelaskan dalam Langkah 2: Hubungkan ke lampiran layanan. Di Apigee Hybrid, semantik caching melalui endpoint pribadi (Private Service Connect) didukung di versi 1.17.0 dan yang lebih baru. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan di Apigee Hybrid.
Sebelum memulai
Sebelum memulai, selesaikan tugas berikut:
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, AI Platform, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, AI Platform, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Aktifkan dan konfigurasi Vertex AI Text embeddings API di project Google Cloud Anda.
- Buat (atau miliki akses ke) indeks Penelusuran Vektor yang di-deploy di endpoint pribadi (Private Service Connect). Tutorial ini tidak menduplikasi langkah-langkah penyiapan Penelusuran Vektor; lihat Prasyarat indeks Penelusuran Vektor untuk persyaratan khusus SemanticCacheLookup dan link ke dokumentasi Penelusuran Vektor.
- Pastikan Anda memiliki lingkungan Menengah atau Komprehensif yang tersedia di instance Apigee Anda. Kebijakan penyimpanan data dalam cache semantik hanya dapat di-deploy di lingkungan Menengah atau Komprehensif.
- Konfirmasi bahwa Anda memiliki grup lingkungan dengan nama host runtime yang dapat Anda gunakan untuk mengirim permintaan ke proxy API.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna membuat dan menggunakan kebijakan caching semantik,
minta administrator Anda untuk memberi Anda
peran IAM Pengguna AI Platform (roles/aiplatform.user) pada akun layanan yang Anda gunakan untuk men-deploy proxy Apigee.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menetapkan variabel lingkungan
Di project Google Cloud yang berisi instance Apigee Anda, gunakan perintah berikut untuk menetapkan variabel lingkungan:
export PROJECT_ID=PROJECT_IDexport REGION=REGIONexport RUNTIME_HOSTNAME=RUNTIME_HOSTNAME
Dengan:
PROJECT_IDadalah ID project dengan instance Apigee Anda.REGIONadalah Google Cloud region instance Apigee Anda.RUNTIME_HOSTNAMEadalah nama host runtime Apigee Anda.
Untuk mengonfirmasi bahwa variabel lingkungan telah ditetapkan dengan benar, jalankan perintah berikut dan tinjau outputnya:
echo $PROJECT_ID $REGION $RUNTIME_HOSTNAME
Menetapkan project
Siapkan Google Cloud project di lingkungan pengembangan Anda:
gcloud auth logingcloud config set project $PROJECT_ID
Prasyarat indeks Penelusuran Vektor
Tutorial ini mengasumsikan bahwa Anda telah memiliki (atau akan membuat) indeks Penelusuran Vektor yang di-deploy di endpoint pribadi (Private Service Connect). Pembuatan, pemformatan, dan deployment indeks Penelusuran Vektor didokumentasikan dalam panduan Penelusuran Vektor, sehingga tutorial ini tidak mengulangi langkah-langkah tersebut. Ikuti dokumentasi Penelusuran Vektor untuk:
- Membuat dan mengelola indeks.
- Format dan struktur data input Anda.
- Buat endpoint indeks Private Service Connect dan deploy indeks Anda ke endpoint tersebut.
Saat Anda membuat indeks, indeks tersebut harus memenuhi persyaratan khusus SemanticCacheLookup berikut:
- Indeks harus menggunakan
STREAM_UPDATE("indexUpdateMethod": "STREAM_UPDATE") sehingga panggilanupsertDatapointskebijakan SemanticCachePopulate dapat dikueri dalam waktu hampir real time. - Indeks
dimensionsharus cocok dengan dimensi output model embedding yang Anda gunakan dalam kebijakan SemanticCacheLookup. Tutorial ini menggunakangemini-embedding-001, yang menghasilkan embedding 3072 dimensi secara default. Jika Anda memangkas output ke dimensi yang lebih rendah (misalnya, 768 atau 1536), tetapkandimensionske nilai yang sama. - Buat indeks dengan ukuran jarak (
distanceMeasureType) yang cocok dengan<DistanceMeasureType>kebijakan Anda. Elemen<SimilaritySearch><VertexAI><DistanceMeasureType>dalam kebijakan SemanticCacheLookup bersifat opsional dan ditetapkan secara default keDOT_PRODUCT_DISTANCE;COSINE_DISTANCEjuga didukung. Ukuran jarak indeks dan kebijakan<DistanceMeasureType>harus sama.
Contoh minimal berikut membuat indeks yang kompatibel. Untuk isi permintaan lengkap dan semua opsi yang tersedia, lihat Membuat dan mengelola indeks:
ACCESS_TOKEN=$(gcloud auth print-access-token) && curl -X POST \ "https://$REGION-aiplatform.googleapis.com/v1/projects/$PROJECT_ID/locations/$REGION/indexes" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "displayName": "semantic-cache-index", "metadata": { "config": { "dimensions": 3072, "distanceMeasureType": "DOT_PRODUCT_DISTANCE" } }, "indexUpdateMethod": "STREAM_UPDATE" }'
Catat INDEX_ID numerik yang ditampilkan dalam respons; Anda akan menggunakannya dalam
kebijakan SemanticCachePopulate. Setelah membuat indeks, buat endpoint indeks Private Service Connect dan
deploy indeks ke endpoint tersebut.
Saat Anda membuat endpoint indeks Private Service Connect, endpoint tersebut harus memenuhi persyaratan khusus SemanticCacheLookup berikut:
projectAllowlistharus menyertakan project Apigee yang memulai koneksi:- Apigee: Gunakan project tenant Apigee. Dapatkan project ID tenant dari
Organizations API
(kolom
apigeeProjectId).
projectAllowlisttidak dapat diubah setelah endpoint indeks dibuat. Jika Anda memasukkan project yang salah ke daftar yang diizinkan, Anda harus menghapus dan membuat ulang endpoint indeks.- Apigee: Gunakan project tenant Apigee. Dapatkan project ID tenant dari
Organizations API
(kolom
Perhatikan INDEX_ENDPOINT_ID numerik dari endpoint indeks.
Mengonfigurasi akun layanan untuk proxy Apigee
Proxy Apigee menggunakan akun layanan untuk panggilan REST Vertex AI-nya: Embeddings
API dalam kebijakan SemanticCacheLookup, upsertDatapoints dalam kebijakan SemanticCachePopulate, dan target
model. Beri akun layanan tersebut peran AI Platform User
(roles/aiplatform.user):
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="roles/aiplatform.user"
Dengan SERVICE_ACCOUNT adalah alamat email akun layanan yang digunakan
proxy. Anda mereferensikan akun layanan ini saat men-deploy proxy di
Langkah 4: Impor dan deploy proxy API.
Prasyarat tambahan untuk deployment Apigee Hybrid
Untuk deployment Apigee Hybrid, konfirmasi persyaratan tambahan berikut:
- Runtime hybrid di 1.17.0 atau yang lebih baru, yang diinstal di cluster Kubernetes Anda sendiri. Lihat dokumentasi penginstalan Apigee Hybrid. Fitur ini tidak menambahkan persyaratan cluster sendiri—cluster hybrid yang didukung berfungsi.
- Lingkungan Menengah atau Komprehensif dan grup lingkungan dengan nama host runtime, yang sama seperti di Apigee. Kebijakan penyimpanan data dalam cache semantik hanya di-deploy ke lingkungan Menengah atau Komprehensif.
- Keterjangkauan jaringan dari runtime ke endpoint pribadi. Pemroses pesan
harus dapat membuka koneksi gRPC teks biasa ke endpoint Private Service Connect Penelusuran Vektor di
TARGET_HOST:10000. - Egress untuk panggilan REST. Panggilan Embeddings, Populate, dan model-target akan masuk ke
permukaan
REGION-aiplatform.googleapis.compublik, sehingga runtime juga memerlukan jalur ke Google API—secara langsung, atau melalui jalur pribadi jika cluster Anda tidak memiliki keluar publik.
Menyiapkan di Apigee Hybrid
Caching semantik melalui endpoint pribadi (Private Service Connect) didukung di Apigee Hybrid versi 1.17.0 dan yang lebih baru. Konfigurasi kebijakan dan langkah-langkah Penelusuran Vektor dalam tutorial ini sama dengan Apigee—perbedaannya adalah di hybrid, Anda menjalankan runtime dan menyediakan konektivitasnya sendiri. Karena deployment hybrid sangat bervariasi, bagian ini berisi panduan umum, bukan perintah yang tepat. Satu-satunya persyaratan yang ditambahkan fitur ini adalah bahwa runtime harus dapat menjangkau endpoint pribadi melalui gRPC teks biasa.
Menyediakan aksesibilitas jaringan
Dalam deployment hybrid, Anda harus mengelola konektivitas secara manual karena tidak ada lampiran endpoint yang dikelola Apigee. Buat endpoint Private Service Connect di VPC konsumen yang mengarah ke Penelusuran Vektor SERVICE_ATTACHMENT, dan gunakan alamat IP internalnya sebagai TARGET_HOST di proxy. Lihat Langkah 2: Hubungkan ke lampiran layanan untuk mengetahui informasi selengkapnya. Perutean tertentu (misalnya, GKE native VPC atau VPC Bersama) bergantung pada konfigurasi cluster Anda.
Jika cluster Anda tidak memiliki traffic keluar internet publik, pastikan runtime memiliki jalur pribadi ke Google API, seperti Akses Google Pribadi, untuk menangani komunikasi REST.
Setelah konektivitas ke grpc://TARGET_HOST:10000 dibuat, ikuti langkah-langkah berikutnya—membuat dan men-deploy indeks, membuat proxy, dan melakukan pengujian—yang identik untuk Apigee dan Apigee Hybrid.
Ringkasan
Kebijakan caching semantik membantu pengguna Apigee dengan model LLM untuk menyajikan perintah yang identik atau mirip secara semantik secara efisien dan cerdas, sehingga meminimalkan panggilan API backend dan mengurangi konsumsi resource.
Kebijakan SemanticCacheLookup dan SemanticCachePopulate masing-masing dilampirkan ke alur permintaan dan respons proxy API Apigee. Saat proxy menerima permintaan, kebijakan SemanticCacheLookup mengekstrak perintah pengguna dari permintaan dan mengonversi perintah menjadi representasi numerik menggunakan Text embeddings API. Penelusuran kemiripan semantik dilakukan menggunakan Vector Search untuk menemukan perintah serupa. Jika titik data perintah serupa ditemukan, pencarian cache akan dilakukan. Jika data yang di-cache ditemukan, respons yang di-cache akan ditampilkan kepada klien.
Jika penelusuran kemiripan tidak menampilkan perintah sebelumnya yang serupa, model LLM akan membuat konten sebagai respons terhadap perintah pengguna dan mengisi cache Apigee dengan respons tersebut. Loop masukan dibuat untuk memperbarui entri indeks Penelusuran Vektor sebagai persiapan untuk permintaan mendatang.
Dalam skenario ini, indeks Penelusuran Vektor di-deploy di endpoint pribadi (Private Service Connect), melalui gRPC. Lihat detail selengkapnya tentang dukungan Private Service Connect Penelusuran Vektor di Mengueri indeks akses layanan pribadi atau Private Service Connect.
Bagian berikut menjelaskan langkah-langkah untuk membuat dan mengonfigurasi kebijakan caching semantik:
- Verifikasi resource Anda dan dapatkan nilai yang dibutuhkan Apigee.
- Hubungkan ke lampiran layanan.
- Bangun paket proxy API.
- Impor dan deploy proxy API.
- Uji kebijakan penyimpanan data dalam cache semantik.
Langkah 1: Verifikasi resource Anda dan dapatkan nilai yang dibutuhkan Apigee
Sebelum mengonfigurasi Apigee, pastikan endpoint indeks Penelusuran Vektor Anda kompatibel dengan Private Service Connect dan indeks Anda telah di-deploy. Kemudian, baca dua nilai yang digunakan
oleh proxy Apigee: lampiran layanan dan
DEPLOYED_INDEX_ID.
Konfirmasi bahwa indeks di-deploy dan endpoint mengekspos lampiran layanan Private Service Connect:
gcloud ai index-endpoints describe INDEX_ENDPOINT_ID \ --project=$PROJECT_ID --region=$REGION \ --format="value(deployedIndexes.privateEndpoints.serviceAttachment)"
Perintah ini menampilkan nama resource lampiran layanan dalam bentuk
projects/TENANT_PROJECT/regions/REGION/serviceAttachments/SERVICE_ATTACHMENT_NAME.
Panduan ini menyebut nilai tersebut sebagai SERVICE_ATTACHMENT. Jika perintah menampilkan
nilai kosong, indeks belum di-deploy di endpoint Private Service Connect. Kembali ke
Prasyarat indeks Penelusuran Vektor dan selesaikan
men-deploy indeks sebelum Anda melanjutkan.
Baca DEPLOYED_INDEX_ID indeks yang di-deploy di endpoint:
gcloud ai index-endpoints describe INDEX_ENDPOINT_ID \ --project=$PROJECT_ID --region=$REGION \ --format="value(deployedIndexes.id)"
Panduan ini menyebut nilai tersebut sebagai DEPLOYED_INDEX_ID. Anda menggunakannya dalam
kebijakan SemanticCacheLookup di Langkah 3: Buat paket proxy API.
Untuk mengetahui informasi selengkapnya tentang cara men-deploy dan membuat kueri endpoint indeks pribadi, lihat Men-deploy indeks ke endpoint Private Service Connect dan Membuat kueri indeks Private Service Connect atau Akses Layanan Pribadi.
Langkah 2: Hubungkan ke lampiran layanan
Langkah ini memberi Anda host pribadi yang dipanggil oleh <GrpcEndpoint> proxy.
Cara membuatnya bergantung pada platform Anda. Konfigurasi proxy pada langkah-langkah selanjutnya sama
saja.
Apigee: Membuat lampiran endpoint
Di Apigee, buat lampiran endpoint Apigee. Lampiran endpoint adalah sisi konsumen Private Service Connect Apigee. Endpoint ini terhubung ke lampiran layanan Penelusuran Vektor dan memberi Anda host pribadi yang dipanggil proxy.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "location": "'"$REGION"'", "serviceAttachment": "SERVICE_ATTACHMENT" }' \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/endpointAttachments?endpointAttachmentId=ENDPOINT_ATTACHMENT"
Polling hingga state lampiran adalah ACTIVE dan
connectionState-nya adalah ACCEPTED, lalu catat host:
curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/endpointAttachments/ENDPOINT_ATTACHMENT"
Respons berisi host di kolom host. Panduan ini menyebut nilai tersebut sebagai
TARGET_HOST.
Untuk terhubung ke lampiran layanan Penelusuran Vektor dari proxy, Anda dapat menggunakan salah satu dari:
- Alamat IP: Gunakan alamat IP yang ditampilkan di kolom
hostsecara langsung sebagaiTARGET_HOST(misalnya,7.0.3.4). - Data DNS pribadi: Jika Anda mengonfigurasi zona Cloud DNS pribadi di project Google Cloud
dengan peering DNS ke Apigee, Anda dapat membuat data A di zona pribadi yang mengarah ke
alamat IP lampiran endpoint dan menggunakan nama domain tersebut (seperti
vectorsearch.example.com) sebagaiTARGET_HOST. Untuk mengetahui informasi selengkapnya, lihat Menggunakan data DNS dan Menghubungkan dengan zona peering DNS pribadi.
Endpoint Private Service Connect untuk Apigee Hybrid
Di Apigee, Google menyediakan resource "lampiran endpoint" yang menangani koneksi Private Service Connect. Namun, di Apigee Hybrid, Anda mengelola runtime dan lingkungan jaringan. Di mana pun cluster Anda berjalan, cluster tersebut harus dapat menjangkau endpoint Private Service Connect Penelusuran Vektor melalui koneksi gRPC teks biasa ke host:10000.
Untuk Apigee Hybrid, buat endpoint Private Service Connect di
Google Cloud VPC konsumen yang mengarah ke Penelusuran Vektor
SERVICE_ATTACHMENT. Gunakan alamat IP internal endpoint sebagai
TARGET_HOST dalam konfigurasi proxy Anda. Pastikan project Google Cloud yang menghosting endpoint ini disertakan dalam projectAllowlist endpoint indeks Penelusuran Vektor. Lihat
Prasyarat indeks Penelusuran Vektor untuk mengetahui detail selengkapnya.
Langkah 3: Bangun paket proxy API
Buat paket proxy
Buat tata letak direktori berikut:
apiproxy/ ├── PROXY_NAME.xml ├── proxies/default.xml ├── targets/default.xml └── policies/ ├── SCL-1.xml └── SCP-1.xml
policies/SCL-1.xml—kebijakan SemanticCacheLookup. Blok
<SimilaritySearch> menggunakan <PrivateServiceConnect><GrpcEndpoint>
(tanpa <URL>).
Catatan: Aturan <GrpcEndpoint>:
- Formatnya adalah
grpc://TARGET_HOST:PORT; skemanya harusgrpc://.grpcs://(TLS) tidak didukung dalam versi ini. - Port-nya adalah
10000untuk Penelusuran Vektor. Endpoint data plane Private Service Connect menyajikan gRPC di port 10000, sehingga endpoint selalugrpc://TARGET_HOST:10000. TARGET_HOSTdapat berupa alamat IP lampiran endpoint (dari Langkah 2) atau data DNS kustom yang dibuat di zona DNS pribadi Anda.- Hop gRPC adalah plaintext dan tidak diautentikasi (diamankan oleh isolasi jaringan).
<SemanticCacheLookup async="false" continueOnError="false" enabled="true" name="SCL-1"> <DisplayName>SCL-1</DisplayName> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <UserPromptSource>{jsonPath('$.contents[-1].parts[-1].text',request.content,true)}</UserPromptSource> <Embeddings> <VertexAI> <URL>https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/gemini-embedding-001:predict</URL> </VertexAI> </Embeddings> <SimilaritySearch> <VertexAI> <PrivateServiceConnect> <GrpcEndpoint>grpc://TARGET_HOST:10000</GrpcEndpoint> </PrivateServiceConnect> <DeployedIndexID>DEPLOYED_INDEX_ID</DeployedIndexID> <Threshold>0.95</Threshold> </VertexAI> </SimilaritySearch> </SemanticCacheLookup>
policies/SCP-1.xml—kebijakan SemanticCachePopulate. Populate hanya REST dan harus menggunakan
<URL> (menolak <PrivateServiceConnect> pada waktu deployment):
<SemanticCachePopulate async="false" continueOnError="true" enabled="true" name="SCP-1"> <DisplayName>SCP-1</DisplayName> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <SimilaritySearch> <VertexAI> <URL>https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/indexes/INDEX_ID:upsertDatapoints</URL> </VertexAI> </SimilaritySearch> <TTLInSeconds>3600</TTLInSeconds> </SemanticCachePopulate>
targets/default.xml—target model. Target memanggil Google API, sehingga memerlukan token; <GoogleAccessToken> menggunakan akun layanan deployment:
<TargetEndpoint name="default"> <PreFlow name="PreFlow"><Request/><Response/></PreFlow> <PostFlow name="PostFlow"><Request/><Response/></PostFlow> <HTTPTargetConnection> <Authentication> <GoogleAccessToken> <Scopes> <Scope>https://www.googleapis.com/auth/cloud-platform</Scope> </Scopes> </GoogleAccessToken> </Authentication> <URL>https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/gemini-2.5-flash:generateContent</URL> </HTTPTargetConnection> </TargetEndpoint>
proxies/default.xml—jalankan kebijakan SemanticCacheLookup pada permintaan dan
kebijakan SemanticCachePopulate pada respons:
<ProxyEndpoint name="default"> <PreFlow name="PreFlow"> <Request><Step><Name>SCL-1</Name></Step></Request> <Response><Step><Name>SCP-1</Name></Step></Response> </PreFlow> <PostFlow name="PostFlow"><Request/><Response/></PostFlow> <HTTPProxyConnection> <BasePath>/PROXY_NAME</BasePath> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
PROXY_NAME.xml—deskripsi paket:
<APIProxy name="PROXY_NAME"> <BasePaths>/PROXY_NAME</BasePaths> <Policies><Policy>SCL-1</Policy><Policy>SCP-1</Policy></Policies> <ProxyEndpoints><ProxyEndpoint>default</ProxyEndpoint></ProxyEndpoints> <TargetEndpoints><TargetEndpoint>default</TargetEndpoint></TargetEndpoints> </APIProxy>
Langkah 4: Impor dan deploy proxy API
Zip paket, impor untuk membuat revisi baru, dan deploy revisi dengan akun layanan Anda:
TOKEN=$(gcloud auth print-access-token)(cd BUNDLE_DIR && zip -r ../PROXY_NAME.zip apiproxy)curl -X POST -H "Authorization: Bearer $TOKEN" \ -F "file=@PROXY_NAME.zip" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/apis?action=import&name=PROXY_NAME"curl -X POST -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/ENV/apis/PROXY_NAME/revisions/REVISION/deployments?override=true&serviceAccount=SERVICE_ACCOUNT"
Dengan:
BUNDLE_DIRadalah direktori yang berisi folderapiproxy/. Arsip harus berisi folderapiproxy/di root-nya.ENVadalah lingkungan Apigee tempat Anda men-deploy proxy. Lingkungan harus berupa lingkungan Menengah atau Komprehensif.REVISIONadalah nomor revisi yang ditampilkan oleh panggilan impor.SERVICE_ACCOUNTadalah alamat email akun layanan yang Anda gunakan untuk men-deploy proxy.
Tunggu hingga deployment melaporkan READY:
curl -s -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/ENV/apis/PROXY_NAME/revisions/REVISION/deployments" | jq .state
Langkah 5: Uji kebijakan caching semantik
Kirim perintah baru. Ini adalah cache tidak ditemukan: model dipanggil dan jawabannya di-cache.
curl -X POST "https://$RUNTIME_HOSTNAME/PROXY_NAME" \ -H "Content-Type: application/json" \ -d '{"contents":[{"role":"user","parts":[{"text":"Explain in one sentence why the sky appears blue."}]}]}'
Kirim perintah yang sama lagi. Ini adalah hit cache: respons ditayangkan dari cache dan model tidak dipanggil.
curl -i -X POST "https://$RUNTIME_HOSTNAME/PROXY_NAME" \ -H "Content-Type: application/json" \ -d '{"contents":[{"role":"user","parts":[{"text":"Explain in one sentence why the sky appears blue."}]}]}'
Pada hit, respons mencakup header Cached-content: true, jawaban yang sama, dan
latensi yang jauh lebih rendah.
Anda juga dapat memverifikasi penyimpanan dalam cache dengan sesi proses debug. Jika ada kecocokan, kebijakan SemanticCacheLookup akan menetapkan variabel alur berikut:
| Variabel | Nilai pada hit |
|---|---|
SemanticCacheLookup.SCL-1.dense_embeddings |
Vektor embedding perintah. |
SemanticCacheLookup.SCL-1.is_nearest_neighbor_hit |
true |
SemanticCacheLookup.SCL-1.cache_hit |
true |
SemanticCacheLookup.SCL-1.cached_llm_response |
Jawaban yang di-cache. |
Jika ada hit, target model tidak dipanggil—alur akan diringkas dan menampilkan respons yang di-cache.
Pemecahan masalah
Untuk referensi error lengkap, lihat kebijakan SemanticCacheLookup.
Batasan
Batasan berikut berlaku untuk kebijakan caching semantik:
- Ukuran teks maksimum yang dapat di-cache adalah 256 KB. Untuk mengetahui informasi selengkapnya, lihat Ukuran nilai cache di halaman Batas Apigee.
- Apigee mengabaikan header cache-control apa pun yang diterimanya dari model LLM.
- Jika cache tidak dibatalkan dengan benar atau jika algoritma kemiripan semantik tidak cukup
akurat untuk membedakan antara input dengan makna yang sangat mirip, respons dapat menampilkan informasi yang sudah tidak berlaku atau salah.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi TTL untuk mengelola keaktualan data, lihat bagian Praktik terbaik.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi nilai minimum kemiripan semantik, lihat bagian Mengonfigurasi kebijakan penyimpanan dalam cache semantik.
- Untuk mengetahui informasi selengkapnya tentang penyesuaian algoritma kemiripan semantik, lihat Memfilter kecocokan vektor.
- Fitur Penelusuran Vektor tidak didukung di semua wilayah. Untuk mengetahui daftar region yang didukung, lihat bagian Ketersediaan fitur di halaman Lokasi Vertex AI. Jika organisasi Apigee Anda berada di region yang tidak didukung, Anda harus membuat endpoint indeks di region yang berbeda dengan organisasi Apigee Anda.
- Kebijakan caching semantik tidak didukung untuk digunakan dengan proxy API yang menggunakan EventFlows untuk streaming respons berkelanjutan dari peristiwa yang dikirim server (SSE).
- Kebijakan penyimpanan dalam cache semantik menggunakan LLM API, yang dapat menghasilkan latensi yang lebih tinggi dalam ratusan milidetik.
- Dalam penginstalan Apigee hybrid, dukungan untuk kebijakan caching semantik terbatas pada penginstalan di Google Cloud Platform.
- Jika kebijakan SemanticCacheLookup dikonfigurasi untuk menggunakan endpoint Penelusuran Vektor pribadi melalui Private Service Connect (PSC), panggilan similarity-search akan dikirim melalui koneksi gRPC langsung ke endpoint pribadi dan tidak melalui proxy penerusan yang dikonfigurasi.
Langkah berikutnya
- Pelajari cara membuat kueri indeks Akses Layanan Pribadi atau Private Service Connect di Penelusuran Vektor.
- Pelajari cara mengonfigurasi caching semantik terhadap endpoint publik di Mulai menggunakan kebijakan caching semantik.
- Pelajari cara Mulai menggunakan kebijakan Model Armor.