Update app.py
Browse files
app.py
CHANGED
@@ -11,6 +11,32 @@ from llama_index.embeddings.huggingface import HuggingFaceEmbedding
|
|
11 |
from huggingface_hub import hf_hub_download
|
12 |
from llama_index.core.node_parser import SentenceSplitter
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
# Fungsi untuk mengunduh model Llama
|
15 |
def initialize_llama_model():
|
16 |
# Unduh model jika belum ada di direktori kerja
|
@@ -23,9 +49,11 @@ def initialize_llama_model():
|
|
23 |
|
24 |
# Fungsi untuk mengatur konfigurasi Settings
|
25 |
def initialize_settings(model_path):
|
26 |
-
Settings.llm =
|
27 |
model_path=model_path,
|
28 |
-
|
|
|
|
|
29 |
)
|
30 |
|
31 |
# Fungsi untuk Menginisialisasi Index
|
@@ -88,6 +116,7 @@ def launch_gradio(chat_engine):
|
|
88 |
|
89 |
# Fungsi Utama untuk Menjalankan Aplikasi
|
90 |
def main():
|
|
|
91 |
# Unduh model dan inisialisasi pengaturan
|
92 |
model_path = initialize_llama_model()
|
93 |
initialize_settings(model_path) # Mengirimkan model_path ke fungsi initialize_settings
|
|
|
11 |
from huggingface_hub import hf_hub_download
|
12 |
from llama_index.core.node_parser import SentenceSplitter
|
13 |
|
14 |
+
# Fungsi untuk memasang ulang llama-cpp-python dengan dukungan CUDA
|
15 |
+
def install_llama_with_cuda():
|
16 |
+
try:
|
17 |
+
# Baca file requirements.txt
|
18 |
+
with open("requirements.txt", "r") as f:
|
19 |
+
packages = f.read().splitlines()
|
20 |
+
|
21 |
+
# Install setiap paket dengan CMAKE_ARGS untuk dukungan CUDA
|
22 |
+
for package in packages:
|
23 |
+
subprocess.run(
|
24 |
+
env={"CMAKE_ARGS": "-DGGML_CUDA=on"},
|
25 |
+
check=True
|
26 |
+
)
|
27 |
+
# Periksa apakah CUDA Toolkit tersedia
|
28 |
+
if not shutil.which("nvcc"):
|
29 |
+
print("CUDA Toolkit tidak ditemukan. Pastikan sudah diinstal.")
|
30 |
+
return
|
31 |
+
|
32 |
+
print("Memasang ulang llama-cpp-python dengan dukungan CUDA...")
|
33 |
+
|
34 |
+
print("llama-cpp-python berhasil diinstal ulang dengan dukungan CUDA.")
|
35 |
+
except subprocess.CalledProcessError as e:
|
36 |
+
print(f"Error saat menginstal ulang llama-cpp-python: {e}")
|
37 |
+
except Exception as e:
|
38 |
+
print(f"Kesalahan umum: {e}")
|
39 |
+
|
40 |
# Fungsi untuk mengunduh model Llama
|
41 |
def initialize_llama_model():
|
42 |
# Unduh model jika belum ada di direktori kerja
|
|
|
49 |
|
50 |
# Fungsi untuk mengatur konfigurasi Settings
|
51 |
def initialize_settings(model_path):
|
52 |
+
Settings.llm = Llama(
|
53 |
model_path=model_path,
|
54 |
+
n_gpu_layers=1, # Sesuaikan dengan kebutuhan perangkat Anda
|
55 |
+
temperature=0.7, # Sesuaikan untuk respons yang lebih cepat
|
56 |
+
top_p=0.9 # Mengurangi eksplorasi token
|
57 |
)
|
58 |
|
59 |
# Fungsi untuk Menginisialisasi Index
|
|
|
116 |
|
117 |
# Fungsi Utama untuk Menjalankan Aplikasi
|
118 |
def main():
|
119 |
+
install_llama_with_cuda()
|
120 |
# Unduh model dan inisialisasi pengaturan
|
121 |
model_path = initialize_llama_model()
|
122 |
initialize_settings(model_path) # Mengirimkan model_path ke fungsi initialize_settings
|