mirror of
https://github.com/ParisNeo/lollms-webui.git
synced 2024-12-20 04:47:55 +00:00
62 lines
2.4 KiB
Python
62 lines
2.4 KiB
Python
import subprocess
|
|
from pathlib import Path
|
|
import requests
|
|
from tqdm import tqdm
|
|
from api.config import save_config
|
|
import yaml
|
|
class Install:
|
|
def __init__(self, api):
|
|
# Get the current directory
|
|
current_dir = Path(__file__).resolve().parent
|
|
install_file = current_dir / ".installed"
|
|
|
|
if not install_file.exists():
|
|
print("-------------- OpenAI Binding -------------------------------")
|
|
print("This is the first time you are using this binding.")
|
|
print("Installing ...")
|
|
# Step 2: Install dependencies using pip from requirements.txt
|
|
requirements_file = current_dir / "requirements.txt"
|
|
subprocess.run(["pip", "install", "--upgrade", "--no-cache-dir", "-r", str(requirements_file)])
|
|
|
|
# Create the models folder
|
|
models_folder = Path(f"./models/{Path(__file__).parent.stem}")
|
|
models_folder.mkdir(exist_ok=True, parents=True)
|
|
|
|
#Create
|
|
self._local_config_file_path = Path(__file__).parent/"config_local.yaml"
|
|
if not self._local_config_file_path.exists():
|
|
key = input("Please enter your Open AI Key")
|
|
config={
|
|
"openai_key":key
|
|
}
|
|
self.config = save_config(config, self._local_config_file_path)
|
|
#Create the install file (a file that is used to insure the installation was done correctly)
|
|
with open(install_file,"w") as f:
|
|
f.write("ok")
|
|
print("Installed successfully")
|
|
|
|
def reinstall_pytorch_with_cuda(self):
|
|
"""Installs pytorch with cuda (if you have a gpu)
|
|
"""
|
|
subprocess.run(["pip", "install", "torch", "torchvision", "torchaudio", "--no-cache-dir", "--index-url", "https://download.pytorch.org/whl/cu117"])
|
|
|
|
|
|
def create_config_file(self):
|
|
"""
|
|
Create a config_local.yaml file with predefined data.
|
|
|
|
The function creates a config_local.yaml file with the specified data. The file is saved in the parent directory
|
|
of the current file.
|
|
|
|
Args:
|
|
None
|
|
|
|
Returns:
|
|
None
|
|
"""
|
|
data = {
|
|
"pdf_file_path": "" # Path to the PDF that will be discussed
|
|
}
|
|
path = Path(__file__).parent.parent / 'config_local.yaml'
|
|
with open(path, 'w') as file:
|
|
yaml.dump(data, file) |