cache_control:
cache_control. Esto permite reutilizar este texto grande en múltiples llamadas a la API sin reprocesarlo cada vez. Cambiar solo el mensaje del usuario te permite hacer varias preguntas sobre el libro mientras utilizas el contenido almacenado en caché, lo que resulta en respuestas más rápidas y una eficiencia mejorada.
Cómo funciona el almacenamiento en caché de prompts
Cuando envías una solicitud con el almacenamiento en caché de prompts habilitado:- El sistema verifica si un prefijo de prompt, hasta un punto de ruptura de caché especificado, ya está almacenado en caché de una consulta reciente.
- Si se encuentra, utiliza la versión almacenada en caché, reduciendo el tiempo de procesamiento y los costos.
- De lo contrario, procesa el prompt completo y almacena en caché el prefijo una vez que comienza la respuesta.
- Prompts con muchos ejemplos
- Grandes cantidades de contexto o información de antecedentes
- Tareas repetitivas con instrucciones consistentes
- Conversaciones largas de múltiples turnos
tools, system y messages (en ese orden) hasta e incluyendo el bloque designado con cache_control.Precios
El almacenamiento en caché de prompts introduce una nueva estructura de precios. La tabla a continuación muestra el precio por millón de tokens para cada modelo compatible:| Model | Base Input Tokens | 5m Cache Writes | 1h Cache Writes | Cache Hits & Refreshes | Output Tokens |
|---|---|---|---|---|---|
| Claude Opus 4.1 | $15 / MTok | $18.75 / MTok | $30 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Opus 4 | $15 / MTok | $18.75 / MTok | $30 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Sonnet 4.5 | $3 / MTok | $3.75 / MTok | $6 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 4 | $3 / MTok | $3.75 / MTok | $6 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 3.7 (deprecated) | $3 / MTok | $3.75 / MTok | $6 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Haiku 4.5 | $1 / MTok | $1.25 / MTok | $2 / MTok | $0.10 / MTok | $5 / MTok |
| Claude Haiku 3.5 | $0.80 / MTok | $1 / MTok | $1.6 / MTok | $0.08 / MTok | $4 / MTok |
| Claude Opus 3 (deprecated) | $15 / MTok | $18.75 / MTok | $30 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Haiku 3 | $0.25 / MTok | $0.30 / MTok | $0.50 / MTok | $0.03 / MTok | $1.25 / MTok |
- Los tokens de escritura de caché de 5 minutos son 1,25 veces el precio de tokens de entrada base
- Los tokens de escritura de caché de 1 hora son 2 veces el precio de tokens de entrada base
- Los tokens de lectura de caché son 0,1 veces el precio de tokens de entrada base
Cómo implementar el almacenamiento en caché de prompts
Modelos compatibles
El almacenamiento en caché de prompts está actualmente soportado en:- Claude Opus 4.1
- Claude Opus 4
- Claude Sonnet 4.5
- Claude Sonnet 4
- Claude Sonnet 3.7
- Claude Haiku 4.5
- Claude Haiku 3.5
- Claude Haiku 3
- Claude Opus 3 (deprecado)
Estructurando tu prompt
Coloca contenido estático (definiciones de herramientas, instrucciones del sistema, contexto, ejemplos) al principio de tu prompt. Marca el final del contenido reutilizable para almacenamiento en caché usando el parámetrocache_control.
Los prefijos de caché se crean en el siguiente orden: tools, system, luego messages. Este orden forma una jerarquía donde cada nivel se construye sobre los anteriores.
Cómo funciona la verificación automática de prefijos
Puedes usar solo un punto de ruptura de caché al final de tu contenido estático, y el sistema encontrará automáticamente el prefijo coincidente más largo. Así es cómo funciona:- Cuando añades un punto de ruptura
cache_control, el sistema verifica automáticamente si hay coincidencias de caché en todos los límites de bloques de contenido anteriores (hasta aproximadamente 20 bloques antes de tu punto de ruptura explícito) - Si alguna de estas posiciones anteriores coincide con contenido almacenado en caché de solicitudes anteriores, el sistema utiliza el prefijo coincidente más largo
- Esto significa que no necesitas múltiples puntos de ruptura solo para habilitar el almacenamiento en caché - uno al final es suficiente
Cuándo usar múltiples puntos de ruptura
Puedes definir hasta 4 puntos de ruptura de caché si deseas:- Almacenar en caché diferentes secciones que cambian a diferentes frecuencias (por ejemplo, las herramientas rara vez cambian, pero el contexto se actualiza diariamente)
- Tener más control sobre exactamente qué se almacena en caché
- Asegurar el almacenamiento en caché para contenido más de 20 bloques antes de tu punto de ruptura final
Limitaciones de caché
La longitud mínima de prompt almacenable en caché es:- 1024 tokens para Claude Opus 4.1, Claude Opus 4, Claude Sonnet 4.5, Claude Sonnet 4, Claude Sonnet 3.7 (deprecado) y Claude Opus 3 (deprecado)
- 4096 tokens para Claude Haiku 4.5
- 2048 tokens para Claude Haiku 3.5 y Claude Haiku 3
cache_control. Cualquier solicitud para almacenar en caché menos de este número de tokens se procesará sin almacenamiento en caché. Para ver si un prompt fue almacenado en caché, consulta los campos de uso de respuesta.
Para solicitudes concurrentes, ten en cuenta que una entrada de caché solo se vuelve disponible después de que comienza la primera respuesta. Si necesitas coincidencias de caché para solicitudes paralelas, espera la primera respuesta antes de enviar solicitudes posteriores.
Actualmente, “ephemeral” es el único tipo de caché soportado, que por defecto tiene una vida útil de 5 minutos.
Entendiendo los costos de los puntos de ruptura de caché
Los puntos de ruptura de caché en sí no añaden ningún costo. Solo se te cobra por:- Escrituras de caché: Cuando se escribe contenido nuevo en el caché (25% más que tokens de entrada base para TTL de 5 minutos)
- Lecturas de caché: Cuando se utiliza contenido almacenado en caché (10% del precio de token de entrada base)
- Tokens de entrada regulares: Para cualquier contenido no almacenado en caché
cache_control no aumenta tus costos - aún pagas la misma cantidad basada en qué contenido se almacena en caché y se lee realmente. Los puntos de ruptura simplemente te dan control sobre qué secciones se pueden almacenar en caché independientemente.
Qué se puede almacenar en caché
La mayoría de bloques en la solicitud se pueden designar para almacenamiento en caché concache_control. Esto incluye:
- Herramientas: Definiciones de herramientas en el array
tools - Mensajes del sistema: Bloques de contenido en el array
system - Mensajes de texto: Bloques de contenido en el array
messages.content, tanto para turnos de usuario como de asistente - Imágenes y documentos: Bloques de contenido en el array
messages.content, en turnos de usuario - Uso de herramientas y resultados de herramientas: Bloques de contenido en el array
messages.content, tanto en turnos de usuario como de asistente
cache_control para habilitar el almacenamiento en caché para esa porción de la solicitud.
Qué no se puede almacenar en caché
Aunque la mayoría de bloques de solicitud se pueden almacenar en caché, hay algunas excepciones:-
Los bloques de pensamiento no se pueden almacenar en caché directamente con
cache_control. Sin embargo, los bloques de pensamiento PUEDEN almacenarse en caché junto con otro contenido cuando aparecen en turnos de asistente anteriores. Cuando se almacenan en caché de esta manera, SÍ cuentan como tokens de entrada cuando se leen del caché. - Los bloques de subcontenido (como citas) en sí no se pueden almacenar en caché directamente. En su lugar, almacena en caché el bloque de nivel superior. En el caso de citas, los bloques de contenido de documento de nivel superior que sirven como material fuente para citas se pueden almacenar en caché. Esto te permite usar el almacenamiento en caché de prompts con citas de manera efectiva almacenando en caché los documentos que las citas referenciarán.
- Los bloques de texto vacíos no se pueden almacenar en caché.
Qué invalida el caché
Las modificaciones al contenido almacenado en caché pueden invalidar parte o todo el caché. Como se describe en Estructurando tu prompt, el caché sigue la jerarquía:tools → system → messages. Los cambios en cada nivel invalidan ese nivel y todos los niveles posteriores.
La siguiente tabla muestra qué partes del caché se invalidan por diferentes tipos de cambios. ✘ indica que el caché se invalida, mientras que ✓ indica que el caché permanece válido.
| Qué cambia | Caché de herramientas | Caché del sistema | Caché de mensajes | Impacto |
|---|---|---|---|---|
| Definiciones de herramientas | ✘ | ✘ | ✘ | Modificar definiciones de herramientas (nombres, descripciones, parámetros) invalida todo el caché |
| Alternar búsqueda web | ✓ | ✘ | ✘ | Habilitar/deshabilitar búsqueda web modifica el prompt del sistema |
| Alternar citas | ✓ | ✘ | ✘ | Habilitar/deshabilitar citas modifica el prompt del sistema |
| Opción de herramienta | ✓ | ✓ | ✘ | Los cambios al parámetro tool_choice solo afectan bloques de mensajes |
| Imágenes | ✓ | ✓ | ✘ | Añadir/eliminar imágenes en cualquier lugar del prompt afecta bloques de mensajes |
| Parámetros de pensamiento | ✓ | ✓ | ✘ | Los cambios en la configuración de pensamiento extendido (habilitar/deshabilitar, presupuesto) afectan bloques de mensajes |
| Resultados no relacionados con herramientas pasados a solicitudes de pensamiento extendido | ✓ | ✓ | ✘ | Cuando se pasan resultados no relacionados con herramientas en solicitudes mientras el pensamiento extendido está habilitado, todos los bloques de pensamiento previamente almacenados en caché se eliminan del contexto, y cualquier mensaje en contexto que siga a esos bloques de pensamiento se elimina del caché. Para más detalles, consulta Almacenamiento en caché con bloques de pensamiento. |
Rastreando el rendimiento del caché
Monitorea el rendimiento del caché usando estos campos de respuesta de la API, dentro deusage en la respuesta (o evento message_start si transmitiendo):
cache_creation_input_tokens: Número de tokens escritos en el caché al crear una nueva entrada.cache_read_input_tokens: Número de tokens recuperados del caché para esta solicitud.input_tokens: Número de tokens de entrada que no fueron leídos del caché ni utilizados para crear un caché.
Mejores prácticas para almacenamiento en caché efectivo
Para optimizar el rendimiento del almacenamiento en caché de prompts:- Almacena en caché contenido estable y reutilizable como instrucciones del sistema, información de antecedentes, contextos grandes o definiciones de herramientas frecuentes.
- Coloca contenido almacenado en caché al principio del prompt para mejor rendimiento.
- Usa puntos de ruptura de caché estratégicamente para separar diferentes secciones de prefijo almacenable en caché.
- Analiza regularmente las tasas de acierto de caché y ajusta tu estrategia según sea necesario.
Optimizando para diferentes casos de uso
Adapta tu estrategia de almacenamiento en caché de prompts a tu escenario:- Agentes conversacionales: Reduce costo y latencia para conversaciones extendidas, especialmente aquellas con instrucciones largas o documentos cargados.
- Asistentes de codificación: Mejora el autocompletado y preguntas y respuestas de base de código manteniendo secciones relevantes o una versión resumida de la base de código en el prompt.
- Procesamiento de documentos grandes: Incorpora material completo de forma larga incluyendo imágenes en tu prompt sin aumentar la latencia de respuesta.
- Conjuntos de instrucciones detalladas: Comparte listas extensas de instrucciones, procedimientos y ejemplos para ajustar las respuestas de Claude. Los desarrolladores a menudo incluyen uno o dos ejemplos en el prompt, pero con almacenamiento en caché de prompts puedes obtener un rendimiento aún mejor incluyendo 20+ ejemplos diversos de respuestas de alta calidad.
- Uso de herramientas agéntico: Mejora el rendimiento para escenarios que involucran múltiples llamadas de herramientas y cambios de código iterativos, donde cada paso típicamente requiere una nueva llamada a la API.
- Habla con libros, artículos, documentación, transcripciones de podcasts y otro contenido de forma larga: Trae cualquier base de conocimiento a la vida incrustando el documento(s) completo en el prompt, y dejando que los usuarios le hagan preguntas.
Solución de problemas comunes
Si experimentas comportamiento inesperado:- Asegúrate de que las secciones almacenadas en caché sean idénticas y estén marcadas con cache_control en las mismas ubicaciones en todas las llamadas
- Verifica que las llamadas se realicen dentro de la vida útil del caché (5 minutos por defecto)
- Verifica que
tool_choicey el uso de imágenes permanezcan consistentes entre llamadas - Valida que estés almacenando en caché al menos el número mínimo de tokens
- El sistema verifica automáticamente si hay coincidencias de caché en límites de bloques de contenido anteriores (hasta ~20 bloques antes de tu punto de ruptura). Para prompts con más de 20 bloques de contenido, es posible que necesites parámetros
cache_controladicionales anteriormente en el prompt para asegurar que todo el contenido se pueda almacenar en caché - Verifica que las claves en tus bloques de contenido
tool_usetengan ordenamiento estable ya que algunos lenguajes (por ejemplo, Swift, Go) aleatorizan el orden de claves durante la conversión JSON, rompiendo cachés
tool_choice o la presencia/ausencia de imágenes en cualquier lugar del prompt invalidarán el caché, requiriendo que se cree una nueva entrada de caché. Para más detalles sobre invalidación de caché, consulta Qué invalida el caché.Almacenamiento en caché con bloques de pensamiento
Cuando se usa pensamiento extendido con almacenamiento en caché de prompts, los bloques de pensamiento tienen comportamiento especial: Almacenamiento automático en caché junto con otro contenido: Aunque los bloques de pensamiento no se pueden marcar explícitamente concache_control, se almacenan en caché como parte del contenido de la solicitud cuando realizas llamadas a la API posteriores con resultados de herramientas. Esto ocurre comúnmente durante el uso de herramientas cuando pasas bloques de pensamiento de vuelta para continuar la conversación.
Conteo de tokens de entrada: Cuando los bloques de pensamiento se leen del caché, cuentan como tokens de entrada en tus métricas de uso. Esto es importante para el cálculo de costos y presupuesto de tokens.
Patrones de invalidación de caché:
- El caché permanece válido cuando solo se proporcionan resultados de herramientas como mensajes de usuario
- El caché se invalida cuando se añade contenido de usuario no relacionado con resultados de herramientas, causando que todos los bloques de pensamiento anteriores se eliminen
- Este comportamiento de almacenamiento en caché ocurre incluso sin marcadores
cache_controlexplícitos
Almacenamiento y compartición de caché
- Aislamiento de organización: Los cachés se aíslan entre organizaciones. Diferentes organizaciones nunca comparten cachés, incluso si utilizan prompts idénticos.
- Coincidencia exacta: Los aciertos de caché requieren segmentos de prompt 100% idénticos, incluyendo todo el texto e imágenes hasta e incluyendo el bloque marcado con control de caché.
- Generación de tokens de salida: El almacenamiento en caché de prompts no tiene efecto en la generación de tokens de salida. La respuesta que recibas será idéntica a la que obtendrías si el almacenamiento en caché de prompts no se utilizara.
Duración de caché de 1 hora
Si encuentras que 5 minutos es demasiado corto, Anthropic también ofrece una duración de caché de 1 hora con costo adicional. Para usar el caché extendido, incluyettl en la definición de cache_control así:
cache_creation_input_tokens actual es igual a la suma de los valores en el objeto cache_creation.
Cuándo usar el caché de 1 hora
Si tienes prompts que se usan a una cadencia regular (es decir, prompts del sistema que se usan más frecuentemente que cada 5 minutos), continúa usando el caché de 5 minutos, ya que esto continuará siendo actualizado sin costo adicional. El caché de 1 hora se usa mejor en los siguientes escenarios:- Cuando tienes prompts que probablemente se usan menos frecuentemente que cada 5 minutos, pero más frecuentemente que cada hora. Por ejemplo, cuando un agente secundario agéntico tardará más de 5 minutos, o cuando almacenas una conversación de chat larga con un usuario y generalmente esperas que ese usuario no responda en los próximos 5 minutos.
- Cuando la latencia es importante y tus prompts de seguimiento pueden enviarse más allá de 5 minutos.
- Cuando deseas mejorar tu utilización de límite de velocidad, ya que los aciertos de caché no se deducen de tu límite de velocidad.
Mezclando diferentes TTLs
Puedes usar controles de caché de 1 hora y 5 minutos en la misma solicitud, pero con una restricción importante: Las entradas de caché con TTL más largo deben aparecer antes que TTLs más cortos (es decir, una entrada de caché de 1 hora debe aparecer antes que cualquier entrada de caché de 5 minutos). Cuando se mezclan TTLs, determinamos tres ubicaciones de facturación en tu prompt:- Posición
A: El conteo de tokens en el acierto de caché más alto (o 0 si no hay aciertos). - Posición
B: El conteo de tokens en el bloquecache_controlde 1 hora más alto después deA(o es igual aAsi ninguno existe). - Posición
C: El conteo de tokens en el último bloquecache_control.
B y/o C son mayores que A, necesariamente serán fallos de caché, porque A es el acierto de caché más alto.- Tokens de lectura de caché para
A. - Tokens de escritura de caché de 1 hora para
(B - A). - Tokens de escritura de caché de 5 minutos para
(C - B).
Ejemplos de almacenamiento en caché de prompts
Para ayudarte a comenzar con el almacenamiento en caché de prompts, hemos preparado un libro de recetas de almacenamiento en caché de prompts con ejemplos detallados y mejores prácticas. A continuación, hemos incluido varios fragmentos de código que muestran varios patrones de almacenamiento en caché de prompts. Estos ejemplos demuestran cómo implementar el almacenamiento en caché en diferentes escenarios, ayudándote a entender las aplicaciones prácticas de esta característica:Ejemplo de almacenamiento en caché de contexto grande
Ejemplo de almacenamiento en caché de contexto grande
input_tokens: Número de tokens en el mensaje del usuario solamentecache_creation_input_tokens: Número de tokens en el mensaje del sistema completo, incluyendo el documento legalcache_read_input_tokens: 0 (sin acierto de caché en la primera solicitud)
input_tokens: Número de tokens en el mensaje del usuario solamentecache_creation_input_tokens: 0 (sin creación de caché nueva)cache_read_input_tokens: Número de tokens en el mensaje del sistema completo almacenado en caché
Almacenamiento en caché de definiciones de herramientas
Almacenamiento en caché de definiciones de herramientas
cache_control se coloca en la herramienta final (get_time) para designar todas las herramientas como parte del prefijo estático.Esto significa que todas las definiciones de herramientas, incluyendo get_weather y cualquier otra herramienta definida antes de get_time, se almacenarán en caché como un único prefijo.Este enfoque es útil cuando tienes un conjunto consistente de herramientas que deseas reutilizar en múltiples solicitudes sin reprocesarlas cada vez.Para la primera solicitud:input_tokens: Número de tokens en el mensaje del usuariocache_creation_input_tokens: Número de tokens en todas las definiciones de herramientas y prompt del sistemacache_read_input_tokens: 0 (sin acierto de caché en la primera solicitud)
input_tokens: Número de tokens en el mensaje del usuariocache_creation_input_tokens: 0 (sin creación de caché nueva)cache_read_input_tokens: Número de tokens en todas las definiciones de herramientas almacenadas en caché y prompt del sistema
Continuando una conversación de múltiples turnos
Continuando una conversación de múltiples turnos
cache_control para que la conversación se pueda almacenar en caché incrementalmente. El sistema buscará automáticamente y utilizará el prefijo previamente almacenado en caché más largo para mensajes de seguimiento. Es decir, los bloques que fueron marcados previamente con un bloque cache_control no se marcan más tarde con esto, pero aún se considerarán un acierto de caché (¡y también una actualización de caché!) si se alcanzan dentro de 5 minutos.Además, ten en cuenta que el parámetro cache_control se coloca en el mensaje del sistema. Esto es para asegurar que si esto se expulsa del caché (después de no usarse durante más de 5 minutos), se agregará de vuelta al caché en la siguiente solicitud.Este enfoque es útil para mantener contexto en conversaciones en curso sin reprocesar repetidamente la misma información.Cuando esto se configura correctamente, deberías ver lo siguiente en la respuesta de uso de cada solicitud:input_tokens: Número de tokens en el nuevo mensaje del usuario (será mínimo)cache_creation_input_tokens: Número de tokens en los nuevos turnos de asistente y usuariocache_read_input_tokens: Número de tokens en la conversación hasta el turno anterior
Poniéndolo todo junto: Múltiples puntos de ruptura de caché
Poniéndolo todo junto: Múltiples puntos de ruptura de caché
-
Caché de herramientas (punto de ruptura de caché 1): El parámetro
cache_controlen la última definición de herramienta almacena en caché todas las definiciones de herramientas. - Caché de instrucciones reutilizables (punto de ruptura de caché 2): Las instrucciones estáticas en el prompt del sistema se almacenan en caché por separado. Estas instrucciones rara vez cambian entre solicitudes.
- Caché de contexto RAG (punto de ruptura de caché 3): Los documentos de la base de conocimiento se almacenan en caché independientemente, permitiéndote actualizar los documentos RAG sin invalidar el caché de herramientas o instrucciones.
-
Caché del historial de conversación (punto de ruptura de caché 4): La respuesta del asistente se marca con
cache_controlpara habilitar el almacenamiento en caché incremental de la conversación a medida que progresa.
- Si solo actualizas el mensaje del usuario final, se reutilizan los cuatro segmentos de caché
- Si actualizas los documentos RAG pero mantienes las mismas herramientas e instrucciones, se reutilizan los primeros dos segmentos de caché
- Si cambias la conversación pero mantienes las mismas herramientas, instrucciones y documentos, se reutilizan los primeros tres segmentos
- Cada punto de ruptura de caché se puede invalidar independientemente basado en qué cambia en tu aplicación
input_tokens: Tokens en el mensaje del usuario finalcache_creation_input_tokens: Tokens en todos los segmentos almacenados en caché (herramientas + instrucciones + documentos RAG + historial de conversación)cache_read_input_tokens: 0 (sin aciertos de caché)
input_tokens: Tokens en el nuevo mensaje del usuario solamentecache_creation_input_tokens: Cualquier token nuevo añadido al historial de conversacióncache_read_input_tokens: Todos los tokens previamente almacenados en caché (herramientas + instrucciones + documentos RAG + conversación anterior)
- Aplicaciones RAG con contextos de documentos grandes
- Sistemas de agentes que usan múltiples herramientas
- Conversaciones de larga duración que necesitan mantener contexto
- Aplicaciones que necesitan optimizar diferentes partes del prompt independientemente
Preguntas frecuentes
¿Necesito múltiples puntos de ruptura de caché o es suficiente uno al final?
¿Necesito múltiples puntos de ruptura de caché o es suficiente uno al final?
- Tienes más de 20 bloques de contenido antes de tu punto de caché deseado
- Deseas almacenar en caché secciones que se actualizan a diferentes frecuencias independientemente
- Necesitas control explícito sobre qué se almacena en caché para optimización de costos
¿Los puntos de ruptura de caché añaden costo extra?
¿Los puntos de ruptura de caché añaden costo extra?
- Escribir contenido en el caché (25% más que tokens de entrada base para TTL de 5 minutos)
- Leer del caché (10% del precio de token de entrada base)
- Tokens de entrada regulares para contenido no almacenado en caché
¿Cuál es la vida útil del caché?
¿Cuál es la vida útil del caché?
¿Cuántos puntos de ruptura de caché puedo usar?
¿Cuántos puntos de ruptura de caché puedo usar?
cache_control) en tu prompt.¿El almacenamiento en caché de prompts está disponible para todos los modelos?
¿El almacenamiento en caché de prompts está disponible para todos los modelos?
¿Cómo funciona el almacenamiento en caché de prompts con pensamiento extendido?
¿Cómo funciona el almacenamiento en caché de prompts con pensamiento extendido?
¿Cómo habilito el almacenamiento en caché de prompts?
¿Cómo habilito el almacenamiento en caché de prompts?
cache_control en tu solicitud de API.¿Puedo usar el almacenamiento en caché de prompts con otras características de la API?
¿Puedo usar el almacenamiento en caché de prompts con otras características de la API?
¿Cómo afecta el almacenamiento en caché de prompts a los precios?
¿Cómo afecta el almacenamiento en caché de prompts a los precios?
¿Puedo limpiar manualmente el caché?
¿Puedo limpiar manualmente el caché?
¿Cómo puedo rastrear la efectividad de mi estrategia de almacenamiento en caché?
¿Cómo puedo rastrear la efectividad de mi estrategia de almacenamiento en caché?
cache_creation_input_tokens y cache_read_input_tokens en la respuesta de la API.¿Qué puede romper el caché?
¿Qué puede romper el caché?
¿Cómo maneja el almacenamiento en caché de prompts la privacidad y separación de datos?
¿Cómo maneja el almacenamiento en caché de prompts la privacidad y separación de datos?
- Las claves de caché se generan usando un hash criptográfico de los prompts hasta el punto de control de caché. Esto significa que solo las solicitudes con prompts idénticos pueden acceder a un caché específico.
- Los cachés son específicos de la organización. Los usuarios dentro de la misma organización pueden acceder al mismo caché si usan prompts idénticos, pero los cachés no se comparten entre diferentes organizaciones, incluso para prompts idénticos.
- El mecanismo de almacenamiento en caché está diseñado para mantener la integridad y privacidad de cada conversación o contexto único.
-
Es seguro usar
cache_controlen cualquier lugar de tus prompts. Para eficiencia de costos, es mejor excluir partes altamente variables (por ejemplo, entrada arbitraria del usuario) del almacenamiento en caché.
¿Puedo usar el almacenamiento en caché de prompts con la API de Batches?
¿Puedo usar el almacenamiento en caché de prompts con la API de Batches?
- Reúne un conjunto de solicitudes de mensajes que tienen un prefijo compartido.
- Envía una solicitud de lote con solo una solicitud que tenga este prefijo compartido y un bloque de caché de 1 hora. Esto se escribirá en el caché de 1 hora.
- Tan pronto como esto se complete, envía el resto de las solicitudes. Tendrás que monitorear el trabajo para saber cuándo se completa.
¿Por qué estoy viendo el error `AttributeError: 'Beta' object has no attribute 'prompt_caching'` en Python?
¿Por qué estoy viendo el error `AttributeError: 'Beta' object has no attribute 'prompt_caching'` en Python?
¿Por qué estoy viendo 'TypeError: Cannot read properties of undefined (reading 'messages')'?
¿Por qué estoy viendo 'TypeError: Cannot read properties of undefined (reading 'messages')'?