#@title 2. Launch the web UI #@markdown If unsure about the branch, write "main" or leave it blank. import torch import os from pathlib import Path if Path.cwd().name != 'text-generation-webui': print("Installing the webui...") os.system("git clone https://github.com/oobabooga/text-generation-webui") os.system("git clone cd text-generation-webui") torver = torch.__version__ print(f"TORCH: {torver}") is_cuda118 = '+cu118' in torver # 2.1.0+cu118 is_cuda117 = '+cu117' in torver # 2.0.1+cu117 textgen_requirements = open('requirements.txt').read().splitlines() if is_cuda117: textgen_requirements = [req.replace('+cu121', '+cu117').replace('+cu122', '+cu117').replace('torch2.1', 'torch2.0') for req in textgen_requirements] elif is_cuda118: textgen_requirements = [req.replace('+cu121', '+cu118').replace('+cu122', '+cu118') for req in textgen_requirements] with open('temp_requirements.txt', 'w') as file: file.write('\n'.join(textgen_requirements)) os.system("pip install -r extensions/openai/requirements.txt --upgrade") os.system("pip install -r temp_requirements.txt --upgrade") # pip install -r extensions/openai/requirements.txt --upgrade # pip install -r temp_requirements.txt --upgrade print("\033[1;32;1m\n --> If you see a warning about \"previously imported packages\", just ignore it.\033[0;37;0m") print("\033[1;32;1m\n --> There is no need to restart the runtime.\n\033[0;37;0m") try: import flash_attn except: # !pip uninstall -y flash_attn os.system("pip uninstall -y flash_atte") # # Deufalt Parameters # model_url = "https://huggingface.co/TheBloke/MythoMax-L2-13B-GPTQ" #@param {type:"string"} # branch = "gptq-4bit-32g-actorder_True" #@param {type:"string"} # command_line_flags = "--n-gpu-layers 128 --load-in-4bit --use_double_quant" #@param {type:"string"} # api = True #@param {type:"boolean"} # #=====================================Ming's customized Parameters ===================================== # Tiny-Vicuna-1B-GGUF Model work as well (around 668M) model_url = "https://huggingface.co/afrideva/Tiny-Vicuna-1B-GGUF" #@param {type:"string"} branch = "main" #@param {type:"string"} command_line_flags = "--n-gpu-layers 128 --load-in-4bit --use_double_quant" #@param {type:"string"} api = True #@param {type:"boolean"} # # LinguaMatic-Tiny-GGUF Model around 699MB work as well # model_url = "https://huggingface.co/erfanzar/LinguaMatic-Tiny-GGUF" #@param {type:"string"} # branch = "main" #@param {type:"string"} # command_line_flags = "" #@param {type:"string"} # api = True #@param {type:"boolean"} # # TinyLlama-1.1B-Chat-v0.3-GGUF Model work as well (around 668M) # model_url = "https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v0.3-GGUF" #@param {type:"string"} # branch = "main" #@param {type:"string"} # command_line_flags = "" #@param {type:"string"} # api = True #@param {type:"boolean"} # # phanerozoic-Tiny-Pirate-1.1b-v0.1-GGUF Not work # model_url = "https://huggingface.co/s3nh/phanerozoic-Tiny-Pirate-1.1b-v0.1-GGUF" #@param {type:"string"} # branch = "main" #@param {type:"string"} # command_line_flags = "" #@param {type:"string"} # api = True #@param {type:"boolean"} # # tinyllamas (not work) # model_url = "https://huggingface.co/klosax/tinyllamas-stories-gguf" #@param {type:"string"} # branch = "main" #@param {type:"string"} # command_line_flags = "" #@param {type:"string"} # api = True #@param {type:"boolean"} # # tinyllamas (not work) # model_url = "https://huggingface.co/karpathy/tinyllamas" #@param {type:"string"} # branch = "main" #@param {type:"string"} # command_line_flags = "" #@param {type:"string"} # api = True #@param {type:"boolean"} # # llama-tiny-Synthetic-therapist-GGUF (not work) # model_url = "https://huggingface.co/wesley7137/llama-tiny-Synthetic-therapist-GGUF" #@param {type:"string"} # branch = "main" #@param {type:"string"} # command_line_flags = "" #@param {type:"string"} # api = True #@param {type:"boolean"} if api: for param in ['--api', '--public-api']: if param not in command_line_flags: command_line_flags += f" {param}" model_url = model_url.strip() if model_url != "": if not model_url.startswith('http'): model_url = 'https://huggingface.co/' + model_url # Download the model url_parts = model_url.strip('/').strip().split('/') output_folder = f"{url_parts[-2]}_{url_parts[-1]}" branch = branch.strip('"\' ') if branch.strip() not in ['', 'main']: output_folder += f"_{branch}" #python download-model.py {model_url} --branch {branch} os.system("python download-model.py {model_url} --branch {branch}") else: #python download-model.py {model_url} os.system("python download-model.py {model_url}") else: output_folder = "" # Start the web UI cmd = f"python server.py --share" if output_folder != "": cmd += f" --model {output_folder}" cmd += f" {command_line_flags}" print(cmd) #!$cmd