GPTCache, LangChain, Alianza sólida
Introducción a GPTCache
ChatGPT y otros modelos de lenguaje grandes (LLMs) tienen una versatilidad increíble que puede usarse para una amplia gama de desarrollo de aplicaciones. Sin embargo, a medida que aumenta la popularidad de las aplicaciones desarrolladas con LLMs y crecen los niveles de tráfico, el costo asociado con las llamadas a la API de LLM puede volverse prohibitivamente caro. Además, los servicios de LLM pueden presentar tiempos de respuesta lentos al manejar grandes volúmenes de solicitudes.
Para abordar este desafío, creamos el proyecto GPTCache, dedicado a crear una caché semántica para almacenar respuestas de LLM.
Introducción a LangChain
Los modelos de lenguaje grandes (LLMs) se están convirtiendo en una tecnología transformadora que permite a los desarrolladores crear aplicaciones que antes eran imposibles. Sin embargo, depender únicamente de un solo LLM a menudo dificulta crear una aplicación verdaderamente potente. El verdadero poder reside en combinarlos con otras fuentes computacionales o de conocimiento. Por lo tanto, la biblioteca LangChain tiene como objetivo ayudar en el desarrollo de este tipo de aplicaciones.
Estado actual de LangChain Cache
Antes de integrar GPTCache, la caché de LangChain se basaba en la coincidencia de cadenas. Con este enfoque de coincidencia de cadenas, la solicitud posterior puede recuperar los datos correspondientes de la caché cuando dos solicitudes tienen cadenas idénticas. La implementación incluye Memory Cache, SQLite Cache y Redis Cache.
El uso es aproximadamente el siguiente:
import langchain
from langchain.cache import InMemoryCache
langchain.llm_cache = InMemoryCache()
llm = OpenAI(model_name="text-davinci-002", n=2, best_of=2)
// CPU times: user 14.2 ms, sys: 4.9 ms, total: 19.1 ms
// Wall time: 1.1 s
llm("Tell me a joke")
// CPU times: user 162 µs, sys: 7 µs, total: 169 µs
// Wall time: 175 µs
llm("Tell me a joke")
Análisis de LangChain Cache
Desde una perspectiva de tiempo de ejecución, está claro que si una solicitud acierta en la caché, reducirá significativamente el tiempo de respuesta. Al mismo tiempo, el costo actual de usar LLM es relativamente alto. Usar servicios en línea como OpenAI y Cohere generalmente incurre en cargos mediante tokens o desplegando el modelo LLM correspondiente por cuenta propia, con el tiempo de inferencia único dependiendo de la cantidad de recursos informáticos, incluidos CPU, memoria, GPU, etc. Al mismo tiempo, si se procesan varias solicitudes de forma concurrente, hay mayores requisitos de recursos de computación. Si las solicitudes aciertan en la caché numerosas veces, puede reducir la presión sobre los recursos informáticos y dar más recursos de computación a otras tareas.
La condición para que LangChain acierte en la caché es que dos preguntas deben ser idénticas. Desafortunadamente, sigue siendo difícil acertar en la caché en el uso real, y hay mucho margen de mejora en la tasa de utilización de la caché.
Integración de GPTCache
La integración de GPTCache mejorará significativamente la funcionalidad del módulo de caché de LangChain, aumentará la tasa de aciertos de caché y, por lo tanto, reducirá los costos de uso de LLM y los tiempos de respuesta. Porque GPTCache primero realiza operaciones de embedding en la entrada para obtener un vector y luego lleva a cabo una búsqueda de aproximación vectorial en el almacenamiento de caché. Después de recibir los resultados de la búsqueda, realiza una evaluación de similitud y devuelve cuando se alcanza el umbral establecido. Ajustar el umbral puede cambiar la precisión de sus resultados de búsqueda difusa.
Un ejemplo de uso de GPTCache para búsqueda por similitud en LangChain:
from gptcache import Cache
from gptcache.adapter.api import init_similar_cache
from langchain.cache import GPTCache
import hashlib
def get_hashed_name(name):
return hashlib.sha256(name.encode()).hexdigest()
def init_gptcache(cache_obj: Cache, llm: str):
hashed_llm = get_hashed_name(llm)
init_similar_cache(cache_obj=cache_obj, data_dir=f"similar_cache_{hashed_llm}")
langchain.llm_cache = GPTCache(init_gptcache)
# La primera vez, aún no está en caché, así que debería tardar más
# Tiempos de CPU: usuario 1.42 s, sis.: 279 ms, total: 1.7 s
# Tiempo real: 8.44 s
llm("Tell me a joke")
# Esta es una coincidencia exacta, así que la encuentra en la caché
# Tiempos de CPU: usuario 866 ms, sis.: 20 ms, total: 886 ms
# Tiempo real: 226 ms
llm("Tell me a joke")
# Esta no es una coincidencia exacta, ¡pero semánticamente está dentro de la distancia, así que acierta!
# Tiempos de CPU: usuario 853 ms, sis.: 14.8 ms, total: 868 ms
# Tiempo real: 224 ms
llm("Tell me joke")
Seguimos desarrollando la funcionalidad de GPT-Cache, y si tienes la oportunidad de probarlo, cuéntanos qué te parece. ¡También tenemos varios recursos excelentes para que los consultes!
Referencias:
Sigue leyendo

A Few Notes from Databricks Data + AI Summit 2026: Why the Data Layer Matters Again
James Luan shares notes from Databricks Data + AI Summit 2026 on why production AI is pushing the data layer back to the center of infrastructure.

From Vector Database to Vector Lakebase
Zilliz offers a fully managed Vector Lakebase powered by Milvus, unifying real-time vector search, lake-scale discovery, and Al data operations.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.



