Conoce GPTCache una biblioteca para desarrollar una caché semántica de consultas LLM.

GPTCache es una biblioteca para desarrollar una caché semántica de consultas LLM.

ChatGPT y los modelos de lenguaje grandes (LLMs) son extremadamente flexibles, lo que permite la creación de numerosos programas. Sin embargo, los costos asociados con las llamadas a la API de LLM pueden volverse significativos cuando la aplicación gana popularidad y experimenta un aumento en el tráfico. Al procesar muchas consultas, los servicios de LLM también pueden tener largos tiempos de espera.

Para enfrentar esta dificultad de frente, los investigadores han desarrollado GPTCache, un proyecto destinado a crear una caché semántica para almacenar respuestas de LLM. Un programa de código abierto de GPTCache puede acelerar los LLMs almacenando en caché sus respuestas de salida. Cuando la respuesta ha sido solicitada anteriormente y ya está almacenada en una caché, esto puede reducir drásticamente el tiempo necesario para obtenerla.

GPTCache es flexible y simple, lo que lo hace ideal para cualquier aplicación. Es compatible con muchas máquinas de aprendizaje de idiomas (LLMs), como ChatGPT de OpenAI.

¿Cómo funciona?

Para funcionar, GPTCache almacena en caché las respuestas finales del LLM. La caché es un búfer de memoria utilizado para recuperar información utilizada recientemente de manera rápida. GPTCache busca inicialmente en la caché para determinar si la respuesta solicitada ya está almacenada allí cada vez que se realiza una nueva solicitud al LLM. Si la respuesta se encuentra en la caché, se devolverá inmediatamente. Si no está allí, el LLM generará la respuesta y la agregará a la caché.

La arquitectura modular de GPTCache permite implementar soluciones de caché semántica personalizadas. Los usuarios pueden adaptar su experiencia con cada módulo seleccionando diferentes configuraciones.

El Adaptador de LLM unifica las API y los protocolos de solicitud utilizados por varios modelos de LLM estandarizándolos en la API de OpenAI. Dado que el Adaptador de LLM puede cambiar entre modelos de LLM sin necesidad de reescribir el código o familiarizarse con una nueva API, simplifica las pruebas y experimentaciones.

El Generador de Embebidos crea embebidos utilizando el modelo solicitado para realizar una búsqueda de similitud. La API de embebido de OpenAI se puede utilizar con los modelos admitidos. Esto incluye ONNX utilizando el modelo GPTCache/paraphrase-albert-onnx, la API de embebido de Hugging Face, la API de embebido de Cohere, la API de embebido de fastText y la API de embebido de SentenceTransformers.

En el Almacenamiento en Caché, las respuestas de los LLM, como ChatGPT, se mantienen hasta que se puedan recuperar. Al determinar si dos entidades son semánticamente similares, se recuperan las respuestas almacenadas en caché y se envían de vuelta a la parte solicitante. GPTCache es compatible con muchos sistemas de gestión de bases de datos diferentes. Los usuarios pueden elegir la base de datos que mejor se adapte a sus requisitos en términos de rendimiento, escalabilidad y costo de las bases de datos más comúnmente admitidas.

Opciones para el Almacenamiento de Vectores: GPTCache incluye un módulo de Almacenamiento de Vectores, que utiliza embebidos derivados de la solicitud original para identificar las K solicitudes más similares. Esta función se puede utilizar para determinar qué tan similares son dos solicitudes. Además, GPTCache admite múltiples almacenes de vectores, como Milvus, Zilliz Cloud y FAISS, y presenta una interfaz sencilla para trabajar con ellos. Se ofrecen a los usuarios varias opciones de almacén de vectores, cualquiera de las cuales puede afectar el rendimiento de la búsqueda de similitud de GPTCache. Con su soporte para varios almacenes de vectores, GPTCache promete ser adaptable y satisfacer las necesidades de una variedad más amplia de casos de uso.

El Administrador de Caché de GPTCache gestiona las políticas de eliminación para los componentes de Almacenamiento en Caché y Almacenamiento de Vectores. Para crear espacio para nuevos datos, una política de reemplazo decide qué datos antiguos deben eliminarse de la caché cuando se llena.

La información para el Evaluador de Similitud proviene tanto de las secciones de Almacenamiento en Caché como de Almacenamiento de Vectores de GPTCache. Compara la solicitud de entrada con las solicitudes en el Almacenamiento de Vectores utilizando varios enfoques diferentes. Si una solicitud se sirve desde la caché o no depende del grado de similitud. GPTCache ofrece una interfaz unificada para métodos similares y una biblioteca de implementaciones disponibles. La capacidad de GPTCache para determinar coincidencias en la caché utilizando una variedad de algoritmos de similitud le permite adaptarse a una amplia gama de casos de uso y requisitos del usuario.

Características y beneficios

  • Mayor capacidad de respuesta y velocidad gracias a una disminución en la latencia de las consultas de LLM posible gracias a GPTCache.
  • Ahorro de costos: gracias a la estructura de precios basada en tokens y solicitudes común en muchos servicios de LLM. GPTCache puede reducir el costo del servicio limitando la cantidad de veces que se debe llamar a la API.
  • Aumento de la escalabilidad gracias a la capacidad de GPTCache para aliviar el trabajo del servicio de LLM. A medida que aumenta el número de solicitudes que recibe, esto puede ayudarlo a seguir operando con máxima eficiencia.
  • Los costos asociados con la creación de una aplicación de LLM se pueden mantener al mínimo con la ayuda de GPTCache. Almacenar en caché los datos generados por o simulados en LLM le permite probar su aplicación sin realizar solicitudes a la API del servicio de LLM.

GPTCache se puede utilizar junto con su aplicación elegida, LLM (ChatGPT), almacenamiento de caché (SQLite, PostgreSQL, MySQL, MariaDB, SQL Server u Oracle) y almacenamiento de vectores (FAISS, Milvus, Ziliz Cloud). El objetivo del proyecto GPTCache es aprovechar al máximo los modelos de lenguaje en aplicaciones basadas en GPT mediante la reutilización de respuestas generadas previamente siempre que sea posible, en lugar de comenzar desde cero cada vez.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Protegiendo el futuro de nuestros practicantes cultivando la próxima generación en medio del avance corporativo de la IA

Durante mi enseñanza en el Master en Gestión de la Asia Pacific ESSEC en el vibrante campus de Singapur, nos adentram...

Inteligencia Artificial

Investigadores de UCL y Google proponen AudioSlots un modelo generativo centrado en slots para la separación de fuentes ciegas en el dominio de audio.

El uso de redes neuronales en arquitecturas que operan en datos estructurados en conjuntos y aprenden a mapear desde ...

Inteligencia Artificial

Microsoft presenta Azure Custom Chips Revolucionando la computación en la nube y las capacidades de IA

En medio de persistentes rumores de la industria, la tan esperada revelación de Microsoft salió a la luz durante la c...

Ciencias de la Computación

Más personas están quedando ciegas. La IA puede ayudar a combatirlo.

La detección temprana es crucial para tratar enfermedades oculares. Los análisis de escaneo ocular mejorados por AI p...

Inteligencia Artificial

Los agentes de IA personalizados ya están aquí. ¿Está el mundo listo para ellos?

La era de los asistentes de inteligencia artificial autónoma podría tener enormes implicaciones.

Ciencias de la Computación

Singapur planea una red nacional para protegerse contra futuras amenazas cuánticas.

Las empresas de telecomunicaciones en Singapur planean renovar las redes de fibra existentes para protegerse a sí mis...