forked from phoenix-oss/llama-stack-mirror
# What does this PR do? This PR adds an additional page to the playground called "Tools". This page connects to a llama-stack server and lists all the available LLM models, builtin tools and MCP tools in the sidebar. Users can select whatever combination of model and tools they want from the sidebar for their agent. Once the selections are made, users can chat with their agent similarly to the RAG page and test out agent tool use. closes #1902 ## Test Plan Ran the following commands with a llama-stack server and the updated playground worked as expected. ``` export LLAMA_STACK_ENDPOINT="http://localhost:8321" streamlit run llama_stack/distribution/ui/app.py ``` [//]: # (## Documentation) Signed-off-by: Michael Clifford <mcliffor@redhat.com> |
||
---|---|---|
.. | ||
modules | ||
page | ||
__init__.py | ||
app.py | ||
Containerfile | ||
README.md | ||
requirements.txt |
(Experimental) LLama Stack UI
Docker Setup
⚠️ This is a work in progress.
Developer Setup
- Start up Llama Stack API server. More details here.
llama stack build --template together --image-type conda
llama stack run together
- (Optional) Register datasets and eval tasks as resources. If you want to run pre-configured evaluation flows (e.g. Evaluations (Generation + Scoring) Page).
llama-stack-client datasets register \
--dataset-id "mmlu" \
--provider-id "huggingface" \
--url "https://huggingface.co/datasets/llamastack/evals" \
--metadata '{"path": "llamastack/evals", "name": "evals__mmlu__details", "split": "train"}' \
--schema '{"input_query": {"type": "string"}, "expected_answer": {"type": "string", "chat_completion_input": {"type": "string"}}}'
llama-stack-client benchmarks register \
--eval-task-id meta-reference-mmlu \
--provider-id meta-reference \
--dataset-id mmlu \
--scoring-functions basic::regex_parser_multiple_choice_answer
- Start Streamlit UI
cd llama_stack/distribution/ui
pip install -r requirements.txt
streamlit run app.py
Environment Variables
Environment Variable | Description | Default Value |
---|---|---|
LLAMA_STACK_ENDPOINT | The endpoint for the Llama Stack | http://localhost:8321 |
FIREWORKS_API_KEY | API key for Fireworks provider | (empty string) |
TOGETHER_API_KEY | API key for Together provider | (empty string) |
SAMBANOVA_API_KEY | API key for SambaNova provider | (empty string) |
OPENAI_API_KEY | API key for OpenAI provider | (empty string) |