Skip to content

Commit 4c1d74c

Browse files
committed
fix: Make destructor to automatically call .close() method on Llama class.
1 parent f4491c4 commit 4c1d74c

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

llama_cpp/_internals.py

+9
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ def free_model():
6464
def close(self):
6565
self._exit_stack.close()
6666

67+
def __del__(self):
68+
self.close()
69+
6770
def vocab_type(self) -> int:
6871
assert self.model is not None
6972
return llama_cpp.llama_vocab_type(self.model)
@@ -292,6 +295,9 @@ def free_ctx():
292295
def close(self):
293296
self._exit_stack.close()
294297

298+
def __del__(self):
299+
self.close()
300+
295301
def n_ctx(self) -> int:
296302
assert self.ctx is not None
297303
return llama_cpp.llama_n_ctx(self.ctx)
@@ -531,6 +537,9 @@ def free_batch():
531537
def close(self):
532538
self._exit_stack.close()
533539

540+
def __del__(self):
541+
self.close()
542+
534543
def n_tokens(self) -> int:
535544
assert self.batch is not None
536545
return self.batch.n_tokens

llama_cpp/llama.py

+3
Original file line numberDiff line numberDiff line change
@@ -1968,6 +1968,9 @@ def close(self) -> None:
19681968
"""Explicitly free the model from memory."""
19691969
self._stack.close()
19701970

1971+
def __del__(self) -> None:
1972+
self.close()
1973+
19711974
@staticmethod
19721975
def logits_to_logprobs(
19731976
logits: Union[npt.NDArray[np.single], List], axis: int = -1

0 commit comments

Comments
 (0)