Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
En esta página, se describe cómo configurar y usar las políticas de almacenamiento en caché semántico de Apigee para habilitar la reutilización inteligente de respuestas basada en la similitud semántica. En este ejemplo, las políticas ejecutan su búsqueda de similitud en un índice de Vector Search que se implementa en un extremo privado (Private Service Connect). Con estas políticas en tu proxy de API de Apigee, se minimizan las llamadas redundantes a través de la API al backend, se reduce la latencia y se disminuyen los costos operativos.
Esta guía se aplica a Apigee y Apigee Hybrid. La configuración de la política es idéntica en ambas plataformas; solo difiere la forma en que el entorno de ejecución llega al extremo privado, como se describe en el Paso 2: Conéctate al adjunto de servicio. En Apigee Hybrid, el almacenamiento en caché semántico en un extremo privado (Private Service Connect) es compatible con la versión 1.16.11 y posteriores, y con la versión 1.17.0 y posteriores. Para obtener más información, consulta Configura Apigee Hybrid.
Antes de comenzar
Antes de comenzar, completa las siguientes tareas:
-
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, if any are not already enabled.
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.- Habilita y configura la API de embeddings de texto de Vertex AI en tu proyecto de Google Cloud .
- Crea un índice de Vector Search (o ten acceso a él) implementado en un extremo privado (Private Service Connect). En este instructivo, no se duplican los pasos de configuración de Vector Search. Consulta Requisitos previos del índice de Vector Search para conocer los requisitos específicos de SemanticCacheLookup y los vínculos a la documentación de Vector Search.
- Confirma que tienes un entorno intermedio o integral disponible en tu instancia de Apigee. Las políticas de almacenamiento en caché semántico solo se pueden implementar en entornos intermedios o integrales.
- Confirma que tienes un grupo de entornos con un nombre de host del entorno de ejecución que puedes usar para enviar solicitudes a tu proxy de API.
Roles obligatorios
Para obtener los permisos que
necesitas para crear y usar las políticas de almacenamiento en caché semántico,
pídele a tu administrador que te otorgue el
rol de IAM de usuario de plataforma de IA (roles/aiplatform.user) en la cuenta de servicio que usas para implementar proxies de Apigee.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Configura las variables de entorno
En el proyecto de Google Cloud que contiene tu instancia de Apigee, usa el siguiente comando para establecer variables de entorno:
export PROJECT_ID=PROJECT_IDexport REGION=REGIONexport RUNTIME_HOSTNAME=RUNTIME_HOSTNAME
Aquí:
PROJECT_IDes el ID del proyecto con tu instancia de Apigee.REGIONes la región de Google Cloud tu instancia de Apigee.RUNTIME_HOSTNAMEes el nombre de host de tu entorno de ejecución de Apigee.
Para confirmar que las variables de entorno estén configuradas correctamente, ejecuta el siguiente comando y revisa el resultado:
echo $PROJECT_ID $REGION $RUNTIME_HOSTNAME
Configura el proyecto
Configura el proyecto de Google Cloud en tu entorno de desarrollo:
gcloud auth logingcloud config set project $PROJECT_ID
Requisitos previos del índice de Vector Search
En este instructivo, se supone que ya tienes (o crearás) un índice de Vector Search implementado en un extremo privado (Private Service Connect). La creación, el formato y la implementación de un índice de Vector Search se documentan en las guías de Vector Search, por lo que este instructivo no duplica esos pasos. Sigue la documentación de Vector Search para hacer lo siguiente:
- Crea y administra un índice.
- Aplica formato y estructura a tus datos de entrada.
- Crea un extremo de índice de Private Service Connect e implementa tu índice en él.
Cuando crees el índice, este debe cumplir con los siguientes requisitos específicos de SemanticCacheLookup:
- El índice debe usar
STREAM_UPDATE("indexUpdateMethod": "STREAM_UPDATE") para que las llamadasupsertDatapointsde la política SemanticCachePopulate se puedan consultar casi en tiempo real. - El índice
dimensionsdebe coincidir con la dimensionalidad de salida del modelo de embeddings que usas en la política SemanticCacheLookup. En este instructivo, se usagemini-embedding-001, que produce incorporaciones de 3,072 dimensiones de forma predeterminada. Si truncas el resultado a una dimensionalidad más baja (por ejemplo, 768 o 1536), establecedimensionsen el mismo valor. - Crea el índice con la medida de distancia (
distanceMeasureType) que coincida con el<DistanceMeasureType>de tu política. El elemento<SimilaritySearch><VertexAI><DistanceMeasureType>de la política SemanticCacheLookup es opcional y el valor predeterminado esDOT_PRODUCT_DISTANCE. También se admiteCOSINE_DISTANCE. La medida de distancia del índice y la política<DistanceMeasureType>deben ser las mismas.
En el siguiente ejemplo mínimo, se crea un índice compatible. Para ver el cuerpo completo de la solicitud y todas las opciones disponibles, consulta Crea y administra un índice:
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" }'
Toma nota del INDEX_ID numérico que se muestra en la respuesta, ya que lo usarás en la
política SemanticCachePopulate. Después de crear el índice, crea un extremo de índice de Private Service Connect y,
luego, implementa el índice en él.
Cuando crees el extremo de índice de Private Service Connect, este debe cumplir con los siguientes requisitos específicos de SemanticCacheLookup:
- El
projectAllowlistdebe incluir el proyecto de Apigee que inicia la conexión:- Apigee: Usa el proyecto de usuario de Apigee. Obtén el ID del proyecto de usuario desde
la API de Organizations
(campo
apigeeProjectId).
projectAllowlistno se puede modificar después de que se crea el extremo de índice. Si incluyes el proyecto incorrecto en la lista de entidades permitidas, debes borrar y volver a crear el extremo de índice. - Apigee: Usa el proyecto de usuario de Apigee. Obtén el ID del proyecto de usuario desde
la API de Organizations
(campo
Toma nota del INDEX_ENDPOINT_ID numérico del extremo del índice.
Configura la cuenta de servicio para el proxy de Apigee
El proxy de Apigee usa una cuenta de servicio para sus llamadas de REST de Vertex AI: la API de Embeddings
en la política SemanticCacheLookup, upsertDatapoints en la política SemanticCachePopulate y el destino
del modelo. Otorga a esa cuenta de servicio el rol AI Platform User
(roles/aiplatform.user):
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="roles/aiplatform.user"
Donde SERVICE_ACCOUNT es la dirección de correo electrónico de la cuenta de servicio que usa el
proxy. Debes hacer referencia a esta cuenta de servicio cuando implementes el proxy en el
Paso 4: Importa e implementa el proxy de API.
Requisitos adicionales para las implementaciones de Apigee Hybrid
Para las implementaciones de Apigee Hybrid, confirma los siguientes requisitos adicionales:
- Un entorno de ejecución de Hybrid en la versión 1.16.11 o posterior, o 1.17.0 o posterior, instalado en tu propio clúster de Kubernetes. Consulta la documentación de instalación de Apigee Hybrid. Esta función no agrega requisitos de clúster propios; cualquier clúster híbrido compatible funciona.
- Un entorno intermedio o integral y un grupo de entornos con un nombre de host de entorno de ejecución, el mismo que en Apigee. Las políticas de almacenamiento en caché semántico solo se implementan en entornos intermedios o integrales.
- Accesibilidad de la red desde el entorno de ejecución hasta el extremo privado. El Message Processor
debe poder abrir una conexión de gRPC de texto simple al extremo de Private Service Connect
de Vector Search en
TARGET_HOST:10000. - Salida para las llamadas de REST. Las llamadas de Embeddings, Populate y model-target van a la
plataforma pública de
REGION-aiplatform.googleapis.com, por lo que el entorno de ejecución también necesita una ruta de acceso a las APIs de Google, ya sea de forma directa o a través de una ruta de acceso privada si tu clúster no tiene salida pública.
Configura en Apigee Hybrid
El almacenamiento en caché semántico en un extremo privado (Private Service Connect) es compatible con Apigee Hybrid versión 1.16.11 y posteriores, y versión 1.17.0 y posteriores. La configuración de la política y los pasos de Vector Search de este instructivo son idénticos a los de Apigee. La diferencia es que, en la versión híbrida, ejecutas el entorno de ejecución y proporcionas su conectividad por tu cuenta. Debido a que las implementaciones híbridas varían ampliamente, esta sección es una guía general, más que comandos exactos. El único requisito que agrega esta función es que el entorno de ejecución debe poder alcanzar el extremo privado a través de gRPC de texto simple.
Proporciona accesibilidad de red
En las implementaciones híbridas, debes administrar la conectividad de forma manual porque no hay un adjunto de extremo administrado por Apigee. Crea un extremo de Private Service Connect en tu VPC de consumidor que apunte al SERVICE_ATTACHMENT de Vector Search y usa su dirección IP interna como el TARGET_HOST en el proxy. Consulta el Paso 2: Conéctate al adjunto de servicio para obtener más información. El enrutamiento específico (p.ej., VPC compartida o GKE nativo de VPC) depende de la configuración de tu clúster.
Si tu clúster no tiene salida de Internet pública, asegúrate de que el entorno de ejecución tenga una ruta de acceso privada a las APIs de Google, como el Acceso privado a Google, para controlar la comunicación de REST.
Después de establecer la conectividad con grpc://TARGET_HOST:10000, sigue los pasos posteriores (crear e implementar el índice, compilar el proxy y realizar pruebas), que son idénticos para Apigee y Apigee Hybrid.
Descripción general
Las políticas de almacenamiento en caché semántico ayudan a los usuarios de Apigee con modelos de LLM a entregar de forma inteligente instrucciones idénticas o semánticamente similares de manera eficiente, lo que minimiza las llamadas a la API de backend y reduce el consumo de recursos.
Las políticas SemanticCacheLookup y SemanticCachePopulate se adjuntan a los flujos de solicitud y respuesta, respectivamente, de un proxy de API de Apigee. Cuando el proxy recibe una solicitud, la política SemanticCacheLookup extrae la instrucción del usuario de la solicitud y la convierte en una representación numérica con la API de embeddings de texto. Se realiza una búsqueda de similitud semántica con Vector Search para encontrar instrucciones similares. Si se encuentra un dato de instrucción similar, se realiza una búsqueda en la caché. Si se encuentran datos almacenados en caché, la respuesta almacenada en caché se devuelve al cliente.
Si la búsqueda de similitud no devuelve una instrucción anterior similar, el modelo de LLM genera contenido en respuesta a la instrucción del usuario y propaga la caché de Apigee con la respuesta. Se crea un ciclo de reacción para actualizar las entradas del índice de Vector Search en preparación para solicitudes futuras.
En esta situación, el índice de Vector Search se implementa en un extremo privado (Private Service Connect) a través de gRPC. Consulta más detalles sobre la compatibilidad de Private Service Connect con Vector Search en Consulta índices de acceso privado a servicios o de Private Service Connect.
En las siguientes secciones, se describen los pasos para crear y configurar las políticas de almacenamiento en caché semántico:
- Verifica tus recursos y obtén los valores que necesita Apigee.
- Conectarse al adjunto de servicio
- Compila el paquete de proxy de API.
- Importar e implementar el proxy de API
- Probar las políticas de almacenamiento en caché semántico
Paso 1: Verifica tus recursos y obtén los valores que necesita Apigee
Antes de configurar Apigee, confirma que el extremo del índice de Vector Search tenga habilitado
Private Service Connect y que el índice esté implementado. Luego, lee los dos valores que consume el proxy de Apigee: el adjunto de servicio y el DEPLOYED_INDEX_ID.
Confirma que el índice esté implementado y que el extremo exponga un adjunto de servicio de Private Service Connect:
gcloud ai index-endpoints describe INDEX_ENDPOINT_ID \ --project=$PROJECT_ID --region=$REGION \ --format="value(deployedIndexes.privateEndpoints.serviceAttachment)"
El comando devuelve un nombre de recurso de adjunto de servicio con el formato
projects/TENANT_PROJECT/regions/REGION/serviceAttachments/SERVICE_ATTACHMENT_NAME.
En esta guía, se hace referencia a ese valor como SERVICE_ATTACHMENT. Si el comando devuelve
un valor vacío, el índice aún no se implementó en un extremo de Private Service Connect. Regresa a
Requisitos previos del índice de Vector Search y termina
de implementar el índice antes de continuar.
Lee el DEPLOYED_INDEX_ID del índice implementado en el extremo:
gcloud ai index-endpoints describe INDEX_ENDPOINT_ID \ --project=$PROJECT_ID --region=$REGION \ --format="value(deployedIndexes.id)"
En esta guía, se hace referencia a ese valor como DEPLOYED_INDEX_ID. La usarás en la
política SemanticCacheLookup en el Paso 3: Compila el paquete de proxy de API.
Para obtener más información sobre la implementación y la consulta de extremos de índices privados, consulta Implementa un índice en un extremo de Private Service Connect y Consulta índices de acceso privado a servicios o de Private Service Connect.
Paso 2: Conéctate al adjunto de servicio
En este paso, se obtiene el host privado al que llama el <GrpcEndpoint> del proxy.
La forma de crearlo depende de tu plataforma. La configuración del proxy en los pasos posteriores es idéntica en ambos casos.
Apigee: Crea un adjunto de extremo
En Apigee, crea un adjunto de extremo de Apigee. El adjunto de extremo es el lado del consumidor de Private Service Connect de Apigee. Se conecta al adjunto de servicio de Vector Search y te proporciona un host privado al que llama el 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"
Sondea hasta que el state del adjunto sea ACTIVE y su
connectionState sea ACCEPTED. Luego, toma nota del host:
curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/endpointAttachments/ENDPOINT_ATTACHMENT"
La respuesta contiene el host en el campo host. En esta guía, se hace referencia a ese valor como
TARGET_HOST.
Para conectarte al adjunto de servicio de Vector Search desde tu proxy, puedes usar una de las siguientes opciones:
- La dirección IP: Usa la dirección IP que se muestra en el campo
hostdirectamente comoTARGET_HOST(por ejemplo,7.0.3.4). - Un registro DNS privado: Si configuraste una zona privada de Cloud DNS en tu proyecto de Google Cloud con intercambio de tráfico de DNS a Apigee, puedes crear un registro A en tu zona privada que apunte a la dirección IP del adjunto de extremo y usar ese nombre de dominio (como
vectorsearch.example.com) comoTARGET_HOST. Para obtener más información, consulta Usa un registro DNS y Conéctate con zonas de intercambio de tráfico de DNS privadas.
Extremo de Private Service Connect para Apigee Hybrid
En Apigee, Google proporciona un recurso de "adjunto de extremo" que controla la
conexión de Private Service Connect. Sin embargo, en Apigee Hybrid, tú administras el entorno de ejecución
y el entorno de red. Sin importar dónde se ejecute tu clúster, debe poder acceder al
extremo de Private Service Connect de Vector Search a través de una conexión de gRPC de texto sin formato a
host:10000.
Para Apigee Hybrid, crea un extremo de Private Service Connect en una
Google Cloud VPC del consumidor que apunte al SERVICE_ATTACHMENT
de Vector Search. Usa la dirección IP interna del extremo como el
TARGET_HOST en la configuración del proxy. Asegúrate de que el proyecto de Google Cloud
que aloja este extremo se incluya en elprojectAllowlist
del extremo del índice de Vector Search. Consulta
Requisitos previos del índice de Vector Search para obtener más detalles.
Paso 3: Compila el paquete de proxy de API
Crea el paquete de proxy
Crea el siguiente diseño de directorio:
apiproxy/ ├── PROXY_NAME.xml ├── proxies/default.xml ├── targets/default.xml └── policies/ ├── SCL-1.xml └── SCP-1.xml
policies/SCL-1.xml: Es la política SemanticCacheLookup. El bloque <SimilaritySearch> usa <PrivateServiceConnect><GrpcEndpoint> (no <URL>).
Nota: Reglas de <GrpcEndpoint>:
- El formato es
grpc://TARGET_HOST:PORT; el esquema debe sergrpc://.grpcs://(TLS) no es compatible con esta versión. - El puerto es
10000para Vector Search. Los extremos del plano de datos de Private Service Connect entregan gRPC en el puerto 10000, por lo que el extremo siempre esgrpc://TARGET_HOST:10000. TARGET_HOSTpuede ser la dirección IP del adjunto de extremo (del paso 2) o un registro DNS personalizado creado en tu zona de DNS privada.- El salto de gRPC es de texto sin formato y no está autenticado (protegido por el aislamiento de red).
<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: Es la política SemanticCachePopulate. La propagación solo se realiza con REST y debe usar
<URL> (rechaza <PrivateServiceConnect> en el momento de la implementación):
<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: Es el objetivo del modelo. El destino llama a una API de Google, por lo que
necesita un token; <GoogleAccessToken> usa la cuenta de servicio de la implementación:
<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: Ejecuta la política SemanticCacheLookup en la solicitud y la
política SemanticCachePopulate en la respuesta:
<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: el descriptor del paquete:
<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>
Paso 4: Importa e implementa el proxy de API
Comprime el paquete, impórtalo para crear una revisión nueva y, luego, impleméntala con tu cuenta de servicio:
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"
Aquí:
BUNDLE_DIRes el directorio que contiene la carpetaapiproxy/. El archivo debe contener la carpetaapiproxy/en su raíz.ENVes el entorno de Apigee en el que implementas el proxy. El entorno debe ser intermedio o integral.REVISIONes el número de revisión que devuelve la llamada de importación.SERVICE_ACCOUNTes la dirección de correo electrónico de la cuenta de servicio que usas para implementar el proxy.
Espera hasta que la implementación informe 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
Paso 5: Prueba las políticas de almacenamiento en caché semántico
Envía una instrucción nueva. Esto es un error de caché: se llama al modelo y se almacena en caché la respuesta.
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."}]}]}'
Vuelve a enviar la misma instrucción. Este es un acierto de caché: la respuesta se entrega desde la caché y no se llama al modelo.
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."}]}]}'
En el acierto, la respuesta incluye el encabezado Cached-content: true, la misma respuesta y una
latencia notablemente más baja.
También puedes verificar el almacenamiento en caché con una sesión de depuración. En caso de acierto, la política SemanticCacheLookup establece las siguientes variables de flujo:
| Variable | Valor en un hit |
|---|---|
SemanticCacheLookup.SCL-1.dense_embeddings |
Es el vector de embedding de la instrucción. |
SemanticCacheLookup.SCL-1.is_nearest_neighbor_hit |
true |
SemanticCacheLookup.SCL-1.cache_hit |
true |
SemanticCacheLookup.SCL-1.cached_llm_response |
La respuesta almacenada en caché. |
En un acierto, no se invoca el destino del modelo: el flujo se interrumpe y devuelve la respuesta almacenada en caché.
Soluciona problemas
Para obtener la referencia de error completa, consulta la política SemanticCacheLookup.
Limitaciones
Se aplican las siguientes limitaciones a las políticas de almacenamiento en caché semántico:
- El tamaño máximo de texto almacenable en caché es de 256 KB. Para obtener más información, consulta el tamaño del valor de la caché en la página Límites de Apigee.
- Apigee ignora los encabezados de control de caché que recibe del modelo de LLM.
- Si la caché no se invalida correctamente o si el algoritmo de similitud semántica no es lo suficientemente
preciso para diferenciar entre entradas con significados muy similares, la respuesta puede devolver información desactualizada o incorrecta.
- Para obtener más información sobre cómo configurar el TTL para administrar la actualidad de los datos, consulta la sección Prácticas recomendadas.
- Para obtener más información sobre cómo configurar el umbral de similitud semántica, consulta la sección Configura las políticas de almacenamiento en caché semántico.
- Para obtener más información sobre cómo ajustar el algoritmo de similitud semántica, consulta Filtra coincidencias de vectores.
- La función de Vector Search no se admite en todas las regiones. Para obtener una lista de las regiones compatibles, consulta la sección Disponibilidad de funciones de la página Ubicaciones de Vertex AI. Si tu organización de Apigee está en una región no admitida, deberás crear extremos de índice en una región diferente a la de tu organización de Apigee.
- Las políticas de almacenamiento en caché semántico no se admiten para su uso con proxies de API que usan EventFlows para la transmisión continua de respuestas de eventos enviados por el servidor (SSE).
- Las políticas de almacenamiento en caché semántico usan APIs de LLM, lo que puede generar latencias más altas en cientos de milisegundos.
- En las instalaciones de Apigee Hybrid, la compatibilidad con las políticas de almacenamiento en caché semántico se limita a las instalaciones en Google Cloud Platform.
- Cuando la política SemanticCacheLookup se configura para usar un extremo privado de Vector Search a través de Private Service Connect (PSC), la llamada de búsqueda de similitud se envía a través de una conexión gRPC directa al extremo privado y no pasa por un proxy de reenvío configurado.
¿Qué sigue?
- Obtén información para consultar índices de acceso privado a servicios o Private Service Connect en Vector Search.
- Obtén información para configurar el almacenamiento en caché semántico en un extremo público en Comienza a usar las políticas de almacenamiento en caché semántico.
- Obtén información para comenzar a usar las políticas de Model Armor.