|
15 | 15 | c_size_t, |
16 | 16 | ) |
17 | 17 | import pathlib |
| 18 | +from typing import List |
18 | 19 |
|
19 | 20 |
|
20 | 21 | # Load the library |
21 | 22 | def _load_shared_library(lib_base_name: str): |
| 23 | + # Construct the paths to the possible shared library names |
| 24 | + _base_path = pathlib.Path(__file__).parent.resolve() |
| 25 | + # Searching for the library in the current directory under the name "libllama" (default name |
| 26 | + # for llamacpp) and "llama" (default name for this repo) |
| 27 | + _lib_paths: List[pathlib.Path] = [] |
22 | 28 | # Determine the file extension based on the platform |
23 | 29 | if sys.platform.startswith("linux"): |
24 | | - lib_ext = ".so" |
| 30 | + _lib_paths += [ |
| 31 | + _base_path / f"lib{lib_base_name}.so", |
| 32 | + ] |
25 | 33 | elif sys.platform == "darwin": |
26 | | - lib_ext = ".so" |
| 34 | + _lib_paths += [ |
| 35 | + _base_path / f"lib{lib_base_name}.so", |
| 36 | + _base_path / f"lib{lib_base_name}.dylib", |
| 37 | + ] |
27 | 38 | elif sys.platform == "win32": |
28 | | - lib_ext = ".dll" |
| 39 | + _lib_paths += [ |
| 40 | + _base_path / f"{lib_base_name}.dll", |
| 41 | + ] |
29 | 42 | else: |
30 | 43 | raise RuntimeError("Unsupported platform") |
31 | 44 |
|
32 | | - # Construct the paths to the possible shared library names |
33 | | - _base_path = pathlib.Path(__file__).parent.resolve() |
34 | | - # Searching for the library in the current directory under the name "libllama" (default name |
35 | | - # for llamacpp) and "llama" (default name for this repo) |
36 | | - _lib_paths = [ |
37 | | - _base_path / f"lib{lib_base_name}{lib_ext}", |
38 | | - _base_path / f"{lib_base_name}{lib_ext}", |
39 | | - ] |
40 | | - |
41 | 45 | if "LLAMA_CPP_LIB" in os.environ: |
42 | 46 | lib_base_name = os.environ["LLAMA_CPP_LIB"] |
43 | 47 | _lib = pathlib.Path(lib_base_name) |
@@ -160,6 +164,7 @@ class llama_token_data_array(Structure): |
160 | 164 | # bool use_mlock; // force system to keep model in RAM |
161 | 165 | # bool embedding; // embedding mode only |
162 | 166 |
|
| 167 | + |
163 | 168 | # // called with a progress value between 0 and 1, pass NULL to disable |
164 | 169 | # llama_progress_callback progress_callback; |
165 | 170 | # // context pointer passed to the progress callback |
|
0 commit comments