abetlen / abetlen/llama-cpp-python

Implementation of LlamaDiskCache lacks capacity setting.

Open
#1,402 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
10.6k
Forks
1.4k
PR merge metrics
PR metrics pending

Description

LlamaDiskCache utilizes diskcache module to hold cache.
While LlamaDiskCache.\_\_init\_\_ can have capacity setting, it's not passed to diskcache.Cache.\_\_init\_\_, which is causing capacity mismatch, and it fails to store data of size greater than 1GB (default capacity of diskcache).

Current implementation:
```python
class LlamaDiskCache(BaseLlamaCache):
"""Cache for a llama.cpp model using disk."""

def __init__(
self, cache_dir: str = ".cache/llama_cache", capacity_bytes: int = (2 << 30)
):
super().__init__(capacity_bytes)
self.cache = diskcache.Cache(cache_dir)
```

This I guess is required:
```python
class LlamaDiskCache(BaseLlamaCache):
"""Cache for a llama.cpp model using disk."""

def __init__(
self, cache_dir: str = ".cache/llama_cache", capacity_bytes: int = (2 << 30)
):
super().__init__(capacity_bytes)
self.cache = diskcache.Cache(cache_dir, size_limit=capacity_bytes) # Added size_limit configuration.
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.