Skip to content

Commit

Permalink
Merge pull request #16 from stackhpc/fix/ui-tweaks
Browse files Browse the repository at this point in the history
Minor UI improvements
  • Loading branch information
sd109 authored Apr 4, 2024
2 parents 8547109 + 7231c1a commit 1a6bbbf
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 19 deletions.
4 changes: 0 additions & 4 deletions chart/azimuth-ui.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,8 @@ controls:
type: NumberControl
/ui/appSettings/llm_frequency_penalty:
type: NumberControl
minimum: -2
maximum: 2
/ui/appSettings/llm_presence_penalty:
type: NumberControl
minimum: -2
maximum: 2
/ui/ingress/host:
type: TextControl
# Use mirror to mimic yaml anchor in base Helm chart
Expand Down
8 changes: 4 additions & 4 deletions chart/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
The LLM chatbot app allows users to deploy machine learning models from [HuggingFace](https://huggingface.co/models) and interact with them through a simple web interface.
The LLM chatbot app allows users to deploy machine learning models from [HuggingFace](https://huggingface.co/models) and interact with them through a simple web interface.

Note: The target Kubernetes cluster must have a GPU worker node group configured, otherwise the app will remain in an 'Installing' state until a GPU node becomes available for scheduling.
The target Kubernetes cluster must have a GPU worker node group configured, otherwise the app will remain in an 'Installing' state until a GPU node becomes available for scheduling.

On deployment of a new model, the app must first download the model's weights from HuggingFace.
On deployment of a new model, the app must first download the model's weights from HuggingFace.
This can take a significant amount of time depending on model choice and network speeds.
Download progress can be monitored by inspecting the logs for the LLM API pod(s) via the Kubernetes Dashboard for the target cluster.

The app uses [vLLM](https://docs.vllm.ai/en/latest/) as a model serving backend and [Gradio](https://github.com/gradio-app/gradio) + [LangChain](https://python.langchain.com/docs/get_started/introduction) to provide the web interface.
The official list of HuggingFace models supported by vLLM can be found [here](https://docs.vllm.ai/en/latest/models/supported_models.html), though some of these may not be compatible with the LangChain prompt format.
The official list of HuggingFace models supported by vLLM can be found [here](https://docs.vllm.ai/en/latest/models/supported_models.html), though some of these may not be compatible with the LangChain prompt format.
See [this documentation](https://github.com/stackhpc/azimuth-llm/) for a non-exhaustive list of languange models against which the app has been tested.
31 changes: 20 additions & 11 deletions chart/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,17 @@
"hf_model_instruction": {
"type": "string",
"title": "Instruction",
"description": "The initial model prompt (i.e. the hidden instructions) to use when generating responses.",
"description": "The initial system prompt (i.e. the hidden instruction) to use when generating responses.",
"default": "You are a helpful AI assistant. Please respond appropriately."
},
"page_title": {
"type": "string",
"title": "Page Title",
"description": "The title to use for the chat interface.",
"description": "The title to display at the top of the chat interface.",
"default": "Large Language Model"
},
"llm_max_tokens": {
"type": "number",
"type": "integer",
"title": "Max Tokens",
"description": "The maximum number of new [tokens](https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_tokens) to generate for each LLM responses.",
"default": 1000
Expand All @@ -52,31 +52,40 @@
"type": "number",
"title": "LLM Temperature",
"description": "The [temperature](https://platform.openai.com/docs/api-reference/chat/create#chat-create-temperature) value to use when generating LLM responses.",
"default": 1
"default": 1,
"minimum": 0,
"maximum": 2
},
"llm_top_p": {
"type": "number",
"title": "LLM Top P",
"description": "The [top p](https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p) value to use when generating LLM responses.",
"default": 1
"default": 1,
"exclusiveMinimum": 0,
"maximum": 1
},
"llm_top_k": {
"type": "number",
"type": "integer",
"title": "LLM Top K",
"description": "The [top k](https://docs.vllm.ai/en/latest/dev/sampling_params.html) value to use when generating LLM responses.",
"default": -1
"description": "The [top k](https://docs.vllm.ai/en/latest/dev/sampling_params.html) value to use when generating LLM responses (must be an integer).",
"default": -1,
"minimum": -1
},
"llm_presence_penalty": {
"type": "number",
"title": "LLM Presence Penalty",
"description": "The [presence penalty](https://platform.openai.com/docs/api-reference/chat/create#chat-create-presence_penalty) to use when generating LLM responses.",
"default": 0
"default": 0,
"minimum": -2,
"maximum": 2
},
"llm_frequency_penalty": {
"type": "number",
"title": "LLM Frequency Penalty",
"description": "The [frequency_penalty](https://platform.openai.com/docs/api-reference/chat/create#chat-create-frequency_penalty) to use when generating LLM responses.",
"default": 0
"default": 0,
"minimum": -2,
"maximum": 2
}

},
Expand All @@ -88,7 +97,7 @@
"host": {
"type": ["string", "null"],
"title": "Ingress Host",
"description": "An optional custom domain name to expose the UI on (requires an Ingress controller-equipped cluster)"
"description": "An optional custom domain name to expose the UI on (requires an [Ingress controller](https://github.com/kubernetes/ingress-nginx) on the target cluster)"
}
}
}
Expand Down

0 comments on commit 1a6bbbf

Please sign in to comment.