diff --git a/llama_stack/distribution/docker/ollama/README.md b/llama_stack/distribution/docker/ollama/README.md new file mode 100644 index 000000000..739380214 --- /dev/null +++ b/llama_stack/distribution/docker/ollama/README.md @@ -0,0 +1,67 @@ +# Ollama GPU Distribution + +The scripts in these folders help you spin up a Llama Stack distribution with Ollama Inference provider. + +> [!NOTE] +> This assumes you have access to GPU to start a Ollama server with access to your GPU. Please see Ollama CPU Distribution if you wish connect to a hosted Ollama endpoint. + +### Getting Started + +``` +$ cd llama_stack/distribution/docker/ollama +$ ls +compose.yaml ollama-run.yaml +$ docker compose up +``` + +You will see outputs similar to following --- +``` +[ollama] | [GIN] 2024/10/18 - 21:19:41 | 200 | 226.841µs | ::1 | GET "/api/ps" +[ollama] | [GIN] 2024/10/18 - 21:19:42 | 200 | 60.908µs | ::1 | GET "/api/ps" +INFO: Started server process [1] +INFO: Waiting for application startup. +INFO: Application startup complete. +INFO: Uvicorn running on http://[::]:5000 (Press CTRL+C to quit) +[llamastack-local-cpu] | Resolved 12 providers +[llamastack-local-cpu] | inner-inference => ollama0 +[llamastack-local-cpu] | models => __routing_table__ +[llamastack-local-cpu] | inference => __autorouted__ +``` + +To kill the server +``` +docker compose down +``` + +### (Alternative) Docker Run + +If you wish to separately spin up a Ollama server, and connect with Llama Stack, you may use the following commands. + +##### Start Ollama server. +- Please check the [Ollama Documentations](https://github.com/ollama/ollama) for more details. + +**Via Docker** +``` +docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama +``` + +**Via CLI** +``` +ollama run +``` + + +##### Start Llama Stack server pointing to Ollama server + +``` +docker run --network host -it -p 5000:5000 -v ~/.llama:/root/.llama -v ./ollama-run.yaml:/root/llamastack-run-ollama.yaml --gpus=all llamastack-local-cpu --yaml_config /root/llamastack-run-ollama.yaml +``` + +Make sure in you `ollama-run.yaml` file, you inference provider is pointing to the correct Ollama endpoint. E.g. +``` +inference: + - provider_id: ollama0 + provider_type: remote::ollama + config: + url: http://127.0.0.1:14343 +``` diff --git a/llama_stack/distribution/docker/tgi/README.md b/llama_stack/distribution/docker/tgi/README.md new file mode 100644 index 000000000..0b4edc6c2 --- /dev/null +++ b/llama_stack/distribution/docker/tgi/README.md @@ -0,0 +1,56 @@ +# TGI GPU Distribution + +The scripts in these folders help you spin up a Llama Stack distribution with TGI Inference provider. + +> [!NOTE] +> This assumes you have access to GPU to start a TGI server with access to your GPU. Please see TGI CPU Distribution if you wish connect to a hosted TGI endpoint. + +### Getting Started + +``` +$ cd llama_stack/distribution/docker/tgi +$ ls +compose.yaml tgi-run.yaml +$ docker compose up +``` + +The script will first start up TGI server, then start up Llama Stack distribution server hooking up to the remote TGI provider for inference. You should be able to see the following outputs -- +``` +[text-generation-inference] | 2024-10-15T18:56:33.810397Z INFO text_generation_router::server: router/src/server.rs:1813: Using config Some(Llama) +[text-generation-inference] | 2024-10-15T18:56:33.810448Z WARN text_generation_router::server: router/src/server.rs:1960: Invalid hostname, defaulting to 0.0.0.0 +[text-generation-inference] | 2024-10-15T18:56:33.864143Z INFO text_generation_router::server: router/src/server.rs:2353: Connected +INFO: Started server process [1] +INFO: Waiting for application startup. +INFO: Application startup complete. +INFO: Uvicorn running on http://[::]:5000 (Press CTRL+C to quit) +``` + +To kill the server +``` +docker compose down +``` + +### (Alternative) Docker Run + +If you wish to separately spin up a TGI server, and connect with Llama Stack, you may use the following commands. + +##### Start TGI server. +``` +docker run --rm -it -v $HOME/.cache/huggingface:/data -p 5009:5009 --gpus all ghcr.io/huggingface/text-generation-inference:latest --dtype bfloat16 --usage-stats on --sharded false --model-id meta-llama/Llama-3.1-8B-Instruct --port 5009 +``` +- Please check the [TGI Getting Started Guide](https://github.com/huggingface/text-generation-inference?tab=readme-ov-file#get-started) for more details. + +##### Start Llama Stack server pointing to TGI server + +``` +docker run --network host -it -p 5000:5000 -v ~/.llama:/root/.llama -v ./tgi-run.yaml:/root/llamastack-run-tgi.yaml --gpus=all llamastack-local-cpu --yaml_config /root/llamastack-run-tgi.yaml +``` + +Make sure in you `tgi-run.yaml` file, you inference provider is pointing to the correct TGI endpoint. E.g. +``` +inference: + - provider_id: tgi0 + provider_type: remote::tgi + config: + url: http://127.0.0.1:5009 +```