From 9d574f4aeea45e7bf50398d620566f209724b30f Mon Sep 17 00:00:00 2001 From: Xi Yan Date: Thu, 16 Jan 2025 19:32:07 -0800 Subject: [PATCH 01/11] fix playground for v1 (#799) # What does this PR do? - update playground callsites for v1 api changes ## Test Plan ``` cd llama_stack/distribution/ui streamlit run app.py ``` https://github.com/user-attachments/assets/eace11c6-600a-42dc-b4e7-6948a706509f ## Sources Please link relevant resources if necessary. ## Before submitting - [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case). - [ ] Ran pre-commit to handle lint / formatting issues. - [ ] Read the [contributor guideline](https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md), Pull Request section? - [ ] Updated relevant documentation. - [ ] Wrote necessary unit or integration tests. --- .../ui/page/distribution/datasets.py | 6 ++-- .../ui/page/distribution/eval_tasks.py | 9 +++--- .../ui/page/distribution/providers.py | 14 ++++++--- .../distribution/ui/page/playground/chat.py | 2 +- .../distribution/ui/page/playground/rag.py | 29 ++++++++++--------- 5 files changed, 35 insertions(+), 25 deletions(-) diff --git a/llama_stack/distribution/ui/page/distribution/datasets.py b/llama_stack/distribution/ui/page/distribution/datasets.py index 44e314cde..b52356522 100644 --- a/llama_stack/distribution/ui/page/distribution/datasets.py +++ b/llama_stack/distribution/ui/page/distribution/datasets.py @@ -14,6 +14,6 @@ def datasets(): datasets_info = { d.identifier: d.to_dict() for d in llama_stack_api.client.datasets.list() } - - selected_dataset = st.selectbox("Select a dataset", list(datasets_info.keys())) - st.json(datasets_info[selected_dataset], expanded=True) + if len(datasets_info) > 0: + selected_dataset = st.selectbox("Select a dataset", list(datasets_info.keys())) + st.json(datasets_info[selected_dataset], expanded=True) diff --git a/llama_stack/distribution/ui/page/distribution/eval_tasks.py b/llama_stack/distribution/ui/page/distribution/eval_tasks.py index 4957fb178..cc7912838 100644 --- a/llama_stack/distribution/ui/page/distribution/eval_tasks.py +++ b/llama_stack/distribution/ui/page/distribution/eval_tasks.py @@ -16,7 +16,8 @@ def eval_tasks(): d.identifier: d.to_dict() for d in llama_stack_api.client.eval_tasks.list() } - selected_eval_task = st.selectbox( - "Select an eval task", list(eval_tasks_info.keys()), key="eval_task_inspect" - ) - st.json(eval_tasks_info[selected_eval_task], expanded=True) + if len(eval_tasks_info) > 0: + selected_eval_task = st.selectbox( + "Select an eval task", list(eval_tasks_info.keys()), key="eval_task_inspect" + ) + st.json(eval_tasks_info[selected_eval_task], expanded=True) diff --git a/llama_stack/distribution/ui/page/distribution/providers.py b/llama_stack/distribution/ui/page/distribution/providers.py index 69f6bd771..9aeb7f2a5 100644 --- a/llama_stack/distribution/ui/page/distribution/providers.py +++ b/llama_stack/distribution/ui/page/distribution/providers.py @@ -10,11 +10,17 @@ from modules.api import llama_stack_api def providers(): st.header("🔍 API Providers") - apis_providers_info = llama_stack_api.client.providers.list() - # selected_api = st.selectbox("Select an API", list(apis_providers_info.keys())) - for api in apis_providers_info.keys(): + apis_providers_lst = llama_stack_api.client.providers.list() + api_to_providers = {} + for api_provider in apis_providers_lst: + if api_provider.api in api_to_providers: + api_to_providers[api_provider.api].append(api_provider) + else: + api_to_providers[api_provider.api] = [api_provider] + + for api in api_to_providers.keys(): st.markdown(f"###### {api}") - st.dataframe([p.to_dict() for p in apis_providers_info[api]], width=500) + st.dataframe([x.to_dict() for x in api_to_providers[api]], width=500) providers() diff --git a/llama_stack/distribution/ui/page/playground/chat.py b/llama_stack/distribution/ui/page/playground/chat.py index 5d91ec819..cb9990b7c 100644 --- a/llama_stack/distribution/ui/page/playground/chat.py +++ b/llama_stack/distribution/ui/page/playground/chat.py @@ -121,7 +121,7 @@ if prompt := st.chat_input("Example: What is Llama Stack?"): if stream: for chunk in response: if chunk.event.event_type == "progress": - full_response += chunk.event.delta + full_response += chunk.event.delta.text message_placeholder.markdown(full_response + "▌") message_placeholder.markdown(full_response) else: diff --git a/llama_stack/distribution/ui/page/playground/rag.py b/llama_stack/distribution/ui/page/playground/rag.py index 3a2ba1270..11b05718d 100644 --- a/llama_stack/distribution/ui/page/playground/rag.py +++ b/llama_stack/distribution/ui/page/playground/rag.py @@ -44,14 +44,21 @@ def rag_chat_page(): ] providers = llama_stack_api.client.providers.list() + memory_provider = None + + for x in providers: + if x.api == "memory": + memory_provider = x.provider_id + llama_stack_api.client.memory_banks.register( memory_bank_id=memory_bank_name, # Use the user-provided name params={ + "memory_bank_type": "vector", "embedding_model": "all-MiniLM-L6-v2", "chunk_size_in_tokens": 512, "overlap_size_in_tokens": 64, }, - provider_id=providers["memory"][0].provider_id, + provider_id=memory_provider, ) # insert documents using the custom bank name @@ -69,9 +76,6 @@ def rag_chat_page(): "Select Memory Banks", memory_banks, ) - memory_bank_configs = [ - {"bank_id": bank_id, "type": "vector"} for bank_id in selected_memory_banks - ] available_models = llama_stack_api.client.models.list() available_models = [ @@ -133,14 +137,13 @@ def rag_chat_page(): sampling_params={ "strategy": strategy, }, - tools=[ - { - "type": "memory", - "memory_bank_configs": memory_bank_configs, - "query_generator_config": {"type": "default", "sep": " "}, - "max_tokens_in_context": 4096, - "max_chunks": 10, - } + toolgroups=[ + dict( + name="builtin::memory", + args={ + "memory_bank_ids": [bank_id for bank_id in selected_memory_banks], + }, + ) ], tool_choice="auto", tool_prompt_format="json", @@ -179,7 +182,7 @@ def rag_chat_page(): retrieval_response = "" for log in EventLogger().log(response): log.print() - if log.role == "memory_retrieval": + if log.role == "tool_execution": retrieval_response += log.content.replace("====", "").strip() retrieval_message_placeholder.info(retrieval_response) else: From c2a072911d957c2afb1043ee84191a910fb1af8e Mon Sep 17 00:00:00 2001 From: Xi Yan Date: Thu, 16 Jan 2025 23:11:21 -0800 Subject: [PATCH 02/11] fix eval notebook & add test to workflow (#803) --- .github/workflows/publish-to-test-pypi.yml | 1 + .../Llama_Stack_Benchmark_Evals.ipynb | 552 +++++++++--------- 2 files changed, 277 insertions(+), 276 deletions(-) diff --git a/.github/workflows/publish-to-test-pypi.yml b/.github/workflows/publish-to-test-pypi.yml index 35cbc4dc3..9fe502254 100644 --- a/.github/workflows/publish-to-test-pypi.yml +++ b/.github/workflows/publish-to-test-pypi.yml @@ -239,5 +239,6 @@ jobs: pip install pytest nbval llama stack build --template together --image-type venv pytest -v -s --nbval-lax ./docs/notebooks/Llama_Stack_Building_AI_Applications.ipynb + pytest -v -s --nbval-lax ./docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb # TODO: add trigger for integration test workflow & docker builds diff --git a/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb b/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb index 83891b7ac..730017232 100644 --- a/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb +++ b/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb @@ -105,6 +105,7 @@ } ], "source": [ + "# NBVAL_SKIP\n", "!pip install -U llama-stack" ] }, @@ -309,12 +310,13 @@ } ], "source": [ + "# NBVAL_SKIP\n", "!llama stack build --template together --image-type venv" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -328,7 +330,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "Warning: `bwrap` is not available. Code interpreter tool will not work correctly.\n" + "Not in Google Colab environment\n", + "\u001b[33mWarning: `bwrap` is not available. Code interpreter tool will not work correctly.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/anaconda3/envs/master/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" ] }, { @@ -356,63 +367,83 @@ "- safety\n", "- scoring\n", "- telemetry\n", - "conda_env: together\n", + "- tool_runtime\n", "datasets: []\n", "docker_image: null\n", "eval_tasks: []\n", "image_name: together\n", "memory_banks: []\n", "metadata_store:\n", - " db_path: /root/.llama/distributions/together/registry.db\n", + " db_path: /Users/xiyan/.llama/distributions/together/registry.db\n", " namespace: null\n", " type: sqlite\n", "models:\n", "- metadata: {}\n", " model_id: meta-llama/Llama-3.1-8B-Instruct\n", - " model_type: &id001 !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", " - llm\n", - " provider_id: null\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo\n", "- metadata: {}\n", " model_id: meta-llama/Llama-3.1-70B-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo\n", "- metadata: {}\n", " model_id: meta-llama/Llama-3.1-405B-Instruct-FP8\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo\n", "- metadata: {}\n", " model_id: meta-llama/Llama-3.2-3B-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-3.2-3B-Instruct-Turbo\n", "- metadata: {}\n", " model_id: meta-llama/Llama-3.2-11B-Vision-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo\n", "- metadata: {}\n", " model_id: meta-llama/Llama-3.2-90B-Vision-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo\n", "- metadata: {}\n", + " model_id: meta-llama/Llama-3.3-70B-Instruct\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", + " provider_model_id: meta-llama/Llama-3.3-70B-Instruct-Turbo\n", + "- metadata: {}\n", " model_id: meta-llama/Llama-Guard-3-8B\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-Guard-3-8B\n", "- metadata: {}\n", " model_id: meta-llama/Llama-Guard-3-11B-Vision\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-Guard-3-11B-Vision-Turbo\n", + "- metadata:\n", + " embedding_dimension: 384\n", + " model_id: all-MiniLM-L6-v2\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - embedding\n", + " provider_id: sentence-transformers\n", + " provider_model_id: null\n", "providers:\n", " agents:\n", " - config:\n", " persistence_store:\n", - " db_path: /root/.llama/distributions/together/agents_store.db\n", + " db_path: /Users/xiyan/.llama/distributions/together/agents_store.db\n", " namespace: null\n", " type: sqlite\n", " provider_id: meta-reference\n", @@ -430,14 +461,17 @@ " provider_type: inline::meta-reference\n", " inference:\n", " - config:\n", - " api_key: 4985b03e627419b2964d34b8519ac6c4319f094d1ffb4f45514b4eb87e5427a2\n", + " api_key: '********'\n", " url: https://api.together.xyz/v1\n", " provider_id: together\n", " provider_type: remote::together\n", + " - config: {}\n", + " provider_id: sentence-transformers\n", + " provider_type: inline::sentence-transformers\n", " memory:\n", " - config:\n", " kvstore:\n", - " db_path: /root/.llama/distributions/together/faiss_store.db\n", + " db_path: /Users/xiyan/.llama/distributions/together/faiss_store.db\n", " namespace: null\n", " type: sqlite\n", " provider_id: faiss\n", @@ -454,22 +488,52 @@ " provider_id: llm-as-judge\n", " provider_type: inline::llm-as-judge\n", " - config:\n", - " openai_api_key: ''\n", + " openai_api_key: '********'\n", " provider_id: braintrust\n", " provider_type: inline::braintrust\n", " telemetry:\n", " - config:\n", " service_name: llama-stack\n", " sinks: sqlite\n", - " sqlite_db_path: /root/.llama/distributions/together/trace_store.db\n", + " sqlite_db_path: /Users/xiyan/.llama/distributions/together/trace_store.db\n", " provider_id: meta-reference\n", " provider_type: inline::meta-reference\n", + " tool_runtime:\n", + " - config:\n", + " api_key: '********'\n", + " max_results: 3\n", + " provider_id: brave-search\n", + " provider_type: remote::brave-search\n", + " - config:\n", + " api_key: '********'\n", + " max_results: 3\n", + " provider_id: tavily-search\n", + " provider_type: remote::tavily-search\n", + " - config: {}\n", + " provider_id: code-interpreter\n", + " provider_type: inline::code-interpreter\n", + " - config: {}\n", + " provider_id: memory-runtime\n", + " provider_type: inline::memory-runtime\n", "scoring_fns: []\n", "shields:\n", "- params: null\n", " provider_id: null\n", " provider_shield_id: null\n", " shield_id: meta-llama/Llama-Guard-3-8B\n", + "tool_groups:\n", + "- args: null\n", + " mcp_endpoint: null\n", + " provider_id: tavily-search\n", + " toolgroup_id: builtin::websearch\n", + "- args: null\n", + " mcp_endpoint: null\n", + " provider_id: memory-runtime\n", + " toolgroup_id: builtin::memory\n", + "- args: null\n", + " mcp_endpoint: null\n", + " provider_id: code-interpreter\n", + " toolgroup_id: builtin::code_interpreter\n", "version: '2'\n", "\n", "\n" @@ -484,63 +548,83 @@ "- safety\n", "- scoring\n", "- telemetry\n", - "conda_env: together\n", + "- tool_runtime\n", "datasets: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n", "docker_image: null\n", "eval_tasks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n", "image_name: together\n", "memory_banks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n", "metadata_store:\n", - " db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95mregistry.db\u001b[0m\n", + " db_path: \u001b[35m/Users/xiyan/.llama/distributions/together/\u001b[0m\u001b[95mregistry.db\u001b[0m\n", " namespace: null\n", " type: sqlite\n", "models:\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-\u001b[1;36m3.1\u001b[0m-8B-Instruct\n", - " model_type: &id001 !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", " - llm\n", - " provider_id: null\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-\u001b[1;36m3.1\u001b[0m-8B-Instruct-Turbo\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-\u001b[1;36m3.1\u001b[0m-70B-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-\u001b[1;36m3.1\u001b[0m-70B-Instruct-Turbo\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-\u001b[1;36m3.1\u001b[0m-405B-Instruct-FP8\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-\u001b[1;36m3.1\u001b[0m-405B-Instruct-Turbo\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-3B-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-3B-Instruct-Turbo\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-11B-Vision-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-11B-Vision-Instruct-Turbo\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-90B-Vision-Instruct\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-90B-Vision-Instruct-Turbo\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", + " model_id: meta-llama/Llama-\u001b[1;36m3.3\u001b[0m-70B-Instruct\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", + " provider_model_id: meta-llama/Llama-\u001b[1;36m3.3\u001b[0m-70B-Instruct-Turbo\n", + "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-8B\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Meta-Llama-Guard-\u001b[1;36m3\u001b[0m-8B\n", "- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", " model_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-11B-Vision\n", - " model_type: *id001\n", - " provider_id: null\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - llm\n", + " provider_id: together\n", " provider_model_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-11B-Vision-Turbo\n", + "- metadata:\n", + " embedding_dimension: \u001b[1;36m384\u001b[0m\n", + " model_id: all-MiniLM-L6-v2\n", + " model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n", + " - embedding\n", + " provider_id: sentence-transformers\n", + " provider_model_id: null\n", "providers:\n", " agents:\n", " - config:\n", " persistence_store:\n", - " db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95magents_store.db\u001b[0m\n", + " db_path: \u001b[35m/Users/xiyan/.llama/distributions/together/\u001b[0m\u001b[95magents_store.db\u001b[0m\n", " namespace: null\n", " type: sqlite\n", " provider_id: meta-reference\n", @@ -558,14 +642,17 @@ " provider_type: inline::meta-reference\n", " inference:\n", " - config:\n", - " api_key: 4985b03e627419b2964d34b8519ac6c4319f094d1ffb4f45514b4eb87e5427a2\n", + " api_key: \u001b[32m'********'\u001b[0m\n", " url: \u001b[4;94mhttps://api.together.xyz/v1\u001b[0m\n", " provider_id: together\n", " provider_type: remote::together\n", + " - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", + " provider_id: sentence-transformers\n", + " provider_type: inline::sentence-transformers\n", " memory:\n", " - config:\n", " kvstore:\n", - " db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95mfaiss_store.db\u001b[0m\n", + " db_path: \u001b[35m/Users/xiyan/.llama/distributions/together/\u001b[0m\u001b[95mfaiss_store.db\u001b[0m\n", " namespace: null\n", " type: sqlite\n", " provider_id: faiss\n", @@ -582,58 +669,74 @@ " provider_id: llm-as-judge\n", " provider_type: inline::llm-as-judge\n", " - config:\n", - " openai_api_key: \u001b[32m''\u001b[0m\n", + " openai_api_key: \u001b[32m'********'\u001b[0m\n", " provider_id: braintrust\n", " provider_type: inlin\u001b[1;92me::b\u001b[0mraintrust\n", " telemetry:\n", " - config:\n", " service_name: llama-stack\n", " sinks: sqlite\n", - " sqlite_db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95mtrace_store.db\u001b[0m\n", + " sqlite_db_path: \u001b[35m/Users/xiyan/.llama/distributions/together/\u001b[0m\u001b[95mtrace_store.db\u001b[0m\n", " provider_id: meta-reference\n", " provider_type: inline::meta-reference\n", + " tool_runtime:\n", + " - config:\n", + " api_key: \u001b[32m'********'\u001b[0m\n", + " max_results: \u001b[1;36m3\u001b[0m\n", + " provider_id: brave-search\n", + " provider_type: remot\u001b[1;92me::b\u001b[0mrave-search\n", + " - config:\n", + " api_key: \u001b[32m'********'\u001b[0m\n", + " max_results: \u001b[1;36m3\u001b[0m\n", + " provider_id: tavily-search\n", + " provider_type: remote::tavily-search\n", + " - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", + " provider_id: code-interpreter\n", + " provider_type: inlin\u001b[1;92me::c\u001b[0mode-interpreter\n", + " - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n", + " provider_id: memory-runtime\n", + " provider_type: inline::memory-runtime\n", "scoring_fns: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n", "shields:\n", "- params: null\n", " provider_id: null\n", " provider_shield_id: null\n", " shield_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-8B\n", + "tool_groups:\n", + "- args: null\n", + " mcp_endpoint: null\n", + " provider_id: tavily-search\n", + " toolgroup_id: builtin::websearch\n", + "- args: null\n", + " mcp_endpoint: null\n", + " provider_id: memory-runtime\n", + " toolgroup_id: builtin::memory\n", + "- args: null\n", + " mcp_endpoint: null\n", + " provider_id: code-interpreter\n", + " toolgroup_id: builtin::code_interpreter\n", "version: \u001b[32m'2'\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Model(identifier='meta-llama/Llama-3.1-405B-Instruct', metadata={}, provider_id='together', provider_resource_id='meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', type='model', model_type='llm')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ "import os\n", "\n", - "from google.colab import userdata\n", - "\n", - "os.environ[\"TOGETHER_API_KEY\"] = userdata.get(\"TOGETHER_API_KEY\")\n", + "try:\n", + " from google.colab import userdata\n", + " os.environ['TOGETHER_API_KEY'] = userdata.get('TOGETHER_API_KEY')\n", + " os.environ['TAVILY_SEARCH_API_KEY'] = userdata.get('TAVILY_SEARCH_API_KEY')\n", + "except ImportError:\n", + " print(\"Not in Google Colab environment\")\n", "\n", "from llama_stack.distribution.library_client import LlamaStackAsLibraryClient\n", "\n", "client = LlamaStackAsLibraryClient(\"together\")\n", - "_ = client.initialize()\n", - "\n", - "# register 405B as LLM Judge model\n", - "client.models.register(\n", - " model_id=\"meta-llama/Llama-3.1-405B-Instruct\",\n", - " provider_model_id=\"meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo\",\n", - " provider_id=\"together\",\n", - ")\n" + "_ = client.initialize()" ] }, { @@ -662,7 +765,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "id": "TC_IwIAQo4q-" }, @@ -670,12 +773,12 @@ "source": [ "name = \"llamastack/mmmu\"\n", "subset = \"Agriculture\"\n", - "split = \"dev\"\n" + "split = \"dev\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -788,130 +891,13 @@ }, "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "feb82e061ee44283b4a46be858ef4cd7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "README.md: 0%| | 0.00/36.0k [00:00EvaluateResponse(\n", "generations=[\n", + "│ │ {'generated_answer': 'Answer: D'},\n", "│ │ {\n", - "│ │ │ 'generated_answer': 'The Colorado potato beetle (Leptinotarsa decemlineata) is a significant pest of potatoes, causing damage to the leaves and stems of potato plants. The insect with black-colored antennae in the image is a Colorado potato beetle, which is known for its distinctive black and yellow stripes. On the other hand, the insect with tan-colored antennae is not a Colorado potato beetle and does not appear to be a pest of potatoes.\\n\\n*Answer*: B) The one with black coloured antennae'\n", + "│ │ │ 'generated_answer': 'The image shows a sunflower leaf with small, dark spots and white powdery patches. The dark spots are likely caused by a fungal pathogen, such as rust or septoria leaf spot, while the white powdery patches are likely caused by a fungal pathogen, such as powdery mildew.\\n\\nSince there are two distinct types of lesions on the leaf, it is likely that there are two different pathogens infecting the leaf.\\n\\n**Answer:** B) Two pathogens'\n", "│ │ },\n", "│ │ {\n", - "│ │ │ 'generated_answer': 'To determine the count of pathogens infecting this sunflower leaf, we need to analyze the image carefully. The image shows a sunflower leaf with several brown spots and patches on its surface. These brown spots and patches are indicative of fungal infections, which are common pathogens that affect sunflowers.\\n\\nUpon closer inspection, we can see that there are two distinct types of brown spots and patches on the leaf. One type is smaller and more circular in shape, while the other type is larger and more irregular in shape. This suggests that there may be two different pathogens infecting the leaf.\\n\\nHowever, without further information or testing, it is difficult to say for certain whether these two types of brown spots and patches are caused by different pathogens or if they are just different stages of the same infection. Therefore, based on the available information, the most likely answer is:\\n\\nAnswer: B) Two pathogens'\n", + "│ │ │ 'generated_answer': \"The question requires the identification of the reason behind the massive gum production on the trunks of grapefruit trees in Cyprus, despite appearing healthy from a distance. The correct answer can be deduced by analyzing the symptoms and considering the possible causes.\\n\\nTo determine the correct answer, let's evaluate each option:\\n\\nA) Don't know or not sure: This option is incorrect because it does not provide a specific reason for the gum production.\\n\\nB) Physiological stress: This option is also incorrect because it is too broad and does not specifically explain the gum production.\\n\\nC) Bacterial disease: This option is incorrect because bacterial diseases typically cause different symptoms such as leaf spots, blights, or wilting.\\n\\nD) Harvesting damage when cutting with knives: This option is incorrect because harvesting damage would likely cause wounds or scars on the tree, but it would not lead to massive gum production.\\n\\nE) Fungal gummosis: This option is the most likely cause of the gum production. Fungal gummosis is a common disease in citrus trees, including grapefruit, that causes the production of gum or sap on the trunks and branches. The disease is typically caused by fungi such as Phytophthora or Diplodia, which infect the tree through wounds or natural openings. The gum production is a defense mechanism by the tree to try to seal off the infection and prevent further damage.\\n\\nTherefore, the correct answer is:\\n\\nAnswer: E\"\n", "│ │ },\n", + "│ │ {'generated_answer': 'Answer: D'},\n", "│ │ {\n", - "│ │ │ 'generated_answer': 'Based on the image, the most likely reason for the massive gum production on the trunks of these grapefruit trees in Cyprus is a fungal infection. The gummosis, or the production of gum, is a common symptom of fungal diseases in citrus trees, and it can be caused by various factors such as root damage, water stress, or nutrient deficiencies. However, in this case, the presence of the gum on the trunks of the trees suggests that the cause is more likely related to a fungal infection.\\n\\nAnswer: E) Fungal gummosis'\n", - "│ │ },\n", - "│ │ {\n", - "│ │ │ 'generated_answer': 'The correct answer is D) Most viruses have a specific relationship with their vectors.\\n\\nExplanation:\\n\\n* Laboratory work with micro manipulators can mimic the transmission of viruses, but this is not the primary method of virus transmission in nature.\\n* Not all plant-feeding insects can transmit viruses; only specific species that have evolved to transmit particular viruses are capable of doing so.\\n* Similarly, not all plant viruses can be transmitted by insects; some are transmitted through other means such as mechanical transmission or nematodes.\\n* The correct assertion is that most viruses have a specific relationship with their vectors, meaning that each virus is typically transmitted by a specific type of insect or vector.\\n\\nAnswer: D'\n", - "│ │ },\n", - "│ │ {\n", - "│ │ │ 'generated_answer': \"The petioles of this rhubarb are splitting, and we need to determine which of the listed issues would not be the cause. \\n\\nFirst, let's consider physiological problems (A). Rhubarb is a hardy plant, but it can still experience physiological issues due to factors like temperature fluctuations, water stress, or nutrient deficiencies. These issues could potentially cause the petioles to split.\\n\\nNext, let's look at phytoplasma infection (B). Phytoplasmas are bacteria-like organisms that can infect plants, causing a range of symptoms including yellowing or browning of leaves, stunted growth, and distorted or split petioles. So, phytoplasma infection could also be a possible cause.\\n\\nNow, let's consider animal damage (D). Animals like rabbits, deer, or rodents might feed on the rhubarb leaves, causing damage to the petioles and potentially leading to splitting.\\n\\nFinally, let's think about bacteria (E). Bacterial infections can cause a range of symptoms in plants, including soft rot, leaf spot, and petiole splitting. So, bacteria could also be a potential cause.\\n\\nBased on this analysis, it seems that all of the listed issues could potentially cause the petioles of this rhubarb to split. Therefore, the correct answer is:\\n\\nAnswer: C\"\n", + "│ │ │ 'generated_answer': '**Causes of Splitting Petioles in Rhubarb**\\n\\nThe following factors can cause the petioles of rhubarb to split:\\n\\n* **Physiological Problems**: Issues such as water stress, nutrient deficiencies, or extreme temperatures can lead to splitting.\\n* **Phytoplasma Infection**: A bacterial infection caused by phytoplasma can lead to splitting of the petioles.\\n* **Animal Damage**: Pests like slugs, snails, or rodents can damage the plant and cause splitting.\\n* **Bacterial Infection**: Bacterial infections can also cause splitting.\\n\\nAs a result, the correct answer is:\\n\\n*Answer*: A) Physiological problems'\n", "│ │ }\n", "],\n", "scores={\n", "│ │ 'basic::regex_parser_multiple_choice_answer': ScoringResult(\n", - "│ │ │ aggregated_results={'accuracy': 0.2, 'num_correct': 1.0, 'num_total': 5.0},\n", + "│ │ │ aggregated_results={'accuracy': {'accuracy': 0.2, 'num_correct': 1.0, 'num_total': 5}},\n", "│ │ │ score_rows=[{'score': 0.0}, {'score': 0.0}, {'score': 0.0}, {'score': 1.0}, {'score': 0.0}]\n", "│ │ )\n", "}\n", @@ -987,25 +969,21 @@ "text/plain": [ "\u001b[1;35mEvaluateResponse\u001b[0m\u001b[1m(\u001b[0m\n", "\u001b[2;32m│ \u001b[0m\u001b[33mgenerations\u001b[0m=\u001b[1m[\u001b[0m\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Answer: D'\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The Colorado potato beetle \u001b[0m\u001b[32m(\u001b[0m\u001b[32mLeptinotarsa decemlineata\u001b[0m\u001b[32m)\u001b[0m\u001b[32m is a significant pest of potatoes, causing damage to the leaves and stems of potato plants. The insect with black-colored antennae in the image is a Colorado potato beetle, which is known for its distinctive black and yellow stripes. On the other hand, the insect with tan-colored antennae is not a Colorado potato beetle and does not appear to be a pest of potatoes.\\n\\n*Answer*: B\u001b[0m\u001b[32m)\u001b[0m\u001b[32m The one with black coloured antennae'\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The image shows a sunflower leaf with small, dark spots and white powdery patches. The dark spots are likely caused by a fungal pathogen, such as rust or septoria leaf spot, while the white powdery patches are likely caused by a fungal pathogen, such as powdery mildew.\\n\\nSince there are two distinct types of lesions on the leaf, it is likely that there are two different pathogens infecting the leaf.\\n\\n**Answer:** B\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Two pathogens'\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'To determine the count of pathogens infecting this sunflower leaf, we need to analyze the image carefully. The image shows a sunflower leaf with several brown spots and patches on its surface. These brown spots and patches are indicative of fungal infections, which are common pathogens that affect sunflowers.\\n\\nUpon closer inspection, we can see that there are two distinct types of brown spots and patches on the leaf. One type is smaller and more circular in shape, while the other type is larger and more irregular in shape. This suggests that there may be two different pathogens infecting the leaf.\\n\\nHowever, without further information or testing, it is difficult to say for certain whether these two types of brown spots and patches are caused by different pathogens or if they are just different stages of the same infection. Therefore, based on the available information, the most likely answer is:\\n\\nAnswer: B\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Two pathogens'\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"The question requires the identification of the reason behind the massive gum production on the trunks of grapefruit trees in Cyprus, despite appearing healthy from a distance. The correct answer can be deduced by analyzing the symptoms and considering the possible causes.\\n\\nTo determine the correct answer, let's evaluate each option:\\n\\nA\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Don't know or not sure: This option is incorrect because it does not provide a specific reason for the gum production.\\n\\nB\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Physiological stress: This option is also incorrect because it is too broad and does not specifically explain the gum production.\\n\\nC\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Bacterial disease: This option is incorrect because bacterial diseases typically cause different symptoms such as leaf spots, blights, or wilting.\\n\\nD\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Harvesting damage when cutting with knives: This option is incorrect because harvesting damage would likely cause wounds or scars on the tree, but it would not lead to massive gum production.\\n\\nE\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Fungal gummosis: This option is the most likely cause of the gum production. Fungal gummosis is a common disease in citrus trees, including grapefruit, that causes the production of gum or sap on the trunks and branches. The disease is typically caused by fungi such as Phytophthora or Diplodia, which infect the tree through wounds or natural openings. The gum production is a defense mechanism by the tree to try to seal off the infection and prevent further damage.\\n\\nTherefore, the correct answer is:\\n\\nAnswer: E\"\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Answer: D'\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'Based on the image, the most likely reason for the massive gum production on the trunks of these grapefruit trees in Cyprus is a fungal infection. The gummosis, or the production of gum, is a common symptom of fungal diseases in citrus trees, and it can be caused by various factors such as root damage, water stress, or nutrient deficiencies. However, in this case, the presence of the gum on the trunks of the trees suggests that the cause is more likely related to a fungal infection.\\n\\nAnswer: E\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Fungal gummosis'\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The correct answer is D\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Most viruses have a specific relationship with their vectors.\\n\\nExplanation:\\n\\n* Laboratory work with micro manipulators can mimic the transmission of viruses, but this is not the primary method of virus transmission in nature.\\n* Not all plant-feeding insects can transmit viruses; only specific species that have evolved to transmit particular viruses are capable of doing so.\\n* Similarly, not all plant viruses can be transmitted by insects; some are transmitted through other means such as mechanical transmission or nematodes.\\n* The correct assertion is that most viruses have a specific relationship with their vectors, meaning that each virus is typically transmitted by a specific type of insect or vector.\\n\\nAnswer: D'\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"The petioles of this rhubarb are splitting, and we need to determine which of the listed issues would not be the cause. \\n\\nFirst, let's consider physiological problems \u001b[0m\u001b[32m(\u001b[0m\u001b[32mA\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. Rhubarb is a hardy plant, but it can still experience physiological issues due to factors like temperature fluctuations, water stress, or nutrient deficiencies. These issues could potentially cause the petioles to split.\\n\\nNext, let's look at phytoplasma infection \u001b[0m\u001b[32m(\u001b[0m\u001b[32mB\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. Phytoplasmas are bacteria-like organisms that can infect plants, causing a range of symptoms including yellowing or browning of leaves, stunted growth, and distorted or split petioles. So, phytoplasma infection could also be a possible cause.\\n\\nNow, let's consider animal damage \u001b[0m\u001b[32m(\u001b[0m\u001b[32mD\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. Animals like rabbits, deer, or rodents might feed on the rhubarb leaves, causing damage to the petioles and potentially leading to splitting.\\n\\nFinally, let's think about bacteria \u001b[0m\u001b[32m(\u001b[0m\u001b[32mE\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. Bacterial infections can cause a range of symptoms in plants, including soft rot, leaf spot, and petiole splitting. So, bacteria could also be a potential cause.\\n\\nBased on this analysis, it seems that all of the listed issues could potentially cause the petioles of this rhubarb to split. Therefore, the correct answer is:\\n\\nAnswer: C\"\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'**Causes of Splitting Petioles in Rhubarb**\\n\\nThe following factors can cause the petioles of rhubarb to split:\\n\\n* **Physiological Problems**: Issues such as water stress, nutrient deficiencies, or extreme temperatures can lead to splitting.\\n* **Phytoplasma Infection**: A bacterial infection caused by phytoplasma can lead to splitting of the petioles.\\n* **Animal Damage**: Pests like slugs, snails, or rodents can damage the plant and cause splitting.\\n* **Bacterial Infection**: Bacterial infections can also cause splitting.\\n\\nAs a result, the correct answer is:\\n\\n*Answer*: A\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Physiological problems'\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m\n", "\u001b[2;32m│ \u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32m│ \u001b[0m\u001b[33mscores\u001b[0m=\u001b[1m{\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::regex_parser_multiple_choice_answer'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m0.2\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m5.0\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m0.2\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m5\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m0.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m0.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m0.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m0.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", @@ -1056,7 +1034,9 @@ " \"model\": \"meta-llama/Llama-3.2-90B-Vision-Instruct\",\n", " \"sampling_params\": {\n", " \"strategy\": {\n", - " \"type\": \"greedy\",\n", + " \"type\": \"top_p\",\n", + " \"temperature\": 1.0,\n", + " \"top_p\": 0.95,\n", " },\n", " \"max_tokens\": 4096,\n", " \"repeat_penalty\": 1.0,\n", @@ -1081,7 +1061,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "id": "HXmZf3Ymw-aX" }, @@ -1108,7 +1088,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "id": "Gc8azb4Rxr5J" }, @@ -1122,7 +1102,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1136,7 +1116,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 5/5 [00:48<00:00, 9.68s/it]\n" + " 0%| | 0/5 [00:00EvaluateResponse(\n", "generations=[\n", - "│ │ {'generated_answer': 'The recipient of the IEEE Frank Rosenblatt Award in 2010 was Vladimir Vapnik'},\n", + "│ │ {'generated_answer': \"I'm not sure who received the IEEE Frank Rosenblatt Award in 2010.\"},\n", + "│ │ {'generated_answer': \"I'm not aware of the information about the 2018 Jerlov Award recipient.\"},\n", "│ │ {\n", - "│ │ │ 'generated_answer': \"I am unable to verify who was awarded the Oceanography Society's Jerlov Award in 2018.\"\n", + "│ │ │ 'generated_answer': \"Radcliffe College was a women's liberal arts college in Cambridge, Massachusetts. However, it merged with Harvard University in 1977 and is now known as the Radcliffe Institute for Advanced Study at Harvard University.\"\n", "│ │ },\n", + "│ │ {'generated_answer': 'I do not have information on the Leipzig 1877 tournament.'},\n", "│ │ {\n", - "│ │ │ 'generated_answer': \"Radcliffe College was a women's liberal arts college, but it has since been integrated into Harvard University.\"\n", - "│ │ },\n", - "│ │ {\n", - "│ │ │ 'generated_answer': \"The Leipzig 1877 tournament was organized in the honor of 50th anniversary of the first chess club in Germany (the Leipzig Chess Club's) founding and of the 50th anniversary of Paul Morphy's birth\"\n", - "│ │ },\n", - "│ │ {\n", - "│ │ │ 'generated_answer': \"Karl Küchler's 1908 guidebook states that Empress Elizabeth of Austria's favorite sculpture, which was made for her villa Achilleion at Corfu, depicted 'Dying Achilles'.\"\n", + "│ │ │ 'generated_answer': \"I am unable to verify what Empress Elizabeth of Austria's favorite sculpture depicted at her villa Achilleion at Corfu, according to Karl Küchler.\"\n", "│ │ }\n", "],\n", "scores={\n", "│ │ 'llm-as-judge::405b-simpleqa': ScoringResult(\n", "│ │ │ aggregated_results={},\n", "│ │ │ score_rows=[\n", - "│ │ │ │ {'score': 'B', 'judge_feedback': 'B'},\n", + "│ │ │ │ {'score': 'C', 'judge_feedback': 'C'},\n", "│ │ │ │ {'score': 'C', 'judge_feedback': 'C'},\n", "│ │ │ │ {'score': 'A', 'judge_feedback': 'A'},\n", - "│ │ │ │ {'score': 'B', 'judge_feedback': 'B'},\n", - "│ │ │ │ {'score': 'B', 'judge_feedback': 'B'}\n", + "│ │ │ │ {'score': 'C', 'judge_feedback': 'C'},\n", + "│ │ │ │ {'score': 'C', 'judge_feedback': 'C'}\n", "│ │ │ ]\n", "│ │ )\n", "}\n", @@ -1176,29 +1159,25 @@ "text/plain": [ "\u001b[1;35mEvaluateResponse\u001b[0m\u001b[1m(\u001b[0m\n", "\u001b[2;32m│ \u001b[0m\u001b[33mgenerations\u001b[0m=\u001b[1m[\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The recipient of the IEEE Frank Rosenblatt Award in 2010 was Vladimir Vapnik'\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"I'm not sure who received the IEEE Frank Rosenblatt Award in 2010.\"\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"I'm not aware of the information about the 2018 Jerlov Award recipient.\"\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"I am unable to verify who was awarded the Oceanography Society's Jerlov Award in 2018.\"\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"Radcliffe College was a women's liberal arts college in Cambridge, Massachusetts. However, it merged with Harvard University in 1977 and is now known as the Radcliffe Institute for Advanced Study at Harvard University.\"\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'I do not have information on the Leipzig 1877 tournament.'\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"Radcliffe College was a women's liberal arts college, but it has since been integrated into Harvard University.\"\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"The Leipzig 1877 tournament was organized in the honor of 50th anniversary of the first chess club in Germany \u001b[0m\u001b[32m(\u001b[0m\u001b[32mthe Leipzig Chess Club's\u001b[0m\u001b[32m)\u001b[0m\u001b[32m founding and of the 50th anniversary of Paul Morphy's birth\"\u001b[0m\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ \u001b[0m\u001b[1m{\u001b[0m\n", - "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"Karl Küchler's 1908 guidebook states that Empress Elizabeth of Austria's favorite sculpture, which was made for her villa Achilleion at Corfu, depicted 'Dying Achilles'.\"\u001b[0m\n", + "\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"I am unable to verify what Empress Elizabeth of Austria's favorite sculpture depicted at her villa Achilleion at Corfu, according to Karl Küchler.\"\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m}\u001b[0m\n", "\u001b[2;32m│ \u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32m│ \u001b[0m\u001b[33mscores\u001b[0m=\u001b[1m{\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[32m'llm-as-judge::405b-simpleqa'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n", "\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\n", - "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'B'\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'C'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'C'\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'C'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'C'\u001b[0m\u001b[1m}\u001b[0m,\n", "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'A'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'A'\u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'B'\u001b[0m\u001b[1m}\u001b[0m,\n", - "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'B'\u001b[0m\u001b[1m}\u001b[0m\n", + "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'C'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'C'\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'C'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'C'\u001b[0m\u001b[1m}\u001b[0m\n", "\u001b[2;32m│ │ │ \u001b[0m\u001b[1m]\u001b[0m\n", "\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n", "\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n", @@ -1210,6 +1189,13 @@ } ], "source": [ + "# register 405B as LLM Judge model\n", + "client.models.register(\n", + " model_id=\"meta-llama/Llama-3.1-405B-Instruct\",\n", + " provider_model_id=\"meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo\",\n", + " provider_id=\"together\",\n", + ")\n", + "\n", "client.eval_tasks.register(\n", " eval_task_id=\"meta-reference::simpleqa\",\n", " dataset_id=simpleqa_dataset_id,\n", @@ -1257,7 +1243,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1271,7 +1257,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "5it [00:26, 5.29s/it]\n" + "5it [00:06, 1.33s/it]\n" ] }, { @@ -1280,27 +1266,25 @@ "
EvaluateResponse(\n",
               "generations=[\n",
               "│   │   {\n",
-              "│   │   │   'generated_answer': \"I'm sorry but I cannot find the recipient of the IEEE Frank Rosenblatt Award in 2010.\"\n",
+              "│   │   │   'generated_answer': 'The IEEE Frank Rosenblatt Award was given to Professor John Shawe-Taylor in 2010 for his contributions to the foundations of kernel methods.'\n",
               "│   │   },\n",
               "│   │   {\n",
-              "│   │   │   'generated_answer': \"I'm not sure who was awarded the Oceanography Society's Jerlov Award in 2018. Let me search for the information.\"\n",
+              "│   │   │   'generated_answer': 'The Jerlov Award is given by The Oceanography Society to recognize outstanding contributions to the field of ocean optics. The 2018 Jerlov Award was awarded to Dr. Kendall L. Carder.'\n",
               "│   │   },\n",
               "│   │   {\n",
-              "│   │   │   'generated_answer': \"The women's liberal arts college in Cambridge, Massachusetts is called Radcliffe College. However, in 1999, it merged with Harvard University and is now known as the Radcliffe Institute for Advanced Study at Harvard University.\"\n",
+              "│   │   │   'generated_answer': \"The women's liberal arts college in Cambridge, Massachusetts is Radcliffe College. However, in 1999, Radcliffe College merged with Harvard University to form the Radcliffe Institute for Advanced Study at Harvard University. The institute is still located in Cambridge, Massachusetts, and is dedicated to supporting women's education and research.\"\n",
               "│   │   },\n",
+              "│   │   {'generated_answer': 'The Leipzig 1877 tournament was organized in honor of Adolf Anderssen.'},\n",
               "│   │   {\n",
-              "│   │   │   'generated_answer': 'The 1877 Leipzig tournament was organized in honor of Anderssen, a German chess master.'\n",
-              "│   │   },\n",
-              "│   │   {\n",
-              "│   │   │   'generated_answer': \"Empress Elizabeth of Austria's favorite sculpture, made for her villa Achilleion at Corfu, depicted Achilles.\"\n",
+              "│   │   │   'generated_answer': \"According to Karl Küchler, Empress Elizabeth of Austria's favorite sculpture, which was made for her villa Achilleion at Corfu, depicted the Dying Achilles.\"\n",
               "│   │   }\n",
               "],\n",
               "scores={\n",
               "│   │   'llm-as-judge::405b-simpleqa': ScoringResult(\n",
               "│   │   │   aggregated_results={},\n",
               "│   │   │   score_rows=[\n",
-              "│   │   │   │   {'score': 'C', 'judge_feedback': 'C.'},\n",
-              "│   │   │   │   {'score': 'C', 'judge_feedback': 'C'},\n",
+              "│   │   │   │   {'score': 'B', 'judge_feedback': 'B'},\n",
+              "│   │   │   │   {'score': 'B', 'judge_feedback': 'B'},\n",
               "│   │   │   │   {'score': 'A', 'judge_feedback': 'A'},\n",
               "│   │   │   │   {'score': 'A', 'judge_feedback': 'A'},\n",
               "│   │   │   │   {'score': 'B', 'judge_feedback': 'B'}\n",
@@ -1314,27 +1298,25 @@
               "\u001b[1;35mEvaluateResponse\u001b[0m\u001b[1m(\u001b[0m\n",
               "\u001b[2;32m│   \u001b[0m\u001b[33mgenerations\u001b[0m=\u001b[1m[\u001b[0m\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m{\u001b[0m\n",
-              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"I'm sorry but I cannot find the recipient of the IEEE Frank Rosenblatt Award in 2010.\"\u001b[0m\n",
+              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The IEEE Frank Rosenblatt Award was given to Professor John Shawe-Taylor in 2010 for his contributions to the foundations of kernel methods.'\u001b[0m\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m{\u001b[0m\n",
-              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"I'm not sure who was awarded the Oceanography Society's Jerlov Award in 2018. Let me search for the information.\"\u001b[0m\n",
+              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The Jerlov Award is given by The Oceanography Society to recognize outstanding contributions to the field of ocean optics. The 2018 Jerlov Award was awarded to Dr. Kendall L. Carder.'\u001b[0m\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m{\u001b[0m\n",
-              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"The women's liberal arts college in Cambridge, Massachusetts is called Radcliffe College. However, in 1999, it merged with Harvard University and is now known as the Radcliffe Institute for Advanced Study at Harvard University.\"\u001b[0m\n",
+              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"The women's liberal arts college in Cambridge, Massachusetts is Radcliffe College. However, in 1999, Radcliffe College merged with Harvard University to form the Radcliffe Institute for Advanced Study at Harvard University. The institute is still located in Cambridge, Massachusetts, and is dedicated to supporting women's education and research.\"\u001b[0m\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m}\u001b[0m,\n",
+              "\u001b[2;32m│   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The Leipzig 1877 tournament was organized in honor of Adolf Anderssen.'\u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m{\u001b[0m\n",
-              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m'The 1877 Leipzig tournament was organized in honor of Anderssen, a German chess master.'\u001b[0m\n",
-              "\u001b[2;32m│   │   \u001b[0m\u001b[1m}\u001b[0m,\n",
-              "\u001b[2;32m│   │   \u001b[0m\u001b[1m{\u001b[0m\n",
-              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"Empress Elizabeth of Austria's favorite sculpture, made for her villa Achilleion at Corfu, depicted Achilles.\"\u001b[0m\n",
+              "\u001b[2;32m│   │   │   \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"According to Karl Küchler, Empress Elizabeth of Austria's favorite sculpture, which was made for her villa Achilleion at Corfu, depicted the Dying Achilles.\"\u001b[0m\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[1m}\u001b[0m\n",
               "\u001b[2;32m│   \u001b[0m\u001b[1m]\u001b[0m,\n",
               "\u001b[2;32m│   \u001b[0m\u001b[33mscores\u001b[0m=\u001b[1m{\u001b[0m\n",
               "\u001b[2;32m│   │   \u001b[0m\u001b[32m'llm-as-judge::405b-simpleqa'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n",
               "\u001b[2;32m│   │   │   \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   │   \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\n",
-              "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'C'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'C.'\u001b[0m\u001b[1m}\u001b[0m,\n",
-              "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'C'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'C'\u001b[0m\u001b[1m}\u001b[0m,\n",
+              "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'B'\u001b[0m\u001b[1m}\u001b[0m,\n",
+              "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'B'\u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'A'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'A'\u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'A'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'A'\u001b[0m\u001b[1m}\u001b[0m,\n",
               "\u001b[2;32m│   │   │   │   \u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m, \u001b[32m'judge_feedback'\u001b[0m: \u001b[32m'B'\u001b[0m\u001b[1m}\u001b[0m\n",
@@ -1350,15 +1332,17 @@
       ],
       "source": [
         "agent_config = {\n",
-        "    \"model\": \"meta-llama/Llama-3.1-405B-Instruct\",\n",
-        "    \"instructions\": \"You are a helpful assistant\",\n",
-        "    \"sampling_params\": {\"strategy\": {\"type\": \"greedy\"}},\n",
-        "    \"tools\": [\n",
-        "        {\n",
-        "            \"type\": \"brave_search\",\n",
-        "            \"engine\": \"tavily\",\n",
-        "            \"api_key\": userdata.get(\"TAVILY_SEARCH_API_KEY\"),\n",
+        "    \"model\": \"meta-llama/Llama-3.3-70B-Instruct\",\n",
+        "    \"instructions\": \"You are a helpful assistant that have access to tool to search the web. \",\n",
+        "    \"sampling_params\": {\n",
+        "        \"strategy\": {\n",
+        "            \"type\": \"top_p\",\n",
+        "            \"temperature\": 0.5,\n",
+        "            \"top_p\": 0.9,\n",
         "        }\n",
+        "    },\n",
+        "    \"toolgroups\": [\n",
+        "        \"builtin::websearch\",\n",
         "    ],\n",
         "    \"tool_choice\": \"auto\",\n",
         "    \"tool_prompt_format\": \"json\",\n",
@@ -1381,6 +1365,13 @@
         ")\n",
         "pprint(response)\n"
       ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {},
+      "outputs": [],
+      "source": []
     }
   ],
   "metadata": {
@@ -1396,7 +1387,16 @@
       "name": "python3"
     },
     "language_info": {
-      "name": "python"
+      "codemirror_mode": {
+        "name": "ipython",
+        "version": 3
+      },
+      "file_extension": ".py",
+      "mimetype": "text/x-python",
+      "name": "python",
+      "nbconvert_exporter": "python",
+      "pygments_lexer": "ipython3",
+      "version": "3.10.16"
     },
     "widgets": {
       "application/vnd.jupyter.widget-state+json": {

From 53b5f6b24abdc8906fe2cb44352c229e83574b07 Mon Sep 17 00:00:00 2001
From: Dinesh Yeduguru 
Date: Fri, 17 Jan 2025 11:02:25 -0800
Subject: [PATCH 03/11] add json_schema_type to ParamType deps (#808)

# What does this PR do?

Add missing json_schema_type annotation to ParamType deps
---
 docs/resources/llama-stack-spec.html   | 320 +++++++++++++++----------
 docs/resources/llama-stack-spec.yaml   | 233 +++++++++++-------
 llama_stack/apis/common/type_system.py |  13 +-
 3 files changed, 355 insertions(+), 211 deletions(-)

diff --git a/docs/resources/llama-stack-spec.html b/docs/resources/llama-stack-spec.html
index 38cabdd3e..459a53888 100644
--- a/docs/resources/llama-stack-spec.html
+++ b/docs/resources/llama-stack-spec.html
@@ -6067,6 +6067,76 @@
                     "step"
                 ]
             },
+            "AgentTurnInputType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "agent_turn_input",
+                        "default": "agent_turn_input"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "ArrayType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "array",
+                        "default": "array"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "BooleanType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "boolean",
+                        "default": "boolean"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "ChatCompletionInputType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "chat_completion_input",
+                        "default": "chat_completion_input"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "CompletionInputType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "completion_input",
+                        "default": "completion_input"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
             "Dataset": {
                 "type": "object",
                 "properties": {
@@ -6130,150 +6200,110 @@
                     "metadata"
                 ]
             },
+            "JsonType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "json",
+                        "default": "json"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "NumberType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "number",
+                        "default": "number"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "ObjectType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "object",
+                        "default": "object"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
             "ParamType": {
                 "oneOf": [
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "string",
-                                "default": "string"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/StringType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "number",
-                                "default": "number"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/NumberType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "boolean",
-                                "default": "boolean"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/BooleanType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "array",
-                                "default": "array"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/ArrayType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "object",
-                                "default": "object"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/ObjectType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "json",
-                                "default": "json"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/JsonType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "union",
-                                "default": "union"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/UnionType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "chat_completion_input",
-                                "default": "chat_completion_input"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/ChatCompletionInputType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "completion_input",
-                                "default": "completion_input"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/CompletionInputType"
                     },
                     {
-                        "type": "object",
-                        "properties": {
-                            "type": {
-                                "type": "string",
-                                "const": "agent_turn_input",
-                                "default": "agent_turn_input"
-                            }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                            "type"
-                        ]
+                        "$ref": "#/components/schemas/AgentTurnInputType"
                     }
                 ]
             },
+            "StringType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "string",
+                        "default": "string"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
+            "UnionType": {
+                "type": "object",
+                "properties": {
+                    "type": {
+                        "type": "string",
+                        "const": "union",
+                        "default": "union"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "type"
+                ]
+            },
             "EvalTask": {
                 "type": "object",
                 "properties": {
@@ -8922,6 +8952,10 @@
             "name": "AgentTool",
             "description": ""
         },
+        {
+            "name": "AgentTurnInputType",
+            "description": ""
+        },
         {
             "name": "AgentTurnResponseEvent",
             "description": "Streamed agent execution response.\n\n"
@@ -8965,6 +8999,10 @@
             "name": "AppendRowsRequest",
             "description": ""
         },
+        {
+            "name": "ArrayType",
+            "description": ""
+        },
         {
             "name": "BasicScoringFnParams",
             "description": ""
@@ -8992,6 +9030,10 @@
             "name": "BenchmarkEvalTaskConfig",
             "description": ""
         },
+        {
+            "name": "BooleanType",
+            "description": ""
+        },
         {
             "name": "BuiltinTool",
             "description": ""
@@ -9000,6 +9042,10 @@
             "name": "CancelTrainingJobRequest",
             "description": ""
         },
+        {
+            "name": "ChatCompletionInputType",
+            "description": ""
+        },
         {
             "name": "ChatCompletionRequest",
             "description": ""
@@ -9024,6 +9070,10 @@
             "name": "Checkpoint",
             "description": "Checkpoint created during training runs\n\n"
         },
+        {
+            "name": "CompletionInputType",
+            "description": ""
+        },
         {
             "name": "CompletionMessage",
             "description": ""
@@ -9166,6 +9216,10 @@
             "name": "JobStatus",
             "description": ""
         },
+        {
+            "name": "JsonType",
+            "description": ""
+        },
         {
             "name": "KeyValueMemoryBank",
             "description": ""
@@ -9283,6 +9337,14 @@
         {
             "name": "Models"
         },
+        {
+            "name": "NumberType",
+            "description": ""
+        },
+        {
+            "name": "ObjectType",
+            "description": ""
+        },
         {
             "name": "OptimizerConfig",
             "description": ""
@@ -9490,6 +9552,10 @@
             "name": "StopReason",
             "description": ""
         },
+        {
+            "name": "StringType",
+            "description": ""
+        },
         {
             "name": "StructuredLogEvent",
             "description": ""
@@ -9622,6 +9688,10 @@
             "name": "URL",
             "description": ""
         },
+        {
+            "name": "UnionType",
+            "description": ""
+        },
         {
             "name": "UnstructuredLogEvent",
             "description": ""
@@ -9682,6 +9752,7 @@
                 "AgentSessionCreateResponse",
                 "AgentStepResponse",
                 "AgentTool",
+                "AgentTurnInputType",
                 "AgentTurnResponseEvent",
                 "AgentTurnResponseStepCompletePayload",
                 "AgentTurnResponseStepProgressPayload",
@@ -9692,20 +9763,24 @@
                 "AggregationFunctionType",
                 "AppEvalTaskConfig",
                 "AppendRowsRequest",
+                "ArrayType",
                 "BasicScoringFnParams",
                 "BatchChatCompletionRequest",
                 "BatchChatCompletionResponse",
                 "BatchCompletionRequest",
                 "BatchCompletionResponse",
                 "BenchmarkEvalTaskConfig",
+                "BooleanType",
                 "BuiltinTool",
                 "CancelTrainingJobRequest",
+                "ChatCompletionInputType",
                 "ChatCompletionRequest",
                 "ChatCompletionResponse",
                 "ChatCompletionResponseEvent",
                 "ChatCompletionResponseEventType",
                 "ChatCompletionResponseStreamChunk",
                 "Checkpoint",
+                "CompletionInputType",
                 "CompletionMessage",
                 "CompletionRequest",
                 "CompletionResponse",
@@ -9737,6 +9812,7 @@
                 "InvokeToolRequest",
                 "Job",
                 "JobStatus",
+                "JsonType",
                 "KeyValueMemoryBank",
                 "KeyValueMemoryBankParams",
                 "KeywordMemoryBank",
@@ -9764,6 +9840,8 @@
                 "Model",
                 "ModelCandidate",
                 "ModelType",
+                "NumberType",
+                "ObjectType",
                 "OptimizerConfig",
                 "OptimizerType",
                 "PaginatedRowsResult",
@@ -9812,6 +9890,7 @@
                 "SpanStatus",
                 "SpanWithStatus",
                 "StopReason",
+                "StringType",
                 "StructuredLogEvent",
                 "SupervisedFineTuneRequest",
                 "SyntheticDataGenerateRequest",
@@ -9842,6 +9921,7 @@
                 "TrainingConfig",
                 "Turn",
                 "URL",
+                "UnionType",
                 "UnstructuredLogEvent",
                 "UserMessage",
                 "VectorMemoryBank",
diff --git a/docs/resources/llama-stack-spec.yaml b/docs/resources/llama-stack-spec.yaml
index 75bc25e94..9aeac6db3 100644
--- a/docs/resources/llama-stack-spec.yaml
+++ b/docs/resources/llama-stack-spec.yaml
@@ -105,6 +105,16 @@ components:
         - name
         - args
         type: object
+    AgentTurnInputType:
+      additionalProperties: false
+      properties:
+        type:
+          const: agent_turn_input
+          default: agent_turn_input
+          type: string
+      required:
+      - type
+      type: object
     AgentTurnResponseEvent:
       additionalProperties: false
       properties:
@@ -290,6 +300,16 @@ components:
       - dataset_id
       - rows
       type: object
+    ArrayType:
+      additionalProperties: false
+      properties:
+        type:
+          const: array
+          default: array
+          type: string
+      required:
+      - type
+      type: object
     BasicScoringFnParams:
       additionalProperties: false
       properties:
@@ -395,6 +415,16 @@ components:
       - type
       - eval_candidate
       type: object
+    BooleanType:
+      additionalProperties: false
+      properties:
+        type:
+          const: boolean
+          default: boolean
+          type: string
+      required:
+      - type
+      type: object
     BuiltinTool:
       enum:
       - brave_search
@@ -410,6 +440,16 @@ components:
       required:
       - job_uuid
       type: object
+    ChatCompletionInputType:
+      additionalProperties: false
+      properties:
+        type:
+          const: chat_completion_input
+          default: chat_completion_input
+          type: string
+      required:
+      - type
+      type: object
     ChatCompletionRequest:
       additionalProperties: false
       properties:
@@ -492,6 +532,16 @@ components:
       type: object
     Checkpoint:
       description: Checkpoint created during training runs
+    CompletionInputType:
+      additionalProperties: false
+      properties:
+        type:
+          const: completion_input
+          default: completion_input
+          type: string
+      required:
+      - type
+      type: object
     CompletionMessage:
       additionalProperties: false
       properties:
@@ -1007,6 +1057,16 @@ components:
       - failed
       - scheduled
       type: string
+    JsonType:
+      additionalProperties: false
+      properties:
+        type:
+          const: json
+          default: json
+          type: string
+      required:
+      - type
+      type: object
     KeyValueMemoryBank:
       additionalProperties: false
       properties:
@@ -1440,6 +1500,26 @@ components:
       - llm
       - embedding
       type: string
+    NumberType:
+      additionalProperties: false
+      properties:
+        type:
+          const: number
+          default: number
+          type: string
+      required:
+      - type
+      type: object
+    ObjectType:
+      additionalProperties: false
+      properties:
+        type:
+          const: object
+          default: object
+          type: string
+      required:
+      - type
+      type: object
     OptimizerConfig:
       additionalProperties: false
       properties:
@@ -1488,96 +1568,16 @@ components:
       type: object
     ParamType:
       oneOf:
-      - additionalProperties: false
-        properties:
-          type:
-            const: string
-            default: string
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: number
-            default: number
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: boolean
-            default: boolean
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: array
-            default: array
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: object
-            default: object
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: json
-            default: json
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: union
-            default: union
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: chat_completion_input
-            default: chat_completion_input
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: completion_input
-            default: completion_input
-            type: string
-        required:
-        - type
-        type: object
-      - additionalProperties: false
-        properties:
-          type:
-            const: agent_turn_input
-            default: agent_turn_input
-            type: string
-        required:
-        - type
-        type: object
+      - $ref: '#/components/schemas/StringType'
+      - $ref: '#/components/schemas/NumberType'
+      - $ref: '#/components/schemas/BooleanType'
+      - $ref: '#/components/schemas/ArrayType'
+      - $ref: '#/components/schemas/ObjectType'
+      - $ref: '#/components/schemas/JsonType'
+      - $ref: '#/components/schemas/UnionType'
+      - $ref: '#/components/schemas/ChatCompletionInputType'
+      - $ref: '#/components/schemas/CompletionInputType'
+      - $ref: '#/components/schemas/AgentTurnInputType'
     PostTrainingJob:
       additionalProperties: false
       properties:
@@ -2479,6 +2479,16 @@ components:
       - end_of_message
       - out_of_tokens
       type: string
+    StringType:
+      additionalProperties: false
+      properties:
+        type:
+          const: string
+          default: string
+          type: string
+      required:
+      - type
+      type: object
     StructuredLogEvent:
       additionalProperties: false
       properties:
@@ -3131,6 +3141,16 @@ components:
       required:
       - uri
       type: object
+    UnionType:
+      additionalProperties: false
+      properties:
+        type:
+          const: union
+          default: union
+          type: string
+      required:
+      - type
+      type: object
     UnstructuredLogEvent:
       additionalProperties: false
       properties:
@@ -5588,6 +5608,9 @@ tags:
   name: AgentStepResponse
 - description: 
   name: AgentTool
+- description: 
+  name: AgentTurnInputType
 - description: 'Streamed agent execution response.
 
 
@@ -5624,6 +5647,8 @@ tags:
 - description: 
   name: AppendRowsRequest
+- description: 
+  name: ArrayType
 - description: 
   name: BasicScoringFnParams
@@ -5643,11 +5668,16 @@ tags:
 - description: 
   name: BenchmarkEvalTaskConfig
+- description: 
+  name: BooleanType
 - description: 
   name: BuiltinTool
 - description: 
   name: CancelTrainingJobRequest
+- description: 
+  name: ChatCompletionInputType
 - description: 
   name: ChatCompletionRequest
@@ -5676,6 +5706,9 @@ tags:
 
     '
   name: Checkpoint
+- description: 
+  name: CompletionInputType
 - description: 
   name: CompletionMessage
@@ -5770,6 +5803,8 @@ tags:
   name: Job
 - description: 
   name: JobStatus
+- description: 
+  name: JsonType
 - description: 
   name: KeyValueMemoryBank
@@ -5847,6 +5882,10 @@ tags:
 - description: 
   name: ModelType
 - name: Models
+- description: 
+  name: NumberType
+- description: 
+  name: ObjectType
 - description: 
   name: OptimizerConfig
@@ -5988,6 +6027,8 @@ tags:
   name: SpanWithStatus
 - description: 
   name: StopReason
+- description: 
+  name: StringType
 - description: 
   name: StructuredLogEvent
@@ -6080,6 +6121,8 @@ tags:
   name: Turn
 - description: 
   name: URL
+- description: 
+  name: UnionType
 - description: 
   name: UnstructuredLogEvent
@@ -6126,6 +6169,7 @@ x-tagGroups:
   - AgentSessionCreateResponse
   - AgentStepResponse
   - AgentTool
+  - AgentTurnInputType
   - AgentTurnResponseEvent
   - AgentTurnResponseStepCompletePayload
   - AgentTurnResponseStepProgressPayload
@@ -6136,20 +6180,24 @@ x-tagGroups:
   - AggregationFunctionType
   - AppEvalTaskConfig
   - AppendRowsRequest
+  - ArrayType
   - BasicScoringFnParams
   - BatchChatCompletionRequest
   - BatchChatCompletionResponse
   - BatchCompletionRequest
   - BatchCompletionResponse
   - BenchmarkEvalTaskConfig
+  - BooleanType
   - BuiltinTool
   - CancelTrainingJobRequest
+  - ChatCompletionInputType
   - ChatCompletionRequest
   - ChatCompletionResponse
   - ChatCompletionResponseEvent
   - ChatCompletionResponseEventType
   - ChatCompletionResponseStreamChunk
   - Checkpoint
+  - CompletionInputType
   - CompletionMessage
   - CompletionRequest
   - CompletionResponse
@@ -6181,6 +6229,7 @@ x-tagGroups:
   - InvokeToolRequest
   - Job
   - JobStatus
+  - JsonType
   - KeyValueMemoryBank
   - KeyValueMemoryBankParams
   - KeywordMemoryBank
@@ -6208,6 +6257,8 @@ x-tagGroups:
   - Model
   - ModelCandidate
   - ModelType
+  - NumberType
+  - ObjectType
   - OptimizerConfig
   - OptimizerType
   - PaginatedRowsResult
@@ -6256,6 +6307,7 @@ x-tagGroups:
   - SpanStatus
   - SpanWithStatus
   - StopReason
+  - StringType
   - StructuredLogEvent
   - SupervisedFineTuneRequest
   - SyntheticDataGenerateRequest
@@ -6286,6 +6338,7 @@ x-tagGroups:
   - TrainingConfig
   - Turn
   - URL
+  - UnionType
   - UnstructuredLogEvent
   - UserMessage
   - VectorMemoryBank
diff --git a/llama_stack/apis/common/type_system.py b/llama_stack/apis/common/type_system.py
index e76cfde13..fa9c5e92e 100644
--- a/llama_stack/apis/common/type_system.py
+++ b/llama_stack/apis/common/type_system.py
@@ -6,54 +6,65 @@
 
 from typing import Literal, Union
 
-from llama_models.schema_utils import register_schema
+from llama_models.schema_utils import json_schema_type, register_schema
 from pydantic import BaseModel, Field
 from typing_extensions import Annotated
 
 
+@json_schema_type
 class StringType(BaseModel):
     type: Literal["string"] = "string"
 
 
+@json_schema_type
 class NumberType(BaseModel):
     type: Literal["number"] = "number"
 
 
+@json_schema_type
 class BooleanType(BaseModel):
     type: Literal["boolean"] = "boolean"
 
 
+@json_schema_type
 class ArrayType(BaseModel):
     type: Literal["array"] = "array"
 
 
+@json_schema_type
 class ObjectType(BaseModel):
     type: Literal["object"] = "object"
 
 
+@json_schema_type
 class JsonType(BaseModel):
     type: Literal["json"] = "json"
 
 
+@json_schema_type
 class UnionType(BaseModel):
     type: Literal["union"] = "union"
 
 
+@json_schema_type
 class ChatCompletionInputType(BaseModel):
     # expects List[Message] for messages
     type: Literal["chat_completion_input"] = "chat_completion_input"
 
 
+@json_schema_type
 class CompletionInputType(BaseModel):
     # expects InterleavedTextMedia for content
     type: Literal["completion_input"] = "completion_input"
 
 
+@json_schema_type
 class AgentTurnInputType(BaseModel):
     # expects List[Message] for messages (may also include attachments?)
     type: Literal["agent_turn_input"] = "agent_turn_input"
 
 
+@json_schema_type
 class DialogType(BaseModel):
     # expects List[Message] for messages
     # this type semantically contains the output label whereas ChatCompletionInputType does not

From e1decaec9d7d88e313eed6e4a75113b909573d5a Mon Sep 17 00:00:00 2001
From: Paul McCarthy 
Date: Fri, 17 Jan 2025 19:15:55 +0000
Subject: [PATCH 04/11] Fixing small typo in quick start guide (#807)

# What does this PR do?

Fixing small typo in the quick start guide

## Before submitting

- [x] This PR fixes a typo or improves the docs (you can dismiss the
other checks if that's the case).
---
 docs/source/getting_started/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/source/getting_started/index.md b/docs/source/getting_started/index.md
index d7c3fe9e5..602b5a635 100644
--- a/docs/source/getting_started/index.md
+++ b/docs/source/getting_started/index.md
@@ -1,6 +1,6 @@
 # Quick Start
 
-In this guide, we'll through how you can use the Llama Stack client SDK to build a simple RAG agent.
+In this guide, we'll walk through how you can use the Llama Stack client SDK to build a simple RAG agent.
 
 The most critical requirement for running the agent is running inference on the underlying Llama model. Depending on what hardware (GPUs) you have available, you have various options. We will use `Ollama` for this purpose as it is the easiest to get started with and yet robust.
 

From 1f60c0286d6af703bb7926102968cbaa5d66cf0c Mon Sep 17 00:00:00 2001
From: Aidan Do 
Date: Sat, 18 Jan 2025 09:34:29 +1100
Subject: [PATCH 05/11] cannot import name 'GreedySamplingStrategy' (#806)

# What does this PR do?

Fixes error when running an provider using openai_compat.py

```python
Traceback (most recent call last):
  File "/home/ubuntu/miniconda3/envs/llamastack-vllm/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/ubuntu/miniconda3/envs/llamastack-vllm/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/distribution/server/server.py", line 426, in 
    main()
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/distribution/server/server.py", line 349, in main
    impls = asyncio.run(construct_stack(config))
  File "/home/ubuntu/miniconda3/envs/llamastack-vllm/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/home/ubuntu/miniconda3/envs/llamastack-vllm/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/distribution/stack.py", line 207, in construct_stack
    impls = await resolve_impls(
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/distribution/resolver.py", line 239, in resolve_impls
    impl = await instantiate_provider(
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/distribution/resolver.py", line 330, in instantiate_provider
    impl = await fn(*args)
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/providers/remote/inference/vllm/__init__.py", line 11, in get_adapter_impl
    from .vllm import VLLMInferenceAdapter
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/providers/remote/inference/vllm/vllm.py", line 39, in 
    from llama_stack.providers.utils.inference.openai_compat import (
  File "/home/ubuntu/us-south-2/llama-stack/llama_stack/providers/utils/inference/openai_compat.py", line 11, in 
    from llama_models.llama3.api.datatypes import (
ImportError: cannot import name 'GreedySamplingStrategy' from 'llama_models.llama3.api.datatypes' (/home/ubuntu/miniconda3/envs/llamastack-vllm/lib/python3.10/site-packages/llama_models/llama3/api/datatypes.py)
++ error_handler 61
++ echo 'Error occurred in script at line: 61'
Error occurred in script at line: 61
++ exit 1
```

## Test Plan

```bash
conda create --name llamastack-vllm python=3.10
conda activate llamastack-vllm

# To sync with the current llama-models repo
pip install -e git+https://github.com/meta-llama/llama-models.git#egg=llama-models

export INFERENCE_MODEL=unsloth/Llama-3.3-70B-Instruct-bnb-4bit && \
pip install -e . && \
llama stack build --template remote-vllm --image-type conda && \
llama stack run ./distributions/remote-vllm/run.yaml \
  --port 5000 \
  --env INFERENCE_MODEL=$INFERENCE_MODEL \
  --env VLLM_URL=http://localhost:8000
```

## Before submitting

- [ ] This PR fixes a typo or improves the docs (you can dismiss the
other checks if that's the case).
- [ ] Ran pre-commit to handle lint / formatting issues.
- [x] Read the [contributor
guideline](https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md),
      Pull Request section?
- [ ] Updated relevant documentation.
- [ ] Wrote necessary unit or integration tests.
---
 llama_stack/providers/utils/inference/openai_compat.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/llama_stack/providers/utils/inference/openai_compat.py b/llama_stack/providers/utils/inference/openai_compat.py
index f6350ed51..127fd19f3 100644
--- a/llama_stack/providers/utils/inference/openai_compat.py
+++ b/llama_stack/providers/utils/inference/openai_compat.py
@@ -6,15 +6,15 @@
 
 from typing import AsyncGenerator, Dict, List, Optional
 
-from llama_models.llama3.api.chat_format import ChatFormat
-
-from llama_models.llama3.api.datatypes import (
+from llama_models.datatypes import (
     GreedySamplingStrategy,
     SamplingParams,
-    StopReason,
     TopKSamplingStrategy,
     TopPSamplingStrategy,
 )
+
+from llama_models.llama3.api.chat_format import ChatFormat
+from llama_models.llama3.api.datatypes import StopReason
 from pydantic import BaseModel
 
 from llama_stack.apis.common.content_types import (

From eb60f04f86a1b9da20e64f6d466f8445416a0c95 Mon Sep 17 00:00:00 2001
From: Ashwin Bharambe 
Date: Fri, 17 Jan 2025 15:26:53 -0800
Subject: [PATCH 06/11] optional api dependencies (#793)

Co-authored-by: Dinesh Yeduguru 
---
 llama_stack/distribution/resolver.py                     | 9 +++++++--
 llama_stack/providers/datatypes.py                       | 3 +++
 .../inline/telemetry/meta_reference/telemetry.py         | 2 +-
 llama_stack/providers/registry/telemetry.py              | 2 +-
 llama_stack/providers/utils/telemetry/dataset_mixin.py   | 3 +++
 5 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/llama_stack/distribution/resolver.py b/llama_stack/distribution/resolver.py
index d7e947a46..204555b16 100644
--- a/llama_stack/distribution/resolver.py
+++ b/llama_stack/distribution/resolver.py
@@ -145,7 +145,9 @@ async def resolve_impls(
                 log.warning(
                     f"Provider `{provider.provider_type}` for API `{api}` is deprecated and will be removed in a future release: {p.deprecation_warning}",
                 )
-            p.deps__ = [a.value for a in p.api_dependencies]
+            p.deps__ = [a.value for a in p.api_dependencies] + [
+                a.value for a in p.optional_api_dependencies
+            ]
             spec = ProviderWithSpec(
                 spec=p,
                 **(provider.model_dump()),
@@ -229,6 +231,9 @@ async def resolve_impls(
     inner_impls_by_provider_id = {f"inner-{x.value}": {} for x in router_apis}
     for api_str, provider in sorted_providers:
         deps = {a: impls[a] for a in provider.spec.api_dependencies}
+        for a in provider.spec.optional_api_dependencies:
+            if a in impls:
+                deps[a] = impls[a]
 
         inner_impls = {}
         if isinstance(provider.spec, RoutingTableProviderSpec):
@@ -265,7 +270,7 @@ def topological_sort(
                 deps.append(dep)
 
         for dep in deps:
-            if dep not in visited:
+            if dep not in visited and dep in providers_with_specs:
                 dfs((dep, providers_with_specs[dep]), visited, stack)
 
         stack.append(api_str)
diff --git a/llama_stack/providers/datatypes.py b/llama_stack/providers/datatypes.py
index ce0c9f52e..3e64a62a1 100644
--- a/llama_stack/providers/datatypes.py
+++ b/llama_stack/providers/datatypes.py
@@ -96,6 +96,9 @@ class ProviderSpec(BaseModel):
         default_factory=list,
         description="Higher-level API surfaces may depend on other providers to provide their functionality",
     )
+    optional_api_dependencies: List[Api] = Field(
+        default_factory=list,
+    )
     deprecation_warning: Optional[str] = Field(
         default=None,
         description="If this provider is deprecated, specify the warning message here",
diff --git a/llama_stack/providers/inline/telemetry/meta_reference/telemetry.py b/llama_stack/providers/inline/telemetry/meta_reference/telemetry.py
index 4875f8cf0..aeeed1ac0 100644
--- a/llama_stack/providers/inline/telemetry/meta_reference/telemetry.py
+++ b/llama_stack/providers/inline/telemetry/meta_reference/telemetry.py
@@ -72,7 +72,7 @@ def is_tracing_enabled(tracer):
 class TelemetryAdapter(TelemetryDatasetMixin, Telemetry):
     def __init__(self, config: TelemetryConfig, deps: Dict[str, Any]) -> None:
         self.config = config
-        self.datasetio_api = deps[Api.datasetio]
+        self.datasetio_api = deps.get(Api.datasetio)
 
         resource = Resource.create(
             {
diff --git a/llama_stack/providers/registry/telemetry.py b/llama_stack/providers/registry/telemetry.py
index ba7e2f806..f3b41374c 100644
--- a/llama_stack/providers/registry/telemetry.py
+++ b/llama_stack/providers/registry/telemetry.py
@@ -24,7 +24,7 @@ def available_providers() -> List[ProviderSpec]:
                 "opentelemetry-sdk",
                 "opentelemetry-exporter-otlp-proto-http",
             ],
-            api_dependencies=[Api.datasetio],
+            optional_api_dependencies=[Api.datasetio],
             module="llama_stack.providers.inline.telemetry.meta_reference",
             config_class="llama_stack.providers.inline.telemetry.meta_reference.config.TelemetryConfig",
         ),
diff --git a/llama_stack/providers/utils/telemetry/dataset_mixin.py b/llama_stack/providers/utils/telemetry/dataset_mixin.py
index 6806f39aa..a2bfdcb87 100644
--- a/llama_stack/providers/utils/telemetry/dataset_mixin.py
+++ b/llama_stack/providers/utils/telemetry/dataset_mixin.py
@@ -22,6 +22,9 @@ class TelemetryDatasetMixin:
         dataset_id: str,
         max_depth: Optional[int] = None,
     ) -> None:
+        if self.datasetio_api is None:
+            raise RuntimeError("DatasetIO API not available")
+
         spans = await self.query_spans(
             attribute_filters=attribute_filters,
             attributes_to_return=attributes_to_save,

From 9d005154d7e9f4d39124f1f9b7ca089c5500b9b1 Mon Sep 17 00:00:00 2001
From: Xi Yan 
Date: Fri, 17 Jan 2025 15:34:29 -0800
Subject: [PATCH 07/11] fix vllm template (#813)

# What does this PR do?

- Fix vLLM template to resolve
https://github.com/meta-llama/llama-stack/issues/805
- Fix agents test with shields

## Test Plan

```
vllm serve meta-llama/Llama-3.1-8B-Instruct
VLLM_URL="http://localhost:8000/v1" INFERENCE_MODEL="meta-llama/Llama-3.1-8B-Instruct" llama stack run ./llama_stack/templates/remote-vllm/run.yaml
```

```
LLAMA_STACK_BASE_URL=http://localhost:8321 pytest -v ./tests/client-sdk/
```

image


- custom tool flaky due to model outputs
- /completions API not implemented

**Vision Model**
- 11B-Vision-Instruct
image


## Sources

Please link relevant resources if necessary.


## Before submitting

- [ ] This PR fixes a typo or improves the docs (you can dismiss the
other checks if that's the case).
- [ ] Ran pre-commit to handle lint / formatting issues.
- [ ] Read the [contributor
guideline](https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md),
      Pull Request section?
- [ ] Updated relevant documentation.
- [ ] Wrote necessary unit or integration tests.
---
 distributions/dependencies.json               | 500 +++++++++---------
 .../self_hosted_distro/remote-vllm.md         |   3 +
 llama_stack/templates/remote-vllm/build.yaml  |   9 +
 .../remote-vllm/run-with-safety.yaml          |  25 +
 llama_stack/templates/remote-vllm/run.yaml    |  25 +
 llama_stack/templates/remote-vllm/vllm.py     |   3 +
 tests/client-sdk/agents/test_agents.py        |   3 +-
 7 files changed, 318 insertions(+), 250 deletions(-)

diff --git a/distributions/dependencies.json b/distributions/dependencies.json
index d6d60ef7c..c3d643695 100644
--- a/distributions/dependencies.json
+++ b/distributions/dependencies.json
@@ -1,4 +1,104 @@
 {
+  "bedrock": [
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "boto3",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "fireworks": [
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "fireworks-ai",
+    "httpx",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "hf-endpoint": [
+    "aiohttp",
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "huggingface_hub",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
   "hf-serverless": [
     "aiohttp",
     "aiosqlite",
@@ -33,6 +133,154 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
+  "meta-reference-gpu": [
+    "accelerate",
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "fairscale",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "lm-format-enforcer",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentence-transformers",
+    "sentencepiece",
+    "torch",
+    "torchvision",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "zmq",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "meta-reference-quantized-gpu": [
+    "accelerate",
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "fairscale",
+    "faiss-cpu",
+    "fastapi",
+    "fbgemm-gpu",
+    "fire",
+    "httpx",
+    "lm-format-enforcer",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentence-transformers",
+    "sentencepiece",
+    "torch",
+    "torchao==0.5.0",
+    "torchvision",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "zmq",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "ollama": [
+    "aiohttp",
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "ollama",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "tgi": [
+    "aiohttp",
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "huggingface_hub",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
   "together": [
     "aiosqlite",
     "autoevals",
@@ -66,104 +314,7 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "vllm-gpu": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "vllm",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
   "remote-vllm": [
-    "aiosqlite",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "fireworks": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "fireworks-ai",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "tgi": [
-    "aiohttp",
     "aiosqlite",
     "autoevals",
     "blobfile",
@@ -174,7 +325,6 @@
     "fastapi",
     "fire",
     "httpx",
-    "huggingface_hub",
     "matplotlib",
     "nltk",
     "numpy",
@@ -196,150 +346,6 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "bedrock": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "boto3",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "meta-reference-gpu": [
-    "accelerate",
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "fairscale",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "lm-format-enforcer",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentence-transformers",
-    "sentencepiece",
-    "torch",
-    "torchvision",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "zmq",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "nvidia": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "meta-reference-quantized-gpu": [
-    "accelerate",
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "fairscale",
-    "faiss-cpu",
-    "fastapi",
-    "fbgemm-gpu",
-    "fire",
-    "httpx",
-    "lm-format-enforcer",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentence-transformers",
-    "sentencepiece",
-    "torch",
-    "torchao==0.5.0",
-    "torchvision",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "zmq",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
   "cerebras": [
     "aiosqlite",
     "autoevals",
@@ -373,8 +379,7 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "ollama": [
-    "aiohttp",
+  "vllm-gpu": [
     "aiosqlite",
     "autoevals",
     "blobfile",
@@ -388,7 +393,6 @@
     "matplotlib",
     "nltk",
     "numpy",
-    "ollama",
     "openai",
     "opentelemetry-exporter-otlp-proto-http",
     "opentelemetry-sdk",
@@ -404,22 +408,20 @@
     "tqdm",
     "transformers",
     "uvicorn",
+    "vllm",
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "hf-endpoint": [
-    "aiohttp",
+  "nvidia": [
     "aiosqlite",
     "autoevals",
     "blobfile",
     "chardet",
-    "chromadb-client",
     "datasets",
     "faiss-cpu",
     "fastapi",
     "fire",
     "httpx",
-    "huggingface_hub",
     "matplotlib",
     "nltk",
     "numpy",
diff --git a/docs/source/distributions/self_hosted_distro/remote-vllm.md b/docs/source/distributions/self_hosted_distro/remote-vllm.md
index 98d02725c..5b29c402f 100644
--- a/docs/source/distributions/self_hosted_distro/remote-vllm.md
+++ b/docs/source/distributions/self_hosted_distro/remote-vllm.md
@@ -14,9 +14,12 @@ The `llamastack/distribution-remote-vllm` distribution consists of the following
 | API | Provider(s) |
 |-----|-------------|
 | agents | `inline::meta-reference` |
+| datasetio | `remote::huggingface`, `inline::localfs` |
+| eval | `inline::meta-reference` |
 | inference | `remote::vllm` |
 | memory | `inline::faiss`, `remote::chromadb`, `remote::pgvector` |
 | safety | `inline::llama-guard` |
+| scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
 | tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
 
diff --git a/llama_stack/templates/remote-vllm/build.yaml b/llama_stack/templates/remote-vllm/build.yaml
index 2659c8190..7398ab96d 100644
--- a/llama_stack/templates/remote-vllm/build.yaml
+++ b/llama_stack/templates/remote-vllm/build.yaml
@@ -12,6 +12,15 @@ distribution_spec:
     - inline::llama-guard
     agents:
     - inline::meta-reference
+    eval:
+    - inline::meta-reference
+    datasetio:
+    - remote::huggingface
+    - inline::localfs
+    scoring:
+    - inline::basic
+    - inline::llm-as-judge
+    - inline::braintrust
     telemetry:
     - inline::meta-reference
     tool_runtime:
diff --git a/llama_stack/templates/remote-vllm/run-with-safety.yaml b/llama_stack/templates/remote-vllm/run-with-safety.yaml
index 4bf73bbda..9c030e8b2 100644
--- a/llama_stack/templates/remote-vllm/run-with-safety.yaml
+++ b/llama_stack/templates/remote-vllm/run-with-safety.yaml
@@ -2,9 +2,12 @@ version: '2'
 image_name: remote-vllm
 apis:
 - agents
+- datasetio
+- eval
 - inference
 - memory
 - safety
+- scoring
 - telemetry
 - tool_runtime
 providers:
@@ -44,6 +47,28 @@ providers:
         type: sqlite
         namespace: null
         db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/agents_store.db
+  eval:
+  - provider_id: meta-reference
+    provider_type: inline::meta-reference
+    config: {}
+  datasetio:
+  - provider_id: huggingface
+    provider_type: remote::huggingface
+    config: {}
+  - provider_id: localfs
+    provider_type: inline::localfs
+    config: {}
+  scoring:
+  - provider_id: basic
+    provider_type: inline::basic
+    config: {}
+  - provider_id: llm-as-judge
+    provider_type: inline::llm-as-judge
+    config: {}
+  - provider_id: braintrust
+    provider_type: inline::braintrust
+    config:
+      openai_api_key: ${env.OPENAI_API_KEY:}
   telemetry:
   - provider_id: meta-reference
     provider_type: inline::meta-reference
diff --git a/llama_stack/templates/remote-vllm/run.yaml b/llama_stack/templates/remote-vllm/run.yaml
index c35694d73..053b254bd 100644
--- a/llama_stack/templates/remote-vllm/run.yaml
+++ b/llama_stack/templates/remote-vllm/run.yaml
@@ -2,9 +2,12 @@ version: '2'
 image_name: remote-vllm
 apis:
 - agents
+- datasetio
+- eval
 - inference
 - memory
 - safety
+- scoring
 - telemetry
 - tool_runtime
 providers:
@@ -38,6 +41,28 @@ providers:
         type: sqlite
         namespace: null
         db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/agents_store.db
+  eval:
+  - provider_id: meta-reference
+    provider_type: inline::meta-reference
+    config: {}
+  datasetio:
+  - provider_id: huggingface
+    provider_type: remote::huggingface
+    config: {}
+  - provider_id: localfs
+    provider_type: inline::localfs
+    config: {}
+  scoring:
+  - provider_id: basic
+    provider_type: inline::basic
+    config: {}
+  - provider_id: llm-as-judge
+    provider_type: inline::llm-as-judge
+    config: {}
+  - provider_id: braintrust
+    provider_type: inline::braintrust
+    config:
+      openai_api_key: ${env.OPENAI_API_KEY:}
   telemetry:
   - provider_id: meta-reference
     provider_type: inline::meta-reference
diff --git a/llama_stack/templates/remote-vllm/vllm.py b/llama_stack/templates/remote-vllm/vllm.py
index 9dcaf2414..229d7f172 100644
--- a/llama_stack/templates/remote-vllm/vllm.py
+++ b/llama_stack/templates/remote-vllm/vllm.py
@@ -27,6 +27,9 @@ def get_distribution_template() -> DistributionTemplate:
         "memory": ["inline::faiss", "remote::chromadb", "remote::pgvector"],
         "safety": ["inline::llama-guard"],
         "agents": ["inline::meta-reference"],
+        "eval": ["inline::meta-reference"],
+        "datasetio": ["remote::huggingface", "inline::localfs"],
+        "scoring": ["inline::basic", "inline::llm-as-judge", "inline::braintrust"],
         "telemetry": ["inline::meta-reference"],
         "tool_runtime": [
             "remote::brave-search",
diff --git a/tests/client-sdk/agents/test_agents.py b/tests/client-sdk/agents/test_agents.py
index d6d88a34f..bfe279e24 100644
--- a/tests/client-sdk/agents/test_agents.py
+++ b/tests/client-sdk/agents/test_agents.py
@@ -182,7 +182,8 @@ def test_builtin_tool_web_search(llama_stack_client, agent_config):
     assert "tool_execution>" in logs_str
     assert "Tool:brave_search Response:" in logs_str
     assert "mark zuckerberg" in logs_str.lower()
-    assert "No Violation" in logs_str
+    if len(agent_config["output_shields"]) > 0:
+        assert "No Violation" in logs_str
 
 
 def test_builtin_tool_code_execution(llama_stack_client, agent_config):

From 6da3053c0e7d8d924d061143506f4b1b62373ff4 Mon Sep 17 00:00:00 2001
From: Yuan Tang 
Date: Fri, 17 Jan 2025 19:37:42 -0500
Subject: [PATCH 08/11] More generic image type for OCI-compliant container
 technologies (#802)

It's a more generic term and applicable to alternatives of Docker, such
as Podman or other OCI-compliant technologies.

---------

Signed-off-by: Yuan Tang 
---
 distributions/dell-tgi/run.yaml               |  2 +-
 .../meta-reference-quantized-gpu/run.yaml     |  2 +-
 distributions/vllm-gpu/run.yaml               |  2 +-
 docs/getting_started.ipynb                    |  4 +-
 .../Llama_Stack_Benchmark_Evals.ipynb         |  4 +-
 ...Llama_Stack_Building_AI_Applications.ipynb |  4 +-
 docs/source/distributions/building_distro.md  | 22 ++++-----
 llama_stack/cli/stack/_build.py               |  6 +--
 llama_stack/cli/stack/build.py                |  4 +-
 llama_stack/cli/stack/configure.py            |  2 +-
 llama_stack/cli/stack/run.py                  |  8 ++--
 llama_stack/distribution/build.py             | 16 ++++---
 llama_stack/distribution/build_container.sh   | 46 +++++++++----------
 .../distribution/configure_container.sh       | 12 ++---
 llama_stack/distribution/datatypes.py         | 12 ++---
 llama_stack/distribution/start_container.sh   | 14 +++---
 llama_stack/providers/datatypes.py            |  8 ++--
 llama_stack/templates/bedrock/bedrock.py      |  2 +-
 llama_stack/templates/cerebras/cerebras.py    |  2 +-
 .../experimental-post-training/build.yaml     |  2 +-
 .../experimental-post-training/run.yaml       |  2 +-
 llama_stack/templates/fireworks/fireworks.py  |  2 +-
 .../templates/hf-endpoint/hf_endpoint.py      |  2 +-
 .../templates/hf-serverless/hf_serverless.py  |  2 +-
 llama_stack/templates/nvidia/nvidia.py        |  2 +-
 llama_stack/templates/ollama/ollama.py        |  2 +-
 llama_stack/templates/template.py             | 10 ++--
 llama_stack/templates/tgi/tgi.py              |  2 +-
 llama_stack/templates/together/together.py    |  2 +-
 llama_stack/templates/vllm-gpu/vllm.py        |  2 +-
 30 files changed, 102 insertions(+), 100 deletions(-)

diff --git a/distributions/dell-tgi/run.yaml b/distributions/dell-tgi/run.yaml
index 3f8a98779..cd6ddcfdf 100644
--- a/distributions/dell-tgi/run.yaml
+++ b/distributions/dell-tgi/run.yaml
@@ -1,6 +1,6 @@
 version: '2'
 image_name: local
-docker_image: null
+container_image: null
 conda_env: local
 apis:
 - shields
diff --git a/distributions/meta-reference-quantized-gpu/run.yaml b/distributions/meta-reference-quantized-gpu/run.yaml
index 19c726b09..eb631adaa 100644
--- a/distributions/meta-reference-quantized-gpu/run.yaml
+++ b/distributions/meta-reference-quantized-gpu/run.yaml
@@ -1,6 +1,6 @@
 version: '2'
 image_name: local
-docker_image: null
+container_image: null
 conda_env: local
 apis:
 - shields
diff --git a/distributions/vllm-gpu/run.yaml b/distributions/vllm-gpu/run.yaml
index f42c942a3..a75a4c451 100644
--- a/distributions/vllm-gpu/run.yaml
+++ b/distributions/vllm-gpu/run.yaml
@@ -1,6 +1,6 @@
 version: '2'
 image_name: local
-docker_image: null
+container_image: null
 conda_env: local
 apis:
 - shields
diff --git a/docs/getting_started.ipynb b/docs/getting_started.ipynb
index 921869b33..1db7c0280 100644
--- a/docs/getting_started.ipynb
+++ b/docs/getting_started.ipynb
@@ -481,7 +481,7 @@
               "- telemetry\n",
               "conda_env: together\n",
               "datasets: []\n",
-              "docker_image: null\n",
+              "container_image: null\n",
               "eval_tasks: []\n",
               "image_name: together\n",
               "memory_banks: []\n",
@@ -600,7 +600,7 @@
               "- telemetry\n",
               "conda_env: together\n",
               "datasets: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
-              "docker_image: null\n",
+              "container_image: null\n",
               "eval_tasks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
               "image_name: together\n",
               "memory_banks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
diff --git a/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb b/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb
index 730017232..a552ce69d 100644
--- a/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb
+++ b/docs/notebooks/Llama_Stack_Benchmark_Evals.ipynb
@@ -369,7 +369,7 @@
               "- telemetry\n",
               "- tool_runtime\n",
               "datasets: []\n",
-              "docker_image: null\n",
+              "container_image: null\n",
               "eval_tasks: []\n",
               "image_name: together\n",
               "memory_banks: []\n",
@@ -550,7 +550,7 @@
               "- telemetry\n",
               "- tool_runtime\n",
               "datasets: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
-              "docker_image: null\n",
+              "container_image: null\n",
               "eval_tasks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
               "image_name: together\n",
               "memory_banks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
diff --git a/docs/notebooks/Llama_Stack_Building_AI_Applications.ipynb b/docs/notebooks/Llama_Stack_Building_AI_Applications.ipynb
index bed1aa2a8..df8995fd4 100644
--- a/docs/notebooks/Llama_Stack_Building_AI_Applications.ipynb
+++ b/docs/notebooks/Llama_Stack_Building_AI_Applications.ipynb
@@ -760,7 +760,7 @@
               "- tool_runtime\n",
               "conda_env: together\n",
               "datasets: []\n",
-              "docker_image: null\n",
+              "container_image: null\n",
               "eval_tasks: []\n",
               "image_name: together\n",
               "memory_banks: []\n",
@@ -942,7 +942,7 @@
               "- tool_runtime\n",
               "conda_env: together\n",
               "datasets: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
-              "docker_image: null\n",
+              "container_image: null\n",
               "eval_tasks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
               "image_name: together\n",
               "memory_banks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
diff --git a/docs/source/distributions/building_distro.md b/docs/source/distributions/building_distro.md
index aaf2462f7..83069aa05 100644
--- a/docs/source/distributions/building_distro.md
+++ b/docs/source/distributions/building_distro.md
@@ -17,13 +17,13 @@ pip install -e .
 llama stack build -h
 ```
 
-We will start build our distribution (in the form of a Conda environment, or Docker image). In this step, we will specify:
+We will start build our distribution (in the form of a Conda environment, or Container image). In this step, we will specify:
 - `name`: the name for our distribution (e.g. `my-stack`)
-- `image_type`: our build image type (`conda | docker`)
+- `image_type`: our build image type (`conda | container`)
 - `distribution_spec`: our distribution specs for specifying API providers
   - `description`: a short description of the configurations for the distribution
   - `providers`: specifies the underlying implementation for serving each API endpoint
-  - `image_type`: `conda` | `docker` to specify whether to build the distribution in the form of Docker image or Conda environment.
+  - `image_type`: `conda` | `container` to specify whether to build the distribution in the form of Container image or Conda environment.
 
 After this step is complete, a file named `-build.yaml` and template file `-run.yaml` will be generated and saved at the output file path specified at the end of the command.
 
@@ -35,7 +35,7 @@ After this step is complete, a file named `-build.yaml` and template file
 llama stack build
 
 > Enter a name for your Llama Stack (e.g. my-local-stack): my-stack
-> Enter the image type you want your Llama Stack to be built as (docker or conda): conda
+> Enter the image type you want your Llama Stack to be built as (container or conda): conda
 
 Llama Stack is composed of several APIs working together. Let's select
 the provider types (implementations) you want to use for these APIs.
@@ -348,26 +348,26 @@ llama stack build --config llama_stack/templates/ollama/build.yaml
 ```
 :::
 
-:::{tab-item} Building Docker
+:::{tab-item} Building Container
 > [!TIP]
-> Podman is supported as an alternative to Docker. Set `DOCKER_BINARY` to `podman` in your environment to use Podman.
+> Podman is supported as an alternative to Docker. Set `CONTAINER_BINARY` to `podman` in your environment to use Podman.
 
-To build a docker image, you may start off from a template and use the `--image-type docker` flag to specify `docker` as the build image type.
+To build a container image, you may start off from a template and use the `--image-type container` flag to specify `container` as the build image type.
 
 ```
-llama stack build --template ollama --image-type docker
+llama stack build --template ollama --image-type container
 ```
 
 ```
-$ llama stack build --template ollama --image-type docker
+$ llama stack build --template ollama --image-type container
 ...
-Dockerfile created successfully in /tmp/tmp.viA3a3Rdsg/DockerfileFROM python:3.10-slim
+Containerfile created successfully in /tmp/tmp.viA3a3Rdsg/ContainerfileFROM python:3.10-slim
 ...
 
 You can now edit ~/meta-llama/llama-stack/tmp/configs/ollama-run.yaml and run `llama stack run ~/meta-llama/llama-stack/tmp/configs/ollama-run.yaml`
 ```
 
-After this step is successful, you should be able to find the built docker image and test it with `llama stack run `.
+After this step is successful, you should be able to find the built container image and test it with `llama stack run `.
 :::
 
 ::::
diff --git a/llama_stack/cli/stack/_build.py b/llama_stack/cli/stack/_build.py
index 08c987a50..16ca670f7 100644
--- a/llama_stack/cli/stack/_build.py
+++ b/llama_stack/cli/stack/_build.py
@@ -182,8 +182,8 @@ def _generate_run_config(
     """
     apis = list(build_config.distribution_spec.providers.keys())
     run_config = StackRunConfig(
-        docker_image=(
-            image_name if build_config.image_type == ImageType.docker.value else None
+        container_image=(
+            image_name if build_config.image_type == ImageType.container.value else None
         ),
         image_name=image_name,
         apis=apis,
@@ -238,7 +238,7 @@ def _run_stack_build_command_from_build_config(
     image_name: Optional[str] = None,
     template_name: Optional[str] = None,
 ) -> None:
-    if build_config.image_type == ImageType.docker.value:
+    if build_config.image_type == ImageType.container.value:
         if template_name:
             image_name = f"distribution-{template_name}"
         else:
diff --git a/llama_stack/cli/stack/build.py b/llama_stack/cli/stack/build.py
index d00157710..48c811839 100644
--- a/llama_stack/cli/stack/build.py
+++ b/llama_stack/cli/stack/build.py
@@ -47,8 +47,8 @@ class StackBuild(Subcommand):
         self.parser.add_argument(
             "--image-type",
             type=str,
-            help="Image Type to use for the build. This can be either conda or docker. If not specified, will use the image type from the template config.",
-            choices=["conda", "docker", "venv"],
+            help="Image Type to use for the build. This can be either conda or container or venv. If not specified, will use the image type from the template config.",
+            choices=["conda", "container", "venv"],
             default="conda",
         )
 
diff --git a/llama_stack/cli/stack/configure.py b/llama_stack/cli/stack/configure.py
index 11d3f705a..56f4feceb 100644
--- a/llama_stack/cli/stack/configure.py
+++ b/llama_stack/cli/stack/configure.py
@@ -27,7 +27,7 @@ class StackConfigure(Subcommand):
         self.parser.add_argument(
             "config",
             type=str,
-            help="Path to the build config file (e.g. ~/.llama/builds//-build.yaml). For docker, this could also be the name of the docker image. ",
+            help="Path to the build config file (e.g. ~/.llama/builds//-build.yaml). For container, this could also be the name of the container image. ",
         )
 
         self.parser.add_argument(
diff --git a/llama_stack/cli/stack/run.py b/llama_stack/cli/stack/run.py
index 9fa82bd61..e1e02d10c 100644
--- a/llama_stack/cli/stack/run.py
+++ b/llama_stack/cli/stack/run.py
@@ -92,9 +92,9 @@ class StackRun(Subcommand):
             )
 
         if not config_file.exists() and not has_yaml_suffix:
-            # check if it's a build config saved to docker dir
+            # check if it's a build config saved to container dir
             config_file = Path(
-                BUILDS_BASE_DIR / ImageType.docker.value / f"{args.config}-run.yaml"
+                BUILDS_BASE_DIR / ImageType.container.value / f"{args.config}-run.yaml"
             )
 
         if not config_file.exists() and not has_yaml_suffix:
@@ -115,12 +115,12 @@ class StackRun(Subcommand):
         config_dict = yaml.safe_load(config_file.read_text())
         config = parse_and_maybe_upgrade_config(config_dict)
 
-        if config.docker_image:
+        if config.container_image:
             script = (
                 importlib.resources.files("llama_stack")
                 / "distribution/start_container.sh"
             )
-            run_args = [script, config.docker_image]
+            run_args = [script, config.container_image]
         else:
             current_conda_env = os.environ.get("CONDA_DEFAULT_ENV")
             image_name = args.image_name or current_conda_env
diff --git a/llama_stack/distribution/build.py b/llama_stack/distribution/build.py
index b8b4188ac..b8d35ccdc 100644
--- a/llama_stack/distribution/build.py
+++ b/llama_stack/distribution/build.py
@@ -38,7 +38,7 @@ SERVER_DEPENDENCIES = [
 
 
 class ImageType(Enum):
-    docker = "docker"
+    container = "container"
     conda = "conda"
     venv = "venv"
 
@@ -77,8 +77,8 @@ def get_provider_dependencies(
 
             provider_spec = providers_for_api[provider_type]
             deps.extend(provider_spec.pip_packages)
-            if provider_spec.docker_image:
-                raise ValueError("A stack's dependencies cannot have a docker image")
+            if provider_spec.container_image:
+                raise ValueError("A stack's dependencies cannot have a container image")
 
     normal_deps = []
     special_deps = []
@@ -109,23 +109,25 @@ def build_image(
     image_name: str,
     template_name: Optional[str] = None,
 ):
-    docker_image = build_config.distribution_spec.docker_image or "python:3.10-slim"
+    container_image = (
+        build_config.distribution_spec.container_image or "python:3.10-slim"
+    )
 
     normal_deps, special_deps = get_provider_dependencies(
         build_config.distribution_spec.providers
     )
     normal_deps += SERVER_DEPENDENCIES
 
-    if build_config.image_type == ImageType.docker.value:
+    if build_config.image_type == ImageType.container.value:
         script = str(
             importlib.resources.files("llama_stack") / "distribution/build_container.sh"
         )
         args = [
             script,
             image_name,
-            docker_image,
+            container_image,
             str(build_file_path),
-            str(BUILDS_BASE_DIR / ImageType.docker.value),
+            str(BUILDS_BASE_DIR / ImageType.container.value),
             " ".join(normal_deps),
         ]
     elif build_config.image_type == ImageType.conda.value:
diff --git a/llama_stack/distribution/build_container.sh b/llama_stack/distribution/build_container.sh
index 17902de0a..4c2425004 100755
--- a/llama_stack/distribution/build_container.sh
+++ b/llama_stack/distribution/build_container.sh
@@ -13,7 +13,7 @@ PYPI_VERSION=${PYPI_VERSION:-}
 BUILD_PLATFORM=${BUILD_PLATFORM:-}
 
 if [ "$#" -lt 4 ]; then
-  echo "Usage: $0    []" >&2
+  echo "Usage: $0    []" >&2
   echo "Example: $0 my-fastapi-app python:3.9-slim 'fastapi uvicorn' " >&2
   exit 1
 fi
@@ -24,7 +24,7 @@ set -euo pipefail
 
 build_name="$1"
 image_name="distribution-$build_name"
-docker_base=$2
+container_base=$2
 build_file_path=$3
 host_build_dir=$4
 pip_dependencies=$5
@@ -36,14 +36,14 @@ NC='\033[0m' # No Color
 
 SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
 REPO_DIR=$(dirname $(dirname "$SCRIPT_DIR"))
-DOCKER_BINARY=${DOCKER_BINARY:-docker}
-DOCKER_OPTS=${DOCKER_OPTS:-}
+CONTAINER_BINARY=${CONTAINER_BINARY:-docker}
+CONTAINER_OPTS=${CONTAINER_OPTS:-}
 
 TEMP_DIR=$(mktemp -d)
 
-add_to_docker() {
+add_to_container() {
   local input
-  output_file="$TEMP_DIR/Dockerfile"
+  output_file="$TEMP_DIR/Containerfile"
   if [ -t 0 ]; then
     printf '%s\n' "$1" >>"$output_file"
   else
@@ -53,9 +53,9 @@ add_to_docker() {
 }
 
 # Update and install UBI9 components if UBI9 base image is used
-if [[ $docker_base == *"registry.access.redhat.com/ubi9"* ]]; then
-  add_to_docker << EOF
-FROM $docker_base
+if [[ $container_base == *"registry.access.redhat.com/ubi9"* ]]; then
+  add_to_container << EOF
+FROM $container_base
 WORKDIR /app
 
 RUN microdnf -y update && microdnf install -y iputils net-tools wget \
@@ -64,8 +64,8 @@ RUN microdnf -y update && microdnf install -y iputils net-tools wget \
 
 EOF
 else
-  add_to_docker << EOF
-FROM $docker_base
+  add_to_container << EOF
+FROM $container_base
 WORKDIR /app
 
 RUN apt-get update && apt-get install -y \
@@ -82,7 +82,7 @@ fi
 # Add pip dependencies first since llama-stack is what will change most often
 # so we can reuse layers.
 if [ -n "$pip_dependencies" ]; then
-  add_to_docker << EOF
+  add_to_container << EOF
 RUN pip install --no-cache $pip_dependencies
 EOF
 fi
@@ -90,7 +90,7 @@ fi
 if [ -n "$special_pip_deps" ]; then
   IFS='#' read -ra parts <<<"$special_pip_deps"
   for part in "${parts[@]}"; do
-    add_to_docker </dev/null && selinuxenabled; then
   # Disable SELinux labels -- we don't want to relabel the llama-stack source dir
-  DOCKER_OPTS="$DOCKER_OPTS --security-opt label=disable"
+  CONTAINER_OPTS="$CONTAINER_OPTS --security-opt label=disable"
 fi
 
 # Set version tag based on PyPI version
@@ -200,7 +200,7 @@ else
 fi
 
 set -x
-$DOCKER_BINARY build $DOCKER_OPTS $PLATFORM -t $image_tag -f "$TEMP_DIR/Dockerfile" "$REPO_DIR" $mounts
+$CONTAINER_BINARY build $CONTAINER_OPTS $PLATFORM -t $image_tag -f "$TEMP_DIR/Containerfile" "$REPO_DIR" $mounts
 
 # clean up tmp/configs
 set +x
diff --git a/llama_stack/distribution/configure_container.sh b/llama_stack/distribution/configure_container.sh
index 5f64531eb..b01251e46 100755
--- a/llama_stack/distribution/configure_container.sh
+++ b/llama_stack/distribution/configure_container.sh
@@ -6,8 +6,8 @@
 # This source code is licensed under the terms described in the LICENSE file in
 # the root directory of this source tree.
 
-DOCKER_BINARY=${DOCKER_BINARY:-docker}
-DOCKER_OPTS=${DOCKER_OPTS:-}
+CONTAINER_BINARY=${CONTAINER_BINARY:-docker}
+CONTAINER_OPTS=${CONTAINER_OPTS:-}
 LLAMA_STACK_DIR=${LLAMA_STACK_DIR:-}
 
 set -euo pipefail
@@ -24,13 +24,13 @@ if [ $# -lt 2 ]; then
   exit 1
 fi
 
-docker_image="$1"
+container_image="$1"
 host_build_dir="$2"
 container_build_dir="/app/builds"
 
 if command -v selinuxenabled &> /dev/null && selinuxenabled; then
   # Disable SELinux labels
-  DOCKER_OPTS="$DOCKER_OPTS --security-opt label=disable"
+  CONTAINER_OPTS="$CONTAINER_OPTS --security-opt label=disable"
 fi
 
 mounts=""
@@ -39,9 +39,9 @@ if [ -n "$LLAMA_STACK_DIR" ]; then
 fi
 
 set -x
-$DOCKER_BINARY run $DOCKER_OPTS -it \
+$CONTAINER_BINARY run $CONTAINER_OPTS -it \
   --entrypoint "/usr/local/bin/llama" \
   -v $host_build_dir:$container_build_dir \
   $mounts \
-  $docker_image \
+  $container_image \
   stack configure ./llamastack-build.yaml --output-dir $container_build_dir
diff --git a/llama_stack/distribution/datatypes.py b/llama_stack/distribution/datatypes.py
index 0a293cbc2..c1a91cf6c 100644
--- a/llama_stack/distribution/datatypes.py
+++ b/llama_stack/distribution/datatypes.py
@@ -73,7 +73,7 @@ class AutoRoutedProviderSpec(ProviderSpec):
     provider_type: str = "router"
     config_class: str = ""
 
-    docker_image: Optional[str] = None
+    container_image: Optional[str] = None
     routing_table_api: Api
     module: str
     provider_data_validator: Optional[str] = Field(
@@ -89,7 +89,7 @@ class AutoRoutedProviderSpec(ProviderSpec):
 class RoutingTableProviderSpec(ProviderSpec):
     provider_type: str = "routing_table"
     config_class: str = ""
-    docker_image: Optional[str] = None
+    container_image: Optional[str] = None
 
     router_api: Api
     module: str
@@ -101,7 +101,7 @@ class DistributionSpec(BaseModel):
         default="",
         description="Description of the distribution",
     )
-    docker_image: Optional[str] = None
+    container_image: Optional[str] = None
     providers: Dict[str, Union[str, List[str]]] = Field(
         default_factory=dict,
         description="""
@@ -127,9 +127,9 @@ Reference to the distribution this package refers to. For unregistered (adhoc) p
 this could be just a hash
 """,
     )
-    docker_image: Optional[str] = Field(
+    container_image: Optional[str] = Field(
         default=None,
-        description="Reference to the docker image if this package refers to a container",
+        description="Reference to the container image if this package refers to a container",
     )
     apis: List[str] = Field(
         default_factory=list,
@@ -168,5 +168,5 @@ class BuildConfig(BaseModel):
     )
     image_type: str = Field(
         default="conda",
-        description="Type of package to build (conda | docker | venv)",
+        description="Type of package to build (conda | container | venv)",
     )
diff --git a/llama_stack/distribution/start_container.sh b/llama_stack/distribution/start_container.sh
index 3b49a22f8..1a55bf96d 100755
--- a/llama_stack/distribution/start_container.sh
+++ b/llama_stack/distribution/start_container.sh
@@ -6,8 +6,8 @@
 # This source code is licensed under the terms described in the LICENSE file in
 # the root directory of this source tree.
 
-DOCKER_BINARY=${DOCKER_BINARY:-docker}
-DOCKER_OPTS=${DOCKER_OPTS:-}
+CONTAINER_BINARY=${CONTAINER_BINARY:-docker}
+CONTAINER_OPTS=${CONTAINER_OPTS:-}
 LLAMA_CHECKPOINT_DIR=${LLAMA_CHECKPOINT_DIR:-}
 LLAMA_STACK_DIR=${LLAMA_STACK_DIR:-}
 TEST_PYPI_VERSION=${TEST_PYPI_VERSION:-}
@@ -31,7 +31,7 @@ if [ $# -lt 3 ]; then
 fi
 
 build_name="$1"
-docker_image="localhost/distribution-$build_name"
+container_image="localhost/distribution-$build_name"
 shift
 
 yaml_config="$1"
@@ -64,7 +64,7 @@ set -x
 
 if command -v selinuxenabled &> /dev/null && selinuxenabled; then
   # Disable SELinux labels
-  DOCKER_OPTS="$DOCKER_OPTS --security-opt label=disable"
+  CONTAINER_OPTS="$CONTAINER_OPTS --security-opt label=disable"
 fi
 
 mounts=""
@@ -73,7 +73,7 @@ if [ -n "$LLAMA_STACK_DIR" ]; then
 fi
 if [ -n "$LLAMA_CHECKPOINT_DIR" ]; then
   mounts="$mounts -v $LLAMA_CHECKPOINT_DIR:/root/.llama"
-  DOCKER_OPTS="$DOCKER_OPTS --gpus=all"
+  CONTAINER_OPTS="$CONTAINER_OPTS --gpus=all"
 fi
 
 version_tag="latest"
@@ -85,11 +85,11 @@ elif [ -n "$TEST_PYPI_VERSION" ]; then
   version_tag="test-$TEST_PYPI_VERSION"
 fi
 
-$DOCKER_BINARY run $DOCKER_OPTS -it \
+$CONTAINER_BINARY run $CONTAINER_OPTS -it \
   -p $port:$port \
   $env_vars \
   -v "$yaml_config:/app/config.yaml" \
   $mounts \
   --env LLAMA_STACK_PORT=$port \
   --entrypoint='["python", "-m", "llama_stack.distribution.server.server", "--yaml-config", "/app/config.yaml"]' \
-  $docker_image:$version_tag
+  $container_image:$version_tag
diff --git a/llama_stack/providers/datatypes.py b/llama_stack/providers/datatypes.py
index 3e64a62a1..94563879c 100644
--- a/llama_stack/providers/datatypes.py
+++ b/llama_stack/providers/datatypes.py
@@ -150,11 +150,11 @@ class InlineProviderSpec(ProviderSpec):
         default_factory=list,
         description="The pip dependencies needed for this implementation",
     )
-    docker_image: Optional[str] = Field(
+    container_image: Optional[str] = Field(
         default=None,
         description="""
-The docker image to use for this implementation. If one is provided, pip_packages will be ignored.
-If a provider depends on other providers, the dependencies MUST NOT specify a docker image.
+The container image to use for this implementation. If one is provided, pip_packages will be ignored.
+If a provider depends on other providers, the dependencies MUST NOT specify a container image.
 """,
     )
     module: str = Field(
@@ -197,7 +197,7 @@ API responses, specify the adapter here.
     )
 
     @property
-    def docker_image(self) -> Optional[str]:
+    def container_image(self) -> Optional[str]:
         return None
 
     @property
diff --git a/llama_stack/templates/bedrock/bedrock.py b/llama_stack/templates/bedrock/bedrock.py
index c80625cf6..da792e461 100644
--- a/llama_stack/templates/bedrock/bedrock.py
+++ b/llama_stack/templates/bedrock/bedrock.py
@@ -70,7 +70,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use AWS Bedrock for running LLM inference and safety",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=default_models,
diff --git a/llama_stack/templates/cerebras/cerebras.py b/llama_stack/templates/cerebras/cerebras.py
index df3b55ddd..8f6bd77af 100644
--- a/llama_stack/templates/cerebras/cerebras.py
+++ b/llama_stack/templates/cerebras/cerebras.py
@@ -92,7 +92,7 @@ def get_distribution_template() -> DistributionTemplate:
         name="cerebras",
         distro_type="self_hosted",
         description="Use Cerebras for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=default_models,
diff --git a/llama_stack/templates/experimental-post-training/build.yaml b/llama_stack/templates/experimental-post-training/build.yaml
index 4997ab8a3..618e8ff97 100644
--- a/llama_stack/templates/experimental-post-training/build.yaml
+++ b/llama_stack/templates/experimental-post-training/build.yaml
@@ -2,7 +2,7 @@ version: '2'
 name: experimental-post-training
 distribution_spec:
   description: Experimental template for post training
-  docker_image: null
+  container_image: null
   providers:
     inference:
     - inline::meta-reference
diff --git a/llama_stack/templates/experimental-post-training/run.yaml b/llama_stack/templates/experimental-post-training/run.yaml
index 2e0ee029b..87465137f 100644
--- a/llama_stack/templates/experimental-post-training/run.yaml
+++ b/llama_stack/templates/experimental-post-training/run.yaml
@@ -1,6 +1,6 @@
 version: '2'
 image_name: experimental-post-training
-docker_image: null
+container_image: null
 conda_env: experimental-post-training
 apis:
 - agents
diff --git a/llama_stack/templates/fireworks/fireworks.py b/llama_stack/templates/fireworks/fireworks.py
index 8add75f7d..c94074a70 100644
--- a/llama_stack/templates/fireworks/fireworks.py
+++ b/llama_stack/templates/fireworks/fireworks.py
@@ -98,7 +98,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use Fireworks.AI for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=default_models,
diff --git a/llama_stack/templates/hf-endpoint/hf_endpoint.py b/llama_stack/templates/hf-endpoint/hf_endpoint.py
index 54aaa56ac..04e2a53b5 100644
--- a/llama_stack/templates/hf-endpoint/hf_endpoint.py
+++ b/llama_stack/templates/hf-endpoint/hf_endpoint.py
@@ -88,7 +88,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use (an external) Hugging Face Inference Endpoint for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=None,
         providers=providers,
         default_models=[inference_model, safety_model],
diff --git a/llama_stack/templates/hf-serverless/hf_serverless.py b/llama_stack/templates/hf-serverless/hf_serverless.py
index 788faa986..af8d77629 100644
--- a/llama_stack/templates/hf-serverless/hf_serverless.py
+++ b/llama_stack/templates/hf-serverless/hf_serverless.py
@@ -89,7 +89,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use (an external) Hugging Face Inference Endpoint for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=None,
         providers=providers,
         default_models=[inference_model, safety_model],
diff --git a/llama_stack/templates/nvidia/nvidia.py b/llama_stack/templates/nvidia/nvidia.py
index cfa86dbe7..d5518ecc9 100644
--- a/llama_stack/templates/nvidia/nvidia.py
+++ b/llama_stack/templates/nvidia/nvidia.py
@@ -68,7 +68,7 @@ def get_distribution_template() -> DistributionTemplate:
         name="nvidia",
         distro_type="remote_hosted",
         description="Use NVIDIA NIM for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=default_models,
diff --git a/llama_stack/templates/ollama/ollama.py b/llama_stack/templates/ollama/ollama.py
index 0473f8692..2288ea3a6 100644
--- a/llama_stack/templates/ollama/ollama.py
+++ b/llama_stack/templates/ollama/ollama.py
@@ -90,7 +90,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use (an external) Ollama server for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=[inference_model, safety_model],
diff --git a/llama_stack/templates/template.py b/llama_stack/templates/template.py
index 5bb88c821..d9696b23d 100644
--- a/llama_stack/templates/template.py
+++ b/llama_stack/templates/template.py
@@ -37,7 +37,7 @@ class RunConfigSettings(BaseModel):
         self,
         name: str,
         providers: Dict[str, List[str]],
-        docker_image: Optional[str] = None,
+        container_image: Optional[str] = None,
     ) -> StackRunConfig:
         provider_registry = get_provider_registry()
 
@@ -83,7 +83,7 @@ class RunConfigSettings(BaseModel):
 
         return StackRunConfig(
             image_name=name,
-            docker_image=docker_image,
+            container_image=container_image,
             conda_env=name,
             apis=apis,
             providers=provider_configs,
@@ -113,7 +113,7 @@ class DistributionTemplate(BaseModel):
 
     # Optional configuration
     run_config_env_vars: Optional[Dict[str, Tuple[str, str]]] = None
-    docker_image: Optional[str] = None
+    container_image: Optional[str] = None
 
     default_models: Optional[List[ModelInput]] = None
 
@@ -122,7 +122,7 @@ class DistributionTemplate(BaseModel):
             name=self.name,
             distribution_spec=DistributionSpec(
                 description=self.description,
-                docker_image=self.docker_image,
+                container_image=self.container_image,
                 providers=self.providers,
             ),
             image_type="conda",  # default to conda, can be overridden
@@ -170,7 +170,7 @@ class DistributionTemplate(BaseModel):
 
         for yaml_pth, settings in self.run_configs.items():
             run_config = settings.run_config(
-                self.name, self.providers, self.docker_image
+                self.name, self.providers, self.container_image
             )
             with open(yaml_output_dir / yaml_pth, "w") as f:
                 yaml.safe_dump(
diff --git a/llama_stack/templates/tgi/tgi.py b/llama_stack/templates/tgi/tgi.py
index b62e7719e..02187f986 100644
--- a/llama_stack/templates/tgi/tgi.py
+++ b/llama_stack/templates/tgi/tgi.py
@@ -92,7 +92,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use (an external) TGI server for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=[inference_model, safety_model],
diff --git a/llama_stack/templates/together/together.py b/llama_stack/templates/together/together.py
index b51918a6c..28c01095a 100644
--- a/llama_stack/templates/together/together.py
+++ b/llama_stack/templates/together/together.py
@@ -96,7 +96,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use Together.AI for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=Path(__file__).parent / "doc_template.md",
         providers=providers,
         default_models=default_models,
diff --git a/llama_stack/templates/vllm-gpu/vllm.py b/llama_stack/templates/vllm-gpu/vllm.py
index dd80c15dc..1f3cf4b35 100644
--- a/llama_stack/templates/vllm-gpu/vllm.py
+++ b/llama_stack/templates/vllm-gpu/vllm.py
@@ -84,7 +84,7 @@ def get_distribution_template() -> DistributionTemplate:
         name=name,
         distro_type="self_hosted",
         description="Use a built-in vLLM engine for running LLM inference",
-        docker_image=None,
+        container_image=None,
         template_path=None,
         providers=providers,
         default_models=[inference_model],

From 3d4c53dfec7715fc8035d4d5b8929619ab12da25 Mon Sep 17 00:00:00 2001
From: Dinesh Yeduguru 
Date: Fri, 17 Jan 2025 16:40:58 -0800
Subject: [PATCH 09/11] add mcp runtime as default to all providers (#816)

# What does this PR do?

This is needed to have the notebook work with MCP
---
 distributions/dependencies.json               | 349 +++++++++---------
 .../remote_hosted_distro/nvidia.md            |   2 +-
 .../self_hosted_distro/bedrock.md             |   2 +-
 .../self_hosted_distro/fireworks.md           |   2 +-
 .../self_hosted_distro/meta-reference-gpu.md  |   2 +-
 .../meta-reference-quantized-gpu.md           |   2 +-
 .../self_hosted_distro/remote-vllm.md         |   2 +-
 .../distributions/self_hosted_distro/tgi.md   |   2 +-
 .../self_hosted_distro/together.md            |   2 +-
 llama_stack/templates/bedrock/bedrock.py      |   1 +
 llama_stack/templates/bedrock/build.yaml      |   1 +
 llama_stack/templates/bedrock/run.yaml        |   3 +
 llama_stack/templates/fireworks/build.yaml    |   1 +
 llama_stack/templates/fireworks/fireworks.py  |   1 +
 .../templates/fireworks/run-with-safety.yaml  |   3 +
 llama_stack/templates/fireworks/run.yaml      |   3 +
 llama_stack/templates/hf-endpoint/build.yaml  |   1 +
 .../templates/hf-endpoint/hf_endpoint.py      |   1 +
 .../hf-endpoint/run-with-safety.yaml          |   3 +
 llama_stack/templates/hf-endpoint/run.yaml    |   3 +
 .../templates/hf-serverless/build.yaml        |   1 +
 .../templates/hf-serverless/hf_serverless.py  |   1 +
 .../hf-serverless/run-with-safety.yaml        |   3 +
 llama_stack/templates/hf-serverless/run.yaml  |   3 +
 .../templates/meta-reference-gpu/build.yaml   |   1 +
 .../meta-reference-gpu/meta_reference.py      |   1 +
 .../meta-reference-gpu/run-with-safety.yaml   |   3 +
 .../templates/meta-reference-gpu/run.yaml     |   3 +
 .../meta-reference-quantized-gpu/build.yaml   |   1 +
 .../meta_reference.py                         |   1 +
 .../meta-reference-quantized-gpu/run.yaml     |   3 +
 llama_stack/templates/nvidia/build.yaml       |   1 +
 llama_stack/templates/nvidia/nvidia.py        |   1 +
 llama_stack/templates/nvidia/run.yaml         |   3 +
 llama_stack/templates/remote-vllm/build.yaml  |   1 +
 .../remote-vllm/run-with-safety.yaml          |   3 +
 llama_stack/templates/remote-vllm/run.yaml    |   3 +
 llama_stack/templates/remote-vllm/vllm.py     |   1 +
 llama_stack/templates/tgi/build.yaml          |   1 +
 .../templates/tgi/run-with-safety.yaml        |   3 +
 llama_stack/templates/tgi/run.yaml            |   3 +
 llama_stack/templates/tgi/tgi.py              |   1 +
 llama_stack/templates/together/build.yaml     |   1 +
 .../templates/together/run-with-safety.yaml   |   3 +
 llama_stack/templates/together/run.yaml       |   3 +
 llama_stack/templates/together/together.py    |   1 +
 llama_stack/templates/vllm-gpu/build.yaml     |   1 +
 llama_stack/templates/vllm-gpu/run.yaml       |   3 +
 llama_stack/templates/vllm-gpu/vllm.py        |   1 +
 49 files changed, 264 insertions(+), 177 deletions(-)

diff --git a/distributions/dependencies.json b/distributions/dependencies.json
index c3d643695..7b5d8b002 100644
--- a/distributions/dependencies.json
+++ b/distributions/dependencies.json
@@ -1,9 +1,43 @@
 {
-  "bedrock": [
+  "hf-serverless": [
+    "aiohttp",
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "huggingface_hub",
+    "matplotlib",
+    "mcp",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "together": [
     "aiosqlite",
     "autoevals",
     "blobfile",
-    "boto3",
     "chardet",
     "chromadb-client",
     "datasets",
@@ -12,6 +46,75 @@
     "fire",
     "httpx",
     "matplotlib",
+    "mcp",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "together",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "vllm-gpu": [
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "matplotlib",
+    "mcp",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "vllm",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
+  "remote-vllm": [
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
@@ -45,6 +148,7 @@
     "fireworks-ai",
     "httpx",
     "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
@@ -65,7 +169,7 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "hf-endpoint": [
+  "tgi": [
     "aiohttp",
     "aiosqlite",
     "autoevals",
@@ -79,6 +183,7 @@
     "httpx",
     "huggingface_hub",
     "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
@@ -99,11 +204,11 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "hf-serverless": [
-    "aiohttp",
+  "bedrock": [
     "aiosqlite",
     "autoevals",
     "blobfile",
+    "boto3",
     "chardet",
     "chromadb-client",
     "datasets",
@@ -111,8 +216,8 @@
     "fastapi",
     "fire",
     "httpx",
-    "huggingface_hub",
     "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
@@ -148,6 +253,7 @@
     "httpx",
     "lm-format-enforcer",
     "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
@@ -172,6 +278,38 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
+  "nvidia": [
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "chardet",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "matplotlib",
+    "mcp",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
   "meta-reference-quantized-gpu": [
     "accelerate",
     "aiosqlite",
@@ -188,6 +326,7 @@
     "httpx",
     "lm-format-enforcer",
     "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
@@ -213,6 +352,39 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
+  "cerebras": [
+    "aiosqlite",
+    "autoevals",
+    "blobfile",
+    "cerebras_cloud_sdk",
+    "chardet",
+    "chromadb-client",
+    "datasets",
+    "faiss-cpu",
+    "fastapi",
+    "fire",
+    "httpx",
+    "matplotlib",
+    "nltk",
+    "numpy",
+    "openai",
+    "opentelemetry-exporter-otlp-proto-http",
+    "opentelemetry-sdk",
+    "pandas",
+    "pillow",
+    "psycopg2-binary",
+    "pypdf",
+    "redis",
+    "requests",
+    "scikit-learn",
+    "scipy",
+    "sentencepiece",
+    "tqdm",
+    "transformers",
+    "uvicorn",
+    "sentence-transformers --no-deps",
+    "torch --index-url https://download.pytorch.org/whl/cpu"
+  ],
   "ollama": [
     "aiohttp",
     "aiosqlite",
@@ -247,7 +419,7 @@
     "sentence-transformers --no-deps",
     "torch --index-url https://download.pytorch.org/whl/cpu"
   ],
-  "tgi": [
+  "hf-endpoint": [
     "aiohttp",
     "aiosqlite",
     "autoevals",
@@ -261,168 +433,7 @@
     "httpx",
     "huggingface_hub",
     "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "together": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "together",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "remote-vllm": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "cerebras": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "cerebras_cloud_sdk",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "vllm-gpu": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "chromadb-client",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
-    "nltk",
-    "numpy",
-    "openai",
-    "opentelemetry-exporter-otlp-proto-http",
-    "opentelemetry-sdk",
-    "pandas",
-    "pillow",
-    "psycopg2-binary",
-    "pypdf",
-    "redis",
-    "requests",
-    "scikit-learn",
-    "scipy",
-    "sentencepiece",
-    "tqdm",
-    "transformers",
-    "uvicorn",
-    "vllm",
-    "sentence-transformers --no-deps",
-    "torch --index-url https://download.pytorch.org/whl/cpu"
-  ],
-  "nvidia": [
-    "aiosqlite",
-    "autoevals",
-    "blobfile",
-    "chardet",
-    "datasets",
-    "faiss-cpu",
-    "fastapi",
-    "fire",
-    "httpx",
-    "matplotlib",
+    "mcp",
     "nltk",
     "numpy",
     "openai",
diff --git a/docs/source/distributions/remote_hosted_distro/nvidia.md b/docs/source/distributions/remote_hosted_distro/nvidia.md
index 7e3446863..4028ed384 100644
--- a/docs/source/distributions/remote_hosted_distro/nvidia.md
+++ b/docs/source/distributions/remote_hosted_distro/nvidia.md
@@ -12,7 +12,7 @@ The `llamastack/distribution-nvidia` distribution consists of the following prov
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 ### Environment Variables
diff --git a/docs/source/distributions/self_hosted_distro/bedrock.md b/docs/source/distributions/self_hosted_distro/bedrock.md
index 71adfad09..dd4e51264 100644
--- a/docs/source/distributions/self_hosted_distro/bedrock.md
+++ b/docs/source/distributions/self_hosted_distro/bedrock.md
@@ -19,7 +19,7 @@ The `llamastack/distribution-bedrock` distribution consists of the following pro
 | safety | `remote::bedrock` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 
diff --git a/docs/source/distributions/self_hosted_distro/fireworks.md b/docs/source/distributions/self_hosted_distro/fireworks.md
index 335309729..7ed174984 100644
--- a/docs/source/distributions/self_hosted_distro/fireworks.md
+++ b/docs/source/distributions/self_hosted_distro/fireworks.md
@@ -22,7 +22,7 @@ The `llamastack/distribution-fireworks` distribution consists of the following p
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 ### Environment Variables
diff --git a/docs/source/distributions/self_hosted_distro/meta-reference-gpu.md b/docs/source/distributions/self_hosted_distro/meta-reference-gpu.md
index a89719dea..269354e98 100644
--- a/docs/source/distributions/self_hosted_distro/meta-reference-gpu.md
+++ b/docs/source/distributions/self_hosted_distro/meta-reference-gpu.md
@@ -22,7 +22,7 @@ The `llamastack/distribution-meta-reference-gpu` distribution consists of the fo
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 Note that you need access to nvidia GPUs to run this distribution. This distribution is not compatible with CPU-only machines or machines with AMD GPUs.
diff --git a/docs/source/distributions/self_hosted_distro/meta-reference-quantized-gpu.md b/docs/source/distributions/self_hosted_distro/meta-reference-quantized-gpu.md
index 26ed5d05b..937dbbdbd 100644
--- a/docs/source/distributions/self_hosted_distro/meta-reference-quantized-gpu.md
+++ b/docs/source/distributions/self_hosted_distro/meta-reference-quantized-gpu.md
@@ -22,7 +22,7 @@ The `llamastack/distribution-meta-reference-quantized-gpu` distribution consists
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 The only difference vs. the `meta-reference-gpu` distribution is that it has support for more efficient inference -- with fp8, int4 quantization, etc.
diff --git a/docs/source/distributions/self_hosted_distro/remote-vllm.md b/docs/source/distributions/self_hosted_distro/remote-vllm.md
index 5b29c402f..2bb5329b9 100644
--- a/docs/source/distributions/self_hosted_distro/remote-vllm.md
+++ b/docs/source/distributions/self_hosted_distro/remote-vllm.md
@@ -21,7 +21,7 @@ The `llamastack/distribution-remote-vllm` distribution consists of the following
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 You can use this distribution if you have GPUs and want to run an independent vLLM server container for running inference.
diff --git a/docs/source/distributions/self_hosted_distro/tgi.md b/docs/source/distributions/self_hosted_distro/tgi.md
index f4f705b12..0fd6a693c 100644
--- a/docs/source/distributions/self_hosted_distro/tgi.md
+++ b/docs/source/distributions/self_hosted_distro/tgi.md
@@ -23,7 +23,7 @@ The `llamastack/distribution-tgi` distribution consists of the following provide
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 You can use this distribution if you have GPUs and want to run an independent TGI server container for running inference.
diff --git a/docs/source/distributions/self_hosted_distro/together.md b/docs/source/distributions/self_hosted_distro/together.md
index 3b476c9bf..e990e273f 100644
--- a/docs/source/distributions/self_hosted_distro/together.md
+++ b/docs/source/distributions/self_hosted_distro/together.md
@@ -22,7 +22,7 @@ The `llamastack/distribution-together` distribution consists of the following pr
 | safety | `inline::llama-guard` |
 | scoring | `inline::basic`, `inline::llm-as-judge`, `inline::braintrust` |
 | telemetry | `inline::meta-reference` |
-| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime` |
+| tool_runtime | `remote::brave-search`, `remote::tavily-search`, `inline::code-interpreter`, `inline::memory-runtime`, `remote::model-context-protocol` |
 
 
 ### Environment Variables
diff --git a/llama_stack/templates/bedrock/bedrock.py b/llama_stack/templates/bedrock/bedrock.py
index da792e461..668134be8 100644
--- a/llama_stack/templates/bedrock/bedrock.py
+++ b/llama_stack/templates/bedrock/bedrock.py
@@ -30,6 +30,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     name = "bedrock"
diff --git a/llama_stack/templates/bedrock/build.yaml b/llama_stack/templates/bedrock/build.yaml
index 794e54306..95b8684e3 100644
--- a/llama_stack/templates/bedrock/build.yaml
+++ b/llama_stack/templates/bedrock/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/bedrock/run.yaml b/llama_stack/templates/bedrock/run.yaml
index 3a6922ae7..118723bbc 100644
--- a/llama_stack/templates/bedrock/run.yaml
+++ b/llama_stack/templates/bedrock/run.yaml
@@ -81,6 +81,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/bedrock}/registry.db
diff --git a/llama_stack/templates/fireworks/build.yaml b/llama_stack/templates/fireworks/build.yaml
index 504c913bd..d8e1e27ee 100644
--- a/llama_stack/templates/fireworks/build.yaml
+++ b/llama_stack/templates/fireworks/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/fireworks/fireworks.py b/llama_stack/templates/fireworks/fireworks.py
index c94074a70..14fd392c4 100644
--- a/llama_stack/templates/fireworks/fireworks.py
+++ b/llama_stack/templates/fireworks/fireworks.py
@@ -39,6 +39,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
 
diff --git a/llama_stack/templates/fireworks/run-with-safety.yaml b/llama_stack/templates/fireworks/run-with-safety.yaml
index 8fefbd98a..dd21120ed 100644
--- a/llama_stack/templates/fireworks/run-with-safety.yaml
+++ b/llama_stack/templates/fireworks/run-with-safety.yaml
@@ -92,6 +92,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/fireworks}/registry.db
diff --git a/llama_stack/templates/fireworks/run.yaml b/llama_stack/templates/fireworks/run.yaml
index 53128f456..993417b50 100644
--- a/llama_stack/templates/fireworks/run.yaml
+++ b/llama_stack/templates/fireworks/run.yaml
@@ -86,6 +86,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/fireworks}/registry.db
diff --git a/llama_stack/templates/hf-endpoint/build.yaml b/llama_stack/templates/hf-endpoint/build.yaml
index 43486030e..f4fdc4a3d 100644
--- a/llama_stack/templates/hf-endpoint/build.yaml
+++ b/llama_stack/templates/hf-endpoint/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/hf-endpoint/hf_endpoint.py b/llama_stack/templates/hf-endpoint/hf_endpoint.py
index 04e2a53b5..1a5c23a42 100644
--- a/llama_stack/templates/hf-endpoint/hf_endpoint.py
+++ b/llama_stack/templates/hf-endpoint/hf_endpoint.py
@@ -34,6 +34,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     name = "hf-endpoint"
diff --git a/llama_stack/templates/hf-endpoint/run-with-safety.yaml b/llama_stack/templates/hf-endpoint/run-with-safety.yaml
index 6a52ca861..537e4024f 100644
--- a/llama_stack/templates/hf-endpoint/run-with-safety.yaml
+++ b/llama_stack/templates/hf-endpoint/run-with-safety.yaml
@@ -91,6 +91,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/hf-endpoint}/registry.db
diff --git a/llama_stack/templates/hf-endpoint/run.yaml b/llama_stack/templates/hf-endpoint/run.yaml
index c019c587a..b31f28434 100644
--- a/llama_stack/templates/hf-endpoint/run.yaml
+++ b/llama_stack/templates/hf-endpoint/run.yaml
@@ -86,6 +86,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/hf-endpoint}/registry.db
diff --git a/llama_stack/templates/hf-serverless/build.yaml b/llama_stack/templates/hf-serverless/build.yaml
index e1328bd58..d075a7449 100644
--- a/llama_stack/templates/hf-serverless/build.yaml
+++ b/llama_stack/templates/hf-serverless/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/hf-serverless/hf_serverless.py b/llama_stack/templates/hf-serverless/hf_serverless.py
index af8d77629..0292f13e2 100644
--- a/llama_stack/templates/hf-serverless/hf_serverless.py
+++ b/llama_stack/templates/hf-serverless/hf_serverless.py
@@ -34,6 +34,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
 
diff --git a/llama_stack/templates/hf-serverless/run-with-safety.yaml b/llama_stack/templates/hf-serverless/run-with-safety.yaml
index 0a64de358..484b2d0bd 100644
--- a/llama_stack/templates/hf-serverless/run-with-safety.yaml
+++ b/llama_stack/templates/hf-serverless/run-with-safety.yaml
@@ -91,6 +91,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/hf-serverless}/registry.db
diff --git a/llama_stack/templates/hf-serverless/run.yaml b/llama_stack/templates/hf-serverless/run.yaml
index f04213533..a75baf1f9 100644
--- a/llama_stack/templates/hf-serverless/run.yaml
+++ b/llama_stack/templates/hf-serverless/run.yaml
@@ -86,6 +86,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/hf-serverless}/registry.db
diff --git a/llama_stack/templates/meta-reference-gpu/build.yaml b/llama_stack/templates/meta-reference-gpu/build.yaml
index 9ad7b26bf..a75d3604b 100644
--- a/llama_stack/templates/meta-reference-gpu/build.yaml
+++ b/llama_stack/templates/meta-reference-gpu/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/meta-reference-gpu/meta_reference.py b/llama_stack/templates/meta-reference-gpu/meta_reference.py
index 7364ee422..584d38256 100644
--- a/llama_stack/templates/meta-reference-gpu/meta_reference.py
+++ b/llama_stack/templates/meta-reference-gpu/meta_reference.py
@@ -38,6 +38,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     name = "meta-reference-gpu"
diff --git a/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml b/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml
index 591afa2be..9dbdb6fa5 100644
--- a/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml
+++ b/llama_stack/templates/meta-reference-gpu/run-with-safety.yaml
@@ -93,6 +93,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/meta-reference-gpu}/registry.db
diff --git a/llama_stack/templates/meta-reference-gpu/run.yaml b/llama_stack/templates/meta-reference-gpu/run.yaml
index ecde69fdf..6465215f0 100644
--- a/llama_stack/templates/meta-reference-gpu/run.yaml
+++ b/llama_stack/templates/meta-reference-gpu/run.yaml
@@ -87,6 +87,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/meta-reference-gpu}/registry.db
diff --git a/llama_stack/templates/meta-reference-quantized-gpu/build.yaml b/llama_stack/templates/meta-reference-quantized-gpu/build.yaml
index e6b64ea1e..4c3e2f492 100644
--- a/llama_stack/templates/meta-reference-quantized-gpu/build.yaml
+++ b/llama_stack/templates/meta-reference-quantized-gpu/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/meta-reference-quantized-gpu/meta_reference.py b/llama_stack/templates/meta-reference-quantized-gpu/meta_reference.py
index 5c40134af..56293f42c 100644
--- a/llama_stack/templates/meta-reference-quantized-gpu/meta_reference.py
+++ b/llama_stack/templates/meta-reference-quantized-gpu/meta_reference.py
@@ -33,6 +33,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     default_tool_groups = [
diff --git a/llama_stack/templates/meta-reference-quantized-gpu/run.yaml b/llama_stack/templates/meta-reference-quantized-gpu/run.yaml
index ff0affafb..059034741 100644
--- a/llama_stack/templates/meta-reference-quantized-gpu/run.yaml
+++ b/llama_stack/templates/meta-reference-quantized-gpu/run.yaml
@@ -89,6 +89,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/meta-reference-quantized-gpu}/registry.db
diff --git a/llama_stack/templates/nvidia/build.yaml b/llama_stack/templates/nvidia/build.yaml
index 56124552b..7bd2a3865 100644
--- a/llama_stack/templates/nvidia/build.yaml
+++ b/llama_stack/templates/nvidia/build.yaml
@@ -26,4 +26,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/nvidia/nvidia.py b/llama_stack/templates/nvidia/nvidia.py
index d5518ecc9..e72fe359f 100644
--- a/llama_stack/templates/nvidia/nvidia.py
+++ b/llama_stack/templates/nvidia/nvidia.py
@@ -29,6 +29,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
 
diff --git a/llama_stack/templates/nvidia/run.yaml b/llama_stack/templates/nvidia/run.yaml
index 578f70c9d..07c901371 100644
--- a/llama_stack/templates/nvidia/run.yaml
+++ b/llama_stack/templates/nvidia/run.yaml
@@ -83,6 +83,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/nvidia}/registry.db
diff --git a/llama_stack/templates/remote-vllm/build.yaml b/llama_stack/templates/remote-vllm/build.yaml
index 7398ab96d..6f301914c 100644
--- a/llama_stack/templates/remote-vllm/build.yaml
+++ b/llama_stack/templates/remote-vllm/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/remote-vllm/run-with-safety.yaml b/llama_stack/templates/remote-vllm/run-with-safety.yaml
index 9c030e8b2..5e5bd6af6 100644
--- a/llama_stack/templates/remote-vllm/run-with-safety.yaml
+++ b/llama_stack/templates/remote-vllm/run-with-safety.yaml
@@ -93,6 +93,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/registry.db
diff --git a/llama_stack/templates/remote-vllm/run.yaml b/llama_stack/templates/remote-vllm/run.yaml
index 053b254bd..4eac4dad7 100644
--- a/llama_stack/templates/remote-vllm/run.yaml
+++ b/llama_stack/templates/remote-vllm/run.yaml
@@ -87,6 +87,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/registry.db
diff --git a/llama_stack/templates/remote-vllm/vllm.py b/llama_stack/templates/remote-vllm/vllm.py
index 229d7f172..296e2b4f5 100644
--- a/llama_stack/templates/remote-vllm/vllm.py
+++ b/llama_stack/templates/remote-vllm/vllm.py
@@ -36,6 +36,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     name = "remote-vllm"
diff --git a/llama_stack/templates/tgi/build.yaml b/llama_stack/templates/tgi/build.yaml
index 3bcacffb0..4391ddd5d 100644
--- a/llama_stack/templates/tgi/build.yaml
+++ b/llama_stack/templates/tgi/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/tgi/run-with-safety.yaml b/llama_stack/templates/tgi/run-with-safety.yaml
index 070daedc1..9bd06d650 100644
--- a/llama_stack/templates/tgi/run-with-safety.yaml
+++ b/llama_stack/templates/tgi/run-with-safety.yaml
@@ -86,6 +86,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/tgi}/registry.db
diff --git a/llama_stack/templates/tgi/run.yaml b/llama_stack/templates/tgi/run.yaml
index e9696c584..2fc1b52d9 100644
--- a/llama_stack/templates/tgi/run.yaml
+++ b/llama_stack/templates/tgi/run.yaml
@@ -85,6 +85,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/tgi}/registry.db
diff --git a/llama_stack/templates/tgi/tgi.py b/llama_stack/templates/tgi/tgi.py
index 02187f986..8ad9725e3 100644
--- a/llama_stack/templates/tgi/tgi.py
+++ b/llama_stack/templates/tgi/tgi.py
@@ -36,6 +36,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     name = "tgi"
diff --git a/llama_stack/templates/together/build.yaml b/llama_stack/templates/together/build.yaml
index ad970f405..ea7387a24 100644
--- a/llama_stack/templates/together/build.yaml
+++ b/llama_stack/templates/together/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/together/run-with-safety.yaml b/llama_stack/templates/together/run-with-safety.yaml
index 4e162aab3..c1461d75d 100644
--- a/llama_stack/templates/together/run-with-safety.yaml
+++ b/llama_stack/templates/together/run-with-safety.yaml
@@ -92,6 +92,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/together}/registry.db
diff --git a/llama_stack/templates/together/run.yaml b/llama_stack/templates/together/run.yaml
index 3c4844447..da25fd144 100644
--- a/llama_stack/templates/together/run.yaml
+++ b/llama_stack/templates/together/run.yaml
@@ -86,6 +86,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/together}/registry.db
diff --git a/llama_stack/templates/together/together.py b/llama_stack/templates/together/together.py
index 28c01095a..1e2def3bd 100644
--- a/llama_stack/templates/together/together.py
+++ b/llama_stack/templates/together/together.py
@@ -39,6 +39,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
     name = "together"
diff --git a/llama_stack/templates/vllm-gpu/build.yaml b/llama_stack/templates/vllm-gpu/build.yaml
index e068fa97e..e8a1693d0 100644
--- a/llama_stack/templates/vllm-gpu/build.yaml
+++ b/llama_stack/templates/vllm-gpu/build.yaml
@@ -28,4 +28,5 @@ distribution_spec:
     - remote::tavily-search
     - inline::code-interpreter
     - inline::memory-runtime
+    - remote::model-context-protocol
 image_type: conda
diff --git a/llama_stack/templates/vllm-gpu/run.yaml b/llama_stack/templates/vllm-gpu/run.yaml
index 1cb44b052..cc0ff047f 100644
--- a/llama_stack/templates/vllm-gpu/run.yaml
+++ b/llama_stack/templates/vllm-gpu/run.yaml
@@ -89,6 +89,9 @@ providers:
   - provider_id: memory-runtime
     provider_type: inline::memory-runtime
     config: {}
+  - provider_id: model-context-protocol
+    provider_type: remote::model-context-protocol
+    config: {}
 metadata_store:
   type: sqlite
   db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/vllm-gpu}/registry.db
diff --git a/llama_stack/templates/vllm-gpu/vllm.py b/llama_stack/templates/vllm-gpu/vllm.py
index 1f3cf4b35..71b24482d 100644
--- a/llama_stack/templates/vllm-gpu/vllm.py
+++ b/llama_stack/templates/vllm-gpu/vllm.py
@@ -33,6 +33,7 @@ def get_distribution_template() -> DistributionTemplate:
             "remote::tavily-search",
             "inline::code-interpreter",
             "inline::memory-runtime",
+            "remote::model-context-protocol",
         ],
     }
 

From 3e7496e835af2d7a9f5afea750925ac2e1ebf11f Mon Sep 17 00:00:00 2001
From: Xi Yan 
Date: Fri, 17 Jan 2025 17:07:28 -0800
Subject: [PATCH 10/11] fix vllm base64 image inference (#815)

# What does this PR do?

- fix base64 based image url for vllm
- add a test case for base64 based image_url
- fixes issue: https://github.com/meta-llama/llama-stack/issues/571

## Test Plan

```
LLAMA_STACK_BASE_URL=http://localhost:8321 pytest -v ./tests/client-sdk/inference/test_inference.py::test_image_chat_completion_base64_url
```

image

## Sources

Please link relevant resources if necessary.


## Before submitting

- [ ] This PR fixes a typo or improves the docs (you can dismiss the
other checks if that's the case).
- [ ] Ran pre-commit to handle lint / formatting issues.
- [ ] Read the [contributor
guideline](https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md),
      Pull Request section?
- [ ] Updated relevant documentation.
- [ ] Wrote necessary unit or integration tests.
---
 .../providers/remote/inference/vllm/vllm.py   |   4 +-
 tests/client-sdk/inference/dog.png            | Bin 0 -> 425075 bytes
 tests/client-sdk/inference/test_inference.py  |  41 ++++++++++++++++++
 3 files changed, 42 insertions(+), 3 deletions(-)
 create mode 100644 tests/client-sdk/inference/dog.png

diff --git a/llama_stack/providers/remote/inference/vllm/vllm.py b/llama_stack/providers/remote/inference/vllm/vllm.py
index 317d05207..81c746cce 100644
--- a/llama_stack/providers/remote/inference/vllm/vllm.py
+++ b/llama_stack/providers/remote/inference/vllm/vllm.py
@@ -176,10 +176,8 @@ class VLLMInferenceAdapter(Inference, ModelsProtocolPrivate):
         media_present = request_has_media(request)
         if isinstance(request, ChatCompletionRequest):
             if media_present:
-                # vllm does not seem to work well with image urls, so we download the images
                 input_dict["messages"] = [
-                    await convert_message_to_openai_dict(m, download=True)
-                    for m in request.messages
+                    await convert_message_to_openai_dict(m) for m in request.messages
                 ]
             else:
                 input_dict["prompt"] = await chat_completion_request_to_prompt(
diff --git a/tests/client-sdk/inference/dog.png b/tests/client-sdk/inference/dog.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d502e6064708230e9413e654100fd9c8a47b051
GIT binary patch
literal 425075
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μdo-An5ET6%M54+3pZ~#`kQ*2Qcs_
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�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

6lI<*|64a0TEOtd+jj$!eZaL65ti;M&~e)8tb87 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 0 assert any(expected in streamed_content for expected in {"dog", "puppy", "pup"}) + + +def test_image_chat_completion_base64_url( + llama_stack_client, vision_model_id, base64_image_url +): + + message = { + "role": "user", + "content": [ + { + "type": "image", + "url": { + "uri": base64_image_url, + }, + }, + { + "type": "text", + "text": "Describe what is in this image.", + }, + ], + } + response = llama_stack_client.inference.chat_completion( + model_id=vision_model_id, + messages=[message], + stream=False, + ) + message_content = response.completion_message.content.lower().strip() + assert len(message_content) > 0 From 3a9468ce9b06dc066d20622c3e5e916163ba2218 Mon Sep 17 00:00:00 2001 From: Xi Yan Date: Fri, 17 Jan 2025 18:33:40 -0800 Subject: [PATCH 11/11] fix again vllm for non base64 (#818) # What does this PR do? - previous fix introduced regression for non base64 image - add back download, and base64 check ## Test Plan image ## Sources Please link relevant resources if necessary. ## Before submitting - [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case). - [ ] Ran pre-commit to handle lint / formatting issues. - [ ] Read the [contributor guideline](https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md), Pull Request section? - [ ] Updated relevant documentation. - [ ] Wrote necessary unit or integration tests. --- llama_stack/providers/remote/inference/vllm/vllm.py | 3 ++- llama_stack/providers/utils/inference/prompt_adapter.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/llama_stack/providers/remote/inference/vllm/vllm.py b/llama_stack/providers/remote/inference/vllm/vllm.py index 81c746cce..1dbb4ecfa 100644 --- a/llama_stack/providers/remote/inference/vllm/vllm.py +++ b/llama_stack/providers/remote/inference/vllm/vllm.py @@ -177,7 +177,8 @@ class VLLMInferenceAdapter(Inference, ModelsProtocolPrivate): if isinstance(request, ChatCompletionRequest): if media_present: input_dict["messages"] = [ - await convert_message_to_openai_dict(m) for m in request.messages + await convert_message_to_openai_dict(m, download=True) + for m in request.messages ] else: input_dict["prompt"] = await chat_completion_request_to_prompt( diff --git a/llama_stack/providers/utils/inference/prompt_adapter.py b/llama_stack/providers/utils/inference/prompt_adapter.py index 7ee19fd7b..701b2ca3b 100644 --- a/llama_stack/providers/utils/inference/prompt_adapter.py +++ b/llama_stack/providers/utils/inference/prompt_adapter.py @@ -188,7 +188,7 @@ async def localize_image_content(media: ImageContentItem) -> Tuple[bytes, str]: async def convert_image_content_to_url( media: ImageContentItem, download: bool = False, include_format: bool = True ) -> str: - if media.url and not download: + if media.url and (not download or media.url.uri.startswith("data")): return media.url.uri content, format = await localize_image_content(media)