diff --git a/README.md b/README.md index da08f861..6b74c4d2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # text-generation-webui A gradio webui for running large language models locally. Supports gpt-j-6B, gpt-neox-20b, opt, galactica, and many others. + +## Installation + + conda env create -f environment.yml + +## Starting the webui + + conda activate textgen + python server.py + +Then browse to `http://localhost:7860/?__theme=dark` diff --git a/convert-to-torch.py b/convert-to-torch.py new file mode 120000 index 00000000..d24402ca --- /dev/null +++ b/convert-to-torch.py @@ -0,0 +1 @@ +../convert-to-torch.py \ No newline at end of file diff --git a/environment.yml b/environment.yml new file mode 100644 index 00000000..64b8a6c7 --- /dev/null +++ b/environment.yml @@ -0,0 +1,193 @@ +name: textgen +channels: + - pytorch + - nvidia + - defaults +dependencies: + - _libgcc_mutex=0.1=main + - _openmp_mutex=5.1=1_gnu + - blas=1.0=mkl + - brotlipy=0.7.0=py310h7f8727e_1002 + - bzip2=1.0.8=h7b6447c_0 + - ca-certificates=2022.10.11=h06a4308_0 + - certifi=2022.12.7=py310h06a4308_0 + - cffi=1.15.1=py310h5eee18b_3 + - cryptography=38.0.1=py310h9ce1e76_0 + - cuda=11.7.1=0 + - cuda-cccl=11.7.91=0 + - cuda-command-line-tools=11.7.1=0 + - cuda-compiler=11.7.1=0 + - cuda-cudart=11.7.99=0 + - cuda-cudart-dev=11.7.99=0 + - cuda-cuobjdump=11.7.91=0 + - cuda-cupti=11.7.101=0 + - cuda-cuxxfilt=11.7.91=0 + - cuda-demo-suite=12.0.76=0 + - cuda-documentation=12.0.76=0 + - cuda-driver-dev=11.7.99=0 + - cuda-gdb=12.0.90=0 + - cuda-libraries=11.7.1=0 + - cuda-libraries-dev=11.7.1=0 + - cuda-memcheck=11.8.86=0 + - cuda-nsight=12.0.78=0 + - cuda-nsight-compute=12.0.0=0 + - cuda-nvcc=11.7.99=0 + - cuda-nvdisasm=12.0.76=0 + - cuda-nvml-dev=11.7.91=0 + - cuda-nvprof=12.0.90=0 + - cuda-nvprune=11.7.91=0 + - cuda-nvrtc=11.7.99=0 + - cuda-nvrtc-dev=11.7.99=0 + - cuda-nvtx=11.7.91=0 + - cuda-nvvp=12.0.90=0 + - cuda-runtime=11.7.1=0 + - cuda-sanitizer-api=12.0.90=0 + - cuda-toolkit=11.7.1=0 + - cuda-tools=11.7.1=0 + - cuda-visual-tools=11.7.1=0 + - cudatoolkit=11.3.1=h2bc3f7f_2 + - ffmpeg=4.3=hf484d3e_0 + - flit-core=3.6.0=pyhd3eb1b0_0 + - freetype=2.12.1=h4a9f257_0 + - future=0.18.2=py310h06a4308_1 + - gds-tools=1.5.0.59=0 + - giflib=5.2.1=h7b6447c_0 + - gmp=6.2.1=h295c915_3 + - gnutls=3.6.15=he1e5248_0 + - idna=3.4=py310h06a4308_0 + - intel-openmp=2021.4.0=h06a4308_3561 + - jpeg=9e=h7f8727e_0 + - lame=3.100=h7b6447c_0 + - lcms2=2.12=h3be6417_0 + - ld_impl_linux-64=2.38=h1181459_1 + - lerc=3.0=h295c915_0 + - libcublas=11.10.3.66=0 + - libcublas-dev=11.10.3.66=0 + - libcufft=10.7.2.124=h4fbf590_0 + - libcufft-dev=10.7.2.124=h98a8f43_0 + - libcufile=1.5.0.59=0 + - libcufile-dev=1.5.0.59=0 + - libcurand=10.3.1.50=0 + - libcurand-dev=10.3.1.50=0 + - libcusolver=11.4.0.1=0 + - libcusolver-dev=11.4.0.1=0 + - libcusparse=11.7.4.91=0 + - libcusparse-dev=11.7.4.91=0 + - libdeflate=1.8=h7f8727e_5 + - libffi=3.4.2=h6a678d5_6 + - libgcc-ng=11.2.0=h1234567_1 + - libgomp=11.2.0=h1234567_1 + - libiconv=1.16=h7f8727e_2 + - libidn2=2.3.2=h7f8727e_0 + - libnpp=11.7.4.75=0 + - libnpp-dev=11.7.4.75=0 + - libnvjpeg=11.8.0.2=0 + - libnvjpeg-dev=11.8.0.2=0 + - libpng=1.6.37=hbc83047_0 + - libstdcxx-ng=11.2.0=h1234567_1 + - libtasn1=4.16.0=h27cfd23_0 + - libtiff=4.4.0=hecacb30_2 + - libunistring=0.9.10=h27cfd23_0 + - libuuid=1.41.5=h5eee18b_0 + - libwebp=1.2.4=h11a3e52_0 + - libwebp-base=1.2.4=h5eee18b_0 + - lz4-c=1.9.4=h6a678d5_0 + - mkl=2021.4.0=h06a4308_640 + - mkl-service=2.4.0=py310h7f8727e_0 + - mkl_fft=1.3.1=py310hd6ae3a3_0 + - mkl_random=1.2.2=py310h00e6091_0 + - ncurses=6.3=h5eee18b_3 + - nettle=3.7.3=hbbd107a_1 + - ninja=1.10.2=h06a4308_5 + - ninja-base=1.10.2=hd09550d_5 + - nsight-compute=2022.4.0.15=0 + - numpy=1.23.4=py310hd5efca6_0 + - numpy-base=1.23.4=py310h8e6c178_0 + - openh264=2.1.1=h4ff587b_0 + - openssl=1.1.1s=h7f8727e_0 + - pip=22.3.1=py310h06a4308_0 + - pycparser=2.21=pyhd3eb1b0_0 + - pyopenssl=22.0.0=pyhd3eb1b0_0 + - pysocks=1.7.1=py310h06a4308_0 + - python=3.10.8=h7a1cb2a_1 + - pytorch=1.13.1=py3.10_cuda11.7_cudnn8.5.0_0 + - pytorch-cuda=11.7=h67b0de4_1 + - pytorch-mutex=1.0=cuda + - pyyaml=6.0=py310h5eee18b_1 + - readline=8.2=h5eee18b_0 + - requests=2.28.1=py310h06a4308_0 + - setuptools=65.5.0=py310h06a4308_0 + - six=1.16.0=pyhd3eb1b0_1 + - sqlite=3.40.0=h5082296_0 + - tk=8.6.12=h1ccaba5_0 + - torchaudio=0.13.1=py310_cu117 + - torchvision=0.14.1=py310_cu117 + - typing-extensions=4.4.0=py310h06a4308_0 + - typing_extensions=4.4.0=py310h06a4308_0 + - tzdata=2022g=h04d1e81_0 + - urllib3=1.26.13=py310h06a4308_0 + - wheel=0.37.1=pyhd3eb1b0_0 + - xz=5.2.8=h5eee18b_0 + - yaml=0.2.5=h7b6447c_0 + - zlib=1.2.13=h5eee18b_0 + - zstd=1.5.2=ha4553b6_0 + - pip: + - accelerate==0.15.0 + - aiohttp==3.8.3 + - aiosignal==1.3.1 + - altair==4.2.0 + - anyio==3.6.2 + - async-timeout==4.0.2 + - attrs==22.1.0 + - bitsandbytes==0.35.4 + - charset-normalizer==2.1.1 + - click==8.1.3 + - contourpy==1.0.6 + - cycler==0.11.0 + - entrypoints==0.4 + - fastapi==0.88.0 + - ffmpy==0.3.0 + - filelock==3.8.2 + - fonttools==4.38.0 + - frozenlist==1.3.3 + - fsspec==2022.11.0 + - gradio==3.14.0 + - h11==0.14.0 + - httpcore==0.16.3 + - httpx==0.23.1 + - huggingface-hub==0.11.1 + - jinja2==3.1.2 + - jsonschema==4.17.3 + - kiwisolver==1.4.4 + - linkify-it-py==1.0.3 + - markdown-it-py==2.1.0 + - markupsafe==2.1.1 + - matplotlib==3.6.2 + - mdit-py-plugins==0.3.3 + - mdurl==0.1.2 + - multidict==6.0.3 + - orjson==3.8.3 + - packaging==22.0 + - pandas==1.5.2 + - pillow==9.3.0 + - psutil==5.9.4 + - pycryptodome==3.16.0 + - pydantic==1.10.2 + - pydub==0.25.1 + - pyparsing==3.0.9 + - pyrsistent==0.19.2 + - python-dateutil==2.8.2 + - python-multipart==0.0.5 + - pytz==2022.7 + - regex==2022.10.31 + - rfc3986==1.5.0 + - sniffio==1.3.0 + - starlette==0.22.0 + - tokenizers==0.13.2 + - toolz==0.12.0 + - tqdm==4.64.1 + - transformers==4.25.1 + - uc-micro-py==1.0.1 + - uvicorn==0.20.0 + - websockets==10.4 + - yarl==1.8.2 diff --git a/server.py b/server.py new file mode 120000 index 00000000..81767550 --- /dev/null +++ b/server.py @@ -0,0 +1 @@ +../server.py \ No newline at end of file