You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/libs/langchain/langchain/cache.py

73 lines
2.1 KiB
Python

from typing import TYPE_CHECKING, Any
from langchain._api import create_importer
if TYPE_CHECKING:
from langchain_community.cache import (
AstraDBCache,
AstraDBSemanticCache,
AzureCosmosDBSemanticCache,
CassandraCache,
CassandraSemanticCache,
FullLLMCache,
FullMd5LLMCache,
GPTCache,
InMemoryCache,
MomentoCache,
RedisCache,
RedisSemanticCache,
SQLAlchemyCache,
SQLAlchemyMd5Cache,
SQLiteCache,
UpstashRedisCache,
)
# Create a way to dynamically look up deprecated imports.
# Used to consolidate logic for raising deprecation warnings and
# handling optional imports.
DEPRECATED_LOOKUP = {
"FullLLMCache": "langchain_community.cache",
"SQLAlchemyCache": "langchain_community.cache",
"SQLiteCache": "langchain_community.cache",
"UpstashRedisCache": "langchain_community.cache",
"RedisCache": "langchain_community.cache",
"RedisSemanticCache": "langchain_community.cache",
"GPTCache": "langchain_community.cache",
"MomentoCache": "langchain_community.cache",
"InMemoryCache": "langchain_community.cache",
"CassandraCache": "langchain_community.cache",
"CassandraSemanticCache": "langchain_community.cache",
"FullMd5LLMCache": "langchain_community.cache",
"SQLAlchemyMd5Cache": "langchain_community.cache",
"AstraDBCache": "langchain_community.cache",
"AstraDBSemanticCache": "langchain_community.cache",
"AzureCosmosDBSemanticCache": "langchain_community.cache",
}
_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)
def __getattr__(name: str) -> Any:
"""Look up attributes dynamically."""
return _import_attribute(name)
__all__ = [
"FullLLMCache",
"SQLAlchemyCache",
"SQLiteCache",
"UpstashRedisCache",
"RedisCache",
"RedisSemanticCache",
"GPTCache",
"MomentoCache",
"InMemoryCache",
"CassandraCache",
"CassandraSemanticCache",
"FullMd5LLMCache",
"SQLAlchemyMd5Cache",
"AstraDBCache",
"AstraDBSemanticCache",
"AzureCosmosDBSemanticCache",
]