Sign inSign up

dustynv/llama-index

By dustynv

•Updated over 2 years ago

https://github.com/dusty-nv/jetson-containers/packages/rag/llama-index

Image
0

2.3K

dustynv/llama-index repository overview

⁠llama-index

⁠Starting llamaindex container

jetson-containers run $(autotag llama-index)

This will start the ollama server as well as Jupyter Lab server inside the container.

⁠Running a RAG example with Ollama

This is based on the official tutorial for local models⁠.

⁠Jupyter Notebook Version

When you run start the llama-index container, you should see lines like this on the terminal.

JupyterLab URL:   http://192.168.1.10:8888 (password "nvidia")
JupyterLab logs:  /data/logs/jupyter.log

On your Jetson desktop GUI, or on a PC on the same network as Jetson, open your web browser and access the address. When prompted, type the password nvidia and log in.

Jupyter Lab UI should show up, with LlamaIndex_Local-Models.ipynb⁠ listed in the left navigator pane - open it, and follow the guide in the Jupyter notebook.

⁠Python Version

After starting the llamaindex container, you should be on root@<hostname> console. First, download the Llama2 model using ollama

ollama pull llama2

This downloads the default 7-billion parameter Llama2 model - you can optionally specify ollma2:13b and ollma2:70b for other variations, and change the Python script (line 13) accordingly. Then type the following to start the sample Python script:

python3 /opt/llama-index/llamaindex_starter.py
CONTAINERS⁠
llama-index
   RequiresL4T ['>=34.1.0']
   Dependenciesbuild-essential⁠ cuda⁠ cudnn⁠ python⁠ numpy⁠ cmake⁠ onnx⁠ pytorch⁠ ollama⁠ rust⁠ jupyterlab⁠
   DockerfileDockerfile⁠
   Imagesdustynv/llama-index:r35.4.1⁠ (2024-04-30, 6.4GB)
dustynv/llama-index:r36.2.0⁠ (2024-04-30, 6.2GB)
CONTAINER IMAGES⁠
Repository/TagDateArchSize
  dustynv/llama-index:r35.4.1⁠2024-04-30arm646.4GB
  dustynv/llama-index:r36.2.0⁠2024-04-30arm646.2GB

Container images are compatible with other minor versions of JetPack/L4T:
    • L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
    • L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)

RUN CONTAINER⁠

To start the container, you can use jetson-containers run⁠ and autotag⁠, or manually put together a docker run⁠ command:

# automatically pull or build a compatible container image
jetson-containers run $(autotag llama-index)

# or explicitly specify one of the container images above
jetson-containers run dustynv/llama-index:r35.4.1

# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/llama-index:r35.4.1

jetson-containers run⁠ forwards arguments to docker run⁠ with some defaults added (like --runtime nvidia, mounts a /data cache, and detects devices)
autotag⁠ finds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.

To mount your own directories into the container, use the -v⁠ or --volume⁠ flags:

jetson-containers run -v /path/on/host:/path/in/container $(autotag llama-index)

To launch the container running a command, as opposed to an interactive shell:

jetson-containers run $(autotag llama-index) my_app --abc xyz

You can pass any options to it that you would to docker run⁠, and it'll print out the full command that it constructs before executing it.

BUILD CONTAINER⁠
⁠

If you use ⁠autotag⁠ as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup⁠, then run:

jetson-containers build llama-index

The dependencies from above will be built into the container, and it'll be tested during. Run it with --help⁠ for build options.

Tag summary

Content type

Image

Digest

sha256:aaa611822…

Size

6.4 GB

Last updated

over 2 years ago

docker pull dustynv/llama-index:samples-r35.4.1