diff --git a/pyproject.toml b/pyproject.toml index 6e0591e..2ea3d60 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ "datasets>=3.6.0", "fastapi>=0.115.12", "httpx>=0.28.1", - "llama-stack==0.2.11", + "llama-stack==0.2.13", "mcp>=1.9.2", "numpy>=2.2.6", "openai>=1.82.0", @@ -31,7 +31,7 @@ dependencies = [ "psutil>=7.0.0", "pydantic>=2.11.5", "pymilvus>=2.5.10", - "ramalama==0.9.3", + "ramalama==0.10.0", "requests>=2.32.3", "sentence-transformers>=3.0.0", "six>=1.17.0", diff --git a/requirements.txt b/requirements.txt index 5ec482f..0f4b1b4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,9 @@ aiohttp==3.12.7 aiosignal==1.3.2 # via aiohttp aiosqlite==0.21.0 - # via ramalama-stack + # via + # llama-stack + # ramalama-stack annotated-types==0.7.0 # via pydantic anyio==4.9.0 @@ -27,6 +29,8 @@ anyio==4.9.0 # starlette argcomplete==3.6.2 # via ramalama +asyncpg==0.30.0 + # via llama-stack attrs==25.3.0 # via # aiohttp @@ -88,7 +92,9 @@ filelock==3.18.0 # torch # transformers fire==0.7.0 - # via llama-stack + # via + # llama-stack + # llama-stack-client frozenlist==1.6.0 # via # aiohttp @@ -153,9 +159,9 @@ jsonschema==4.24.0 # llama-stack jsonschema-specifications==2025.4.1 # via jsonschema -llama-stack==0.2.11 +llama-stack==0.2.13 # via ramalama-stack -llama-stack-client==0.2.12 +llama-stack-client==0.2.13 # via llama-stack lxml==5.4.0 # via blobfile @@ -238,13 +244,16 @@ opentelemetry-api==1.33.1 opentelemetry-exporter-otlp-proto-common==1.33.1 # via opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-http==1.33.1 - # via ramalama-stack + # via + # llama-stack + # ramalama-stack opentelemetry-proto==1.33.1 # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-http opentelemetry-sdk==1.33.1 # via + # llama-stack # opentelemetry-exporter-otlp-proto-http # ramalama-stack opentelemetry-semantic-conventions==0.54b1 @@ -338,7 +347,7 @@ pyyaml==6.0.2 # peft # pyaml # transformers -ramalama==0.9.3 +ramalama==0.10.0 # via ramalama-stack referencing==0.36.2 # via @@ -352,7 +361,7 @@ requests==2.32.3 # via # datasets # huggingface-hub - # llama-stack + # llama-stack-client # opentelemetry-exporter-otlp-proto-http # ramalama-stack # tiktoken @@ -382,7 +391,6 @@ sentence-transformers==4.1.0 # via ramalama-stack setuptools==80.9.0 # via - # llama-stack # pymilvus # torch # triton @@ -474,6 +482,7 @@ urllib3==2.4.0 # requests uvicorn==0.34.3 # via + # llama-stack # mcp # ramalama-stack wcwidth==0.2.13 diff --git a/src/ramalama_stack/ramalama-run.yaml b/src/ramalama_stack/ramalama-run.yaml index 86902c0..f5a211c 100644 --- a/src/ramalama_stack/ramalama-run.yaml +++ b/src/ramalama_stack/ramalama-run.yaml @@ -12,24 +12,7 @@ apis: - tool_runtime - vector_io providers: - inference: - - provider_id: ramalama - provider_type: remote::ramalama - config: - url: ${env.RAMALAMA_URL:http://localhost:8080} - - provider_id: sentence-transformers - provider_type: inline::sentence-transformers - config: {} - vector_io: - - provider_id: milvus - provider_type: inline::milvus - config: - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/milvus_store.db - safety: - - provider_id: llama-guard - provider_type: inline::llama-guard - config: - excluded_categories: [] + # all available providers can be found here: https://llama-stack.readthedocs.io/en/latest/providers/index.html agents: - provider_id: meta-reference provider_type: inline::meta-reference @@ -37,25 +20,10 @@ providers: persistence_store: type: sqlite namespace: null - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/agents_store.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/agents_store.db responses_store: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/responses_store.db - telemetry: - - provider_id: meta-reference - provider_type: inline::meta-reference - config: - service_name: ${env.OTEL_SERVICE_NAME:llamastack} - sinks: ${env.TELEMETRY_SINKS:console,sqlite} - sqlite_db_path: ${env.SQLITE_DB_PATH:~/.llama/distributions/ramalama}/trace_store.db - eval: - - provider_id: meta-reference - provider_type: inline::meta-reference - config: - kvstore: - type: sqlite - namespace: null - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/meta_reference_eval.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/responses_store.db datasetio: - provider_id: huggingface provider_type: remote::huggingface @@ -63,14 +31,42 @@ providers: kvstore: type: sqlite namespace: null - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/huggingface_datasetio.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/huggingface_datasetio.db - provider_id: localfs provider_type: inline::localfs config: kvstore: type: sqlite namespace: null - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/localfs_datasetio.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/localfs_datasetio.db + eval: + - provider_id: meta-reference + provider_type: inline::meta-reference + config: + kvstore: + type: sqlite + namespace: null + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/meta_reference_eval.db + inference: + - provider_id: ramalama + provider_type: remote::ramalama + config: + url: ${env.RAMALAMA_URL:=http://localhost:8080} + - provider_id: sentence-transformers + provider_type: inline::sentence-transformers + config: {} + post_training: + - provider_id: huggingface + provider_type: inline::huggingface + config: + checkpoint_format: huggingface + distributed_backend: null + device: cpu + safety: + - provider_id: llama-guard + provider_type: inline::llama-guard + config: + excluded_categories: [] scoring: - provider_id: basic provider_type: inline::basic @@ -81,24 +77,24 @@ providers: - provider_id: braintrust provider_type: inline::braintrust config: - openai_api_key: ${env.OPENAI_API_KEY:} - post_training: - - provider_id: huggingface - provider_type: inline::huggingface + openai_api_key: ${env.OPENAI_API_KEY:+} + telemetry: + - provider_id: meta-reference + provider_type: inline::meta-reference config: - checkpoint_format: huggingface - distributed_backend: null - device: cpu + service_name: ${env.OTEL_SERVICE_NAME:=llamastack} + sinks: ${env.TELEMETRY_SINKS:=console,sqlite} + sqlite_db_path: ${env.SQLITE_DB_PATH:=~/.llama/distributions/ramalama}/trace_store.db tool_runtime: - provider_id: brave-search provider_type: remote::brave-search config: - api_key: ${env.BRAVE_SEARCH_API_KEY:} + api_key: ${env.BRAVE_SEARCH_API_KEY:+} max_results: 3 - provider_id: tavily-search provider_type: remote::tavily-search config: - api_key: ${env.TAVILY_SEARCH_API_KEY:} + api_key: ${env.TAVILY_SEARCH_API_KEY:+} max_results: 3 - provider_id: rag-runtime provider_type: inline::rag-runtime @@ -109,13 +105,22 @@ providers: - provider_id: wolfram-alpha provider_type: remote::wolfram-alpha config: - api_key: ${env.WOLFRAM_ALPHA_API_KEY:} + api_key: ${env.WOLFRAM_ALPHA_API_KEY:+} + vector_io: + - provider_id: milvus + provider_type: inline::milvus + config: + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama/milvus.db} + kvstore: + type: sqlite + namespace: null + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama/milvus_registry.db} metadata_store: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/registry.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/registry.db inference_store: type: sqlite - db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/ramalama}/inference_store.db + db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/ramalama}/inference_store.db models: - metadata: {} model_id: ${env.INFERENCE_MODEL} @@ -140,4 +145,4 @@ tool_groups: provider_id: wolfram-alpha server: port: 8321 -external_providers_dir: ${env.EXTERNAL_PROVIDERS_DIR:~/.llama/providers.d} +external_providers_dir: ${env.EXTERNAL_PROVIDERS_DIR:=~/.llama/providers.d} diff --git a/tests/utils.sh b/tests/utils.sh index ae21749..e365fe3 100755 --- a/tests/utils.sh +++ b/tests/utils.sh @@ -157,7 +157,8 @@ function test_llama_stack_openai_models { function test_llama_stack_chat_completion { echo "===> test_llama_stack_chat_completion: start" nohup uv run llama-stack-client configure --endpoint http://localhost:8321 --api-key none - if nohup uv run llama-stack-client inference chat-completion --message "tell me a joke" | grep -q "completion_message"; then + resp=$(nohup uv run llama-stack-client inference chat-completion --message "tell me a joke") + if echo "$resp" | grep -q "OpenAIChatCompletion"; then echo "===> test_llama_stack_chat_completion: pass" return else diff --git a/uv.lock b/uv.lock index 464b0a6..9e9545c 100644 --- a/uv.lock +++ b/uv.lock @@ -136,6 +136,30 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/31/da/e42d7a9d8dd33fa775f467e4028a47936da2f01e4b0e561f9ba0d74cb0ca/argcomplete-3.6.2-py3-none-any.whl", hash = "sha256:65b3133a29ad53fb42c48cf5114752c7ab66c1c38544fdf6460f450c09b42591", size = 43708, upload-time = "2025-04-03T04:57:01.591Z" }, ] +[[package]] +name = "asyncpg" +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/4c/7c991e080e106d854809030d8584e15b2e996e26f16aee6d757e387bc17d/asyncpg-0.30.0.tar.gz", hash = "sha256:c551e9928ab6707602f44811817f82ba3c446e018bfe1d3abecc8ba5f3eac851", size = 957746, upload-time = "2024-10-20T00:30:41.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/64/9d3e887bb7b01535fdbc45fbd5f0a8447539833b97ee69ecdbb7a79d0cb4/asyncpg-0.30.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c902a60b52e506d38d7e80e0dd5399f657220f24635fee368117b8b5fce1142e", size = 673162, upload-time = "2024-10-20T00:29:41.88Z" }, + { url = "https://files.pythonhosted.org/packages/6e/eb/8b236663f06984f212a087b3e849731f917ab80f84450e943900e8ca4052/asyncpg-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aca1548e43bbb9f0f627a04666fedaca23db0a31a84136ad1f868cb15deb6e3a", size = 637025, upload-time = "2024-10-20T00:29:43.352Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/2dc240bb263d58786cfaa60920779af6e8d32da63ab9ffc09f8312bd7a14/asyncpg-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c2a2ef565400234a633da0eafdce27e843836256d40705d83ab7ec42074efb3", size = 3496243, upload-time = "2024-10-20T00:29:44.922Z" }, + { url = "https://files.pythonhosted.org/packages/f4/40/0ae9d061d278b10713ea9021ef6b703ec44698fe32178715a501ac696c6b/asyncpg-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1292b84ee06ac8a2ad8e51c7475aa309245874b61333d97411aab835c4a2f737", size = 3575059, upload-time = "2024-10-20T00:29:46.891Z" }, + { url = "https://files.pythonhosted.org/packages/c3/75/d6b895a35a2c6506952247640178e5f768eeb28b2e20299b6a6f1d743ba0/asyncpg-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0f5712350388d0cd0615caec629ad53c81e506b1abaaf8d14c93f54b35e3595a", size = 3473596, upload-time = "2024-10-20T00:29:49.201Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e7/3693392d3e168ab0aebb2d361431375bd22ffc7b4a586a0fc060d519fae7/asyncpg-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:db9891e2d76e6f425746c5d2da01921e9a16b5a71a1c905b13f30e12a257c4af", size = 3641632, upload-time = "2024-10-20T00:29:50.768Z" }, + { url = "https://files.pythonhosted.org/packages/32/ea/15670cea95745bba3f0352341db55f506a820b21c619ee66b7d12ea7867d/asyncpg-0.30.0-cp312-cp312-win32.whl", hash = "sha256:68d71a1be3d83d0570049cd1654a9bdfe506e794ecc98ad0873304a9f35e411e", size = 560186, upload-time = "2024-10-20T00:29:52.394Z" }, + { url = "https://files.pythonhosted.org/packages/7e/6b/fe1fad5cee79ca5f5c27aed7bd95baee529c1bf8a387435c8ba4fe53d5c1/asyncpg-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:9a0292c6af5c500523949155ec17b7fe01a00ace33b68a476d6b5059f9630305", size = 621064, upload-time = "2024-10-20T00:29:53.757Z" }, + { url = "https://files.pythonhosted.org/packages/3a/22/e20602e1218dc07692acf70d5b902be820168d6282e69ef0d3cb920dc36f/asyncpg-0.30.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:05b185ebb8083c8568ea8a40e896d5f7af4b8554b64d7719c0eaa1eb5a5c3a70", size = 670373, upload-time = "2024-10-20T00:29:55.165Z" }, + { url = "https://files.pythonhosted.org/packages/3d/b3/0cf269a9d647852a95c06eb00b815d0b95a4eb4b55aa2d6ba680971733b9/asyncpg-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c47806b1a8cbb0a0db896f4cd34d89942effe353a5035c62734ab13b9f938da3", size = 634745, upload-time = "2024-10-20T00:29:57.14Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6d/a4f31bf358ce8491d2a31bfe0d7bcf25269e80481e49de4d8616c4295a34/asyncpg-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b6fde867a74e8c76c71e2f64f80c64c0f3163e687f1763cfaf21633ec24ec33", size = 3512103, upload-time = "2024-10-20T00:29:58.499Z" }, + { url = "https://files.pythonhosted.org/packages/96/19/139227a6e67f407b9c386cb594d9628c6c78c9024f26df87c912fabd4368/asyncpg-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46973045b567972128a27d40001124fbc821c87a6cade040cfcd4fa8a30bcdc4", size = 3592471, upload-time = "2024-10-20T00:30:00.354Z" }, + { url = "https://files.pythonhosted.org/packages/67/e4/ab3ca38f628f53f0fd28d3ff20edff1c975dd1cb22482e0061916b4b9a74/asyncpg-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9110df111cabc2ed81aad2f35394a00cadf4f2e0635603db6ebbd0fc896f46a4", size = 3496253, upload-time = "2024-10-20T00:30:02.794Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5f/0bf65511d4eeac3a1f41c54034a492515a707c6edbc642174ae79034d3ba/asyncpg-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:04ff0785ae7eed6cc138e73fc67b8e51d54ee7a3ce9b63666ce55a0bf095f7ba", size = 3662720, upload-time = "2024-10-20T00:30:04.501Z" }, + { url = "https://files.pythonhosted.org/packages/e7/31/1513d5a6412b98052c3ed9158d783b1e09d0910f51fbe0e05f56cc370bc4/asyncpg-0.30.0-cp313-cp313-win32.whl", hash = "sha256:ae374585f51c2b444510cdf3595b97ece4f233fde739aa14b50e0d64e8a7a590", size = 560404, upload-time = "2024-10-20T00:30:06.537Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a4/cec76b3389c4c5ff66301cd100fe88c318563ec8a520e0b2e792b5b84972/asyncpg-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:f59b430b8e27557c3fb9869222559f7417ced18688375825f8f12302c34e915e", size = 621623, upload-time = "2024-10-20T00:30:09.024Z" }, +] + [[package]] name = "attrs" version = "25.3.0" @@ -738,10 +762,12 @@ wheels = [ [[package]] name = "llama-stack" -version = "0.2.11" +version = "0.2.13" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, + { name = "aiosqlite" }, + { name = "asyncpg" }, { name = "fastapi" }, { name = "fire" }, { name = "h11" }, @@ -751,46 +777,49 @@ dependencies = [ { name = "jsonschema" }, { name = "llama-stack-client" }, { name = "openai" }, + { name = "opentelemetry-exporter-otlp-proto-http" }, + { name = "opentelemetry-sdk" }, { name = "pillow" }, { name = "prompt-toolkit" }, { name = "pydantic" }, { name = "python-dotenv" }, { name = "python-jose" }, { name = "python-multipart" }, - { name = "requests" }, { name = "rich" }, - { name = "setuptools" }, { name = "starlette" }, { name = "termcolor" }, { name = "tiktoken" }, + { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/38/990cc8893ad6e021bcc4ef46794fcbf7faad5f241b57652ae82d857a327e/llama_stack-0.2.11.tar.gz", hash = "sha256:6ff347cd408577c96c8def7e2ec1912e0709cb02c0e2ed52a1762b68be9ddc31", size = 3278046, upload-time = "2025-06-17T19:07:51.079Z" } +sdist = { url = "https://files.pythonhosted.org/packages/93/8f/71efe6408ac0412e5d6f9cc2ceb984d4e4723f393dd05197ae1b6673ae94/llama_stack-0.2.13.tar.gz", hash = "sha256:be59570fde5e39224ea8358e2b04e6d92dc37a36a24f5fdf20c853f02793aaa2", size = 3289810, upload-time = "2025-06-27T23:55:56.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/93/c24bbc2bc057f9610e42f3640d963e02075fbd37ea2be505258338f27314/llama_stack-0.2.11-py3-none-any.whl", hash = "sha256:a7bc82396f27b1c891346d261bc908a803a9aaec6e39c95753dff038636ef279", size = 3644428, upload-time = "2025-06-17T19:07:49.484Z" }, + { url = "https://files.pythonhosted.org/packages/fe/f0/8b7cb34a1cea38ce32a0c997e5d71e04fbe6d410d1621f9467fbefef8d03/llama_stack-0.2.13-py3-none-any.whl", hash = "sha256:426c0cab38d561b25ce3f2eb757f26ea4bce9783ef80eb6d1dad1bb9bcc4e168", size = 3660630, upload-time = "2025-06-27T23:55:54.76Z" }, ] [[package]] name = "llama-stack-client" -version = "0.2.12" +version = "0.2.13" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, { name = "click" }, { name = "distro" }, + { name = "fire" }, { name = "httpx" }, { name = "pandas" }, { name = "prompt-toolkit" }, { name = "pyaml" }, { name = "pydantic" }, + { name = "requests" }, { name = "rich" }, { name = "sniffio" }, { name = "termcolor" }, { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/83/d5/0d3b1bfa342c1983c277d05eaf51214f9cf4b77345d416cff576e8f0172a/llama_stack_client-0.2.12.tar.gz", hash = "sha256:47260284f36ef40dbf4f04d2c2e6f4dfd407cf090930810617ccb9a690e029c3", size = 289939, upload-time = "2025-06-20T21:05:36.008Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/a6/272b9a522df3580df763627c4bf74447aec02d44b9218fe192efc8721a46/llama_stack_client-0.2.13.tar.gz", hash = "sha256:af4a6cff681126e9a42d4c5c9522bc5946d5ad6e2d620e8e6727dc0c8cc82989", size = 252548, upload-time = "2025-06-27T23:55:48.395Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/68/eb/23c10e3a7d7a49a316e05ddcca8cd712a5a474eb6f904d08f7d3ae10d668/llama_stack_client-0.2.12-py3-none-any.whl", hash = "sha256:807145450e5f6bea9e20ab890d8327d07b45b1bbde712e3fcca54c298c792874", size = 340187, upload-time = "2025-06-20T21:05:33.561Z" }, + { url = "https://files.pythonhosted.org/packages/59/c2/74bd3f28a4537fc3e5edd4cb00fd50941479f5b6d5c5cb278a24857551f2/llama_stack_client-0.2.13-py3-none-any.whl", hash = "sha256:cec627ce58a6a42ccfcd29f6329f6cd891170ae012dac676bfc25ae1440d6769", size = 343112, upload-time = "2025-06-27T23:55:46.927Z" }, ] [[package]] @@ -1818,14 +1847,14 @@ wheels = [ [[package]] name = "ramalama" -version = "0.9.3" +version = "0.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "argcomplete" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/18/8c/542586bc878db32826821fc5fa8b906d7bc949d5b6fd4b8e72dac8d82385/ramalama-0.9.3.tar.gz", hash = "sha256:c2445287bb13ea0271a6686f66b8a1ce27e7232975b29acb3471109f0cac72af", size = 135733, upload-time = "2025-06-23T15:24:38.226Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/e4/69e424a852e0007d18538a800b8b3864d62287f81fe9c0fb1fa839fc8b5c/ramalama-0.10.0.tar.gz", hash = "sha256:c4be094a50541f647c9563e3bd1f6b786cb8683f938a84a39b1a63c495dbb219", size = 133554, upload-time = "2025-06-30T12:33:50.575Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/7e/b7c55f6f13768db3c28940702ba2e9d90ca43a127d9088cb4b863b725831/ramalama-0.9.3-py3-none-any.whl", hash = "sha256:b9d8c17d1b3129d32ccfd0f7d3d500479255ab30983dee28505bd3145aac9daa", size = 145424, upload-time = "2025-06-23T15:24:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/84/64/8b98d8272f631b97666d3fd9ad2f572de0a83d4f10f536330abe8f07306c/ramalama-0.10.0-py3-none-any.whl", hash = "sha256:cb9cbeff4731c4490b372b6e0e9ca6cb7864228d6f0416db10b9f700c9450ed7", size = 144404, upload-time = "2025-06-30T12:33:49.084Z" }, ] [[package]] @@ -1876,7 +1905,7 @@ requires-dist = [ { name = "datasets", specifier = ">=3.6.0" }, { name = "fastapi", specifier = ">=0.115.12" }, { name = "httpx", specifier = ">=0.28.1" }, - { name = "llama-stack", specifier = "==0.2.11" }, + { name = "llama-stack", specifier = "==0.2.13" }, { name = "mcp", specifier = ">=1.9.2" }, { name = "numpy", specifier = ">=2.2.6" }, { name = "openai", specifier = ">=1.82.0" }, @@ -1886,7 +1915,7 @@ requires-dist = [ { name = "psutil", specifier = ">=7.0.0" }, { name = "pydantic", specifier = ">=2.11.5" }, { name = "pymilvus", specifier = ">=2.5.10" }, - { name = "ramalama", specifier = "==0.9.3" }, + { name = "ramalama", specifier = "==0.10.0" }, { name = "requests", specifier = ">=2.32.3" }, { name = "sentence-transformers", specifier = ">=3.0.0" }, { name = "six", specifier = ">=1.17.0" },