cache#

警告

测试版功能!

缓存为LLMs提供了一个可选的缓存层。

缓存之所以有用,有两个原因:

  • 它可以通过减少您向LLM提供商发出的API调用次数来节省资金,如果您经常多次请求相同的完成。

  • 它可以通过减少向LLM提供商发出的API调用次数来加速您的应用程序。

缓存直接与内存竞争。请参阅文档了解优缺点。

类层次结构:

BaseCache --> <name>Cache  # Examples: InMemoryCache, RedisCache, GPTCache

cache.AsyncRedisCache(redis_, *[, ttl])

使用Redis作为后端的缓存。

cache.AzureCosmosDBNoSqlSemanticCache(...[, ...])

使用 Cosmos DB NoSQL 后端的缓存

cache.AzureCosmosDBSemanticCache(...[, ...])

使用Cosmos DB Mongo vCore向量存储后端的缓存

cache.CassandraCache([session, keyspace, ...])

使用 Cassandra / Astra DB 作为后端的缓存。

cache.CassandraSemanticCache([session, ...])

使用Cassandra作为向量存储后端进行语义(即基于相似性)查找的缓存。

cache.FullLLMCache(**kwargs)

用于完整LLM缓存的SQLite表(所有生成)。

cache.FullMd5LLMCache(**kwargs)

用于完整LLM缓存的SQLite表(所有生成)。

cache.GPTCache([init_func])

使用GPTCache作为后端的缓存。

cache.InMemoryCache()

缓存,将内容存储在内存中。

cache.MemcachedCache(client_)

使用pymemcache客户端库通过Memcached后端进行缓存

cache.MomentoCache(cache_client, cache_name, *)

使用Momento作为后端的缓存。

cache.OpenSearchSemanticCache(...[, ...])

使用OpenSearch向量存储后端的缓存

cache.RedisCache(redis_, *[, ttl])

使用 Redis 作为后端的缓存。

cache.RedisSemanticCache(redis_url, embedding)

使用Redis作为向量存储后端的缓存。

cache.SQLAlchemyCache(engine, cache_schema)

使用SQAlchemy作为后端的缓存。

cache.SQLAlchemyMd5Cache(engine, cache_schema)

使用SQAlchemy作为后端的缓存。

cache.SQLiteCache([database_path])

使用SQLite作为后端的缓存。

cache.SingleStoreDBSemanticCache(embedding, *)

使用 SingleStore DB 作为后端的缓存

cache.UpstashRedisCache(redis_, *[, ttl])

使用 Upstash Redis 作为后端的缓存。

已弃用的类

cache.AstraDBCache(*[, collection_name, ...])

cache.AstraDBSemanticCache(*[, ...])