diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index d65ea02e5..d46d0778e 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -93,44 +93,44 @@ jobs: - name: Select and configure run.yaml env: - CONFIG_MODE: ${{ matrix.mode }} + CONFIG_ENVIRONMENT: ${{ matrix.environment || 'ci' }} run: | CONFIGS_DIR="tests/e2e/configs" - MODE="$CONFIG_MODE" + ENVIRONMENT="$CONFIG_ENVIRONMENT" - echo "Deployment mode: $MODE" + echo "Looking for configurations in $CONFIGS_DIR/" - # Select config based on mode: - # - library mode: run-library.yaml (llama-stack 0.3.0 format) - # - server mode: run-ci.yaml (original format) - if [ "$MODE" == "library" ]; then - CONFIG_FILE="$CONFIGS_DIR/run-library.yaml" + # List available configurations + if [ -d "$CONFIGS_DIR" ]; then + echo "Available configurations:" + ls -la "$CONFIGS_DIR"/*.yaml 2>/dev/null || echo "No YAML files found in $CONFIGS_DIR/" else - CONFIG_FILE="$CONFIGS_DIR/run-ci.yaml" + echo "Configs directory '$CONFIGS_DIR' not found!" + exit 1 fi - echo "Using configuration: $CONFIG_FILE" + # Determine which config file to use + CONFIG_FILE="$CONFIGS_DIR/run-$ENVIRONMENT.yaml" + + echo "Looking for: $CONFIG_FILE" - if [ ! -f "$CONFIG_FILE" ]; then - echo "❌ Configuration not found: $CONFIG_FILE" - echo "Available configs:" - ls -la "$CONFIGS_DIR"/*.yaml + if [ -f "$CONFIG_FILE" ]; then + echo "✅ Found config for environment: $ENVIRONMENT" + cp "$CONFIG_FILE" run.yaml + echo "✅ Config copied to run.yaml" + else + echo "❌ Configuration file not found: $CONFIG_FILE" + echo "Available files in $CONFIGS_DIR:" + ls -la "$CONFIGS_DIR/" exit 1 fi - - cp "$CONFIG_FILE" run.yaml - echo "✅ Configuration copied to run.yaml" - name: Show final configuration run: | echo "=== Configuration Summary ===" echo "Deployment mode: ${{ matrix.mode }}" echo "Environment: ${{ matrix.environment }}" - if [ "${{ matrix.mode }}" == "library" ]; then - echo "Source config: tests/e2e/configs/run-library.yaml" - else - echo "Source config: tests/e2e/configs/run-ci.yaml" - fi + echo "Source config: tests/e2e/configs/run-ci.yaml" echo "" echo "=== Configuration Preview ===" echo "Providers: $(grep -c "provider_id:" run.yaml)" @@ -139,6 +139,13 @@ jobs: echo "=== lightspeed-stack.yaml ===" grep -A 3 "llama_stack:" lightspeed-stack.yaml + - name: Docker Login for quay access + env: + QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_DOWNSTREAM_USERNAME }} + QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_DOWNSTREAM_TOKEN }} + run: | + echo $QUAY_ROBOT_TOKEN | docker login quay.io -u=$QUAY_ROBOT_USERNAME --password-stdin + - name: Run services (Server Mode) if: matrix.mode == 'server' env: diff --git a/.github/workflows/e2e_tests_rhaiis.yaml b/.github/workflows/e2e_tests_rhaiis.yaml index 70a70c19f..539f633c0 100644 --- a/.github/workflows/e2e_tests_rhaiis.yaml +++ b/.github/workflows/e2e_tests_rhaiis.yaml @@ -122,6 +122,13 @@ jobs: run: | curl -f ${RHAIIS_URL}:8000/v1/models -H "Authorization: Bearer ${RHAIIS_API_KEY}" + - name: Docker Login for quay access + env: + QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_ROBOT_USERNAME }} + QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_ROBOT_TOKEN }} + run: | + echo $QUAY_ROBOT_TOKEN | docker login quay.io -u=$QUAY_ROBOT_USERNAME --password-stdin + - name: Run service manually run: | docker compose version diff --git a/.github/workflows/e2e_tests_rhelai.yaml b/.github/workflows/e2e_tests_rhelai.yaml index 6c4da2d72..c73c4434c 100644 --- a/.github/workflows/e2e_tests_rhelai.yaml +++ b/.github/workflows/e2e_tests_rhelai.yaml @@ -123,6 +123,13 @@ jobs: echo $RHEL_AI_MODEL curl -f ${RHEL_AI_URL}:${RHEL_AI_PORT}/v1/models -H "Authorization: Bearer ${RHEL_AI_API_KEY}" + - name: Docker Login for quay access + env: + QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_ROBOT_USERNAME }} + QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_ROBOT_TOKEN }} + run: | + echo $QUAY_ROBOT_TOKEN | docker login quay.io -u=$QUAY_ROBOT_USERNAME --password-stdin + - name: Run service manually run: | docker compose version diff --git a/Containerfile b/Containerfile index f4024e4d1..c35cc3ad0 100644 --- a/Containerfile +++ b/Containerfile @@ -75,7 +75,7 @@ USER root RUN microdnf install -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs jq patch # Create llama-stack directories for library mode -RUN mkdir -p /opt/app-root/src/.llama/distributions/ollama /opt/app-root/src/.llama/providers.d && \ +RUN mkdir -p /opt/app-root/src/.llama/storage /opt/app-root/src/.llama/providers.d && \ chown -R 1001:1001 /opt/app-root/src/.llama # Add executables from .venv to system PATH diff --git a/README.md b/README.md index 23b1021ef..b0c9de235 100644 --- a/README.md +++ b/README.md @@ -623,6 +623,9 @@ The repository includes production-ready container configurations that support t ### Llama-Stack as Separate Service (Server Mode) +> [!IMPORTANT] +> To pull the downstream llama-stack image, you will need access to the `aipcc` organization in quay.io. + When using llama-stack as a separate service, the existing `docker-compose.yaml` provides the complete setup. This builds two containers for lightspeed core and llama stack. **Configuration** (`lightspeed-stack.yaml`): @@ -639,6 +642,9 @@ In the root of this project simply run: # Set your OpenAI API key export OPENAI_API_KEY="your-api-key-here" +# Login to quay.io to access the downstream llama-stack image +# podman login quay.io + # Start both services podman compose up --build diff --git a/docker-compose.yaml b/docker-compose.yaml index 424606312..8262e314e 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -23,6 +23,9 @@ services: - RHEL_AI_PORT=${RHEL_AI_PORT} - RHEL_AI_API_KEY=${RHEL_AI_API_KEY} - RHEL_AI_MODEL=${RHEL_AI_MODEL} + # Enable debug logging if needed + - LLAMA_STACK_LOGGING=${LLAMA_STACK_LOGGING:-} + networks: - lightspeednet healthcheck: diff --git a/pyproject.toml b/pyproject.toml index c30872515..62f5ab0e3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,8 +28,8 @@ dependencies = [ # Used by authentication/k8s integration "kubernetes>=30.1.0", # Used to call Llama Stack APIs - "llama-stack==0.3.0", - "llama-stack-client==0.3.0", + "llama-stack==0.3.4", + "llama-stack-client==0.3.4", # Used by Logger "rich>=14.0.0", # Used by JWK token auth handler diff --git a/requirements.aarch64.txt b/requirements.aarch64.txt index ceb27e513..7a2974e73 100644 --- a/requirements.aarch64.txt +++ b/requirements.aarch64.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml -o requirements.aarch64.txt --generate-hashes --group llslibdev --python-platform aarch64-unknown-linux-gnu --torch-backend cpu --python-version 3.12 +# uv pip compile pyproject.toml -o requirements.aarch64.txt --generate-hashes --group llslibdev --python-platform aarch64-unknown-linux-gnu --torch-backend cpu --python-version 3.12 --refresh-package llama-stack --refresh-package llama-stack-client accelerate==1.12.0 \ --hash=sha256:3e2091cd341423207e2f084a6654b1efcd250dc326f2a37d6dde446e07cabb11 \ --hash=sha256:70988c352feb481887077d2ab845125024b2a137a5090d6d7a32b57d03a45df6 @@ -230,9 +230,9 @@ attrs==25.4.0 \ # aiohttp # jsonschema # referencing -authlib==1.6.5 \ - --hash=sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a \ - --hash=sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b +authlib==1.6.6 \ + --hash=sha256:45770e8e056d0f283451d9996fbb59b70d45722b45d854d58f32878d0a40c38e \ + --hash=sha256:7d9e9bc535c13974313a87f53e8430eb6ea3d1cf6ae4f6efcd793f2e949143fd # via lightspeed-stack (pyproject.toml) autoevals==0.0.130 \ --hash=sha256:92f87ab95a575b56d9d7377e6f1399932d09180d2f3a8266b4f693f46f49b86d \ @@ -656,9 +656,9 @@ faiss-cpu==1.13.1 \ --hash=sha256:ff5bdbf392081659e6b0f98f03b602bf08d1b5a790e28aa1185ae925decff6b2 \ --hash=sha256:ffc58173e24026ee4dc08c50dd3506ad553d4b2103892500b0d4ae9344027d57 # via lightspeed-stack (pyproject.toml:llslibdev) -fastapi==0.124.0 \ - --hash=sha256:260cd178ad75e6d259991f2fd9b0fee924b224850079df576a3ba604ce58f4e6 \ - --hash=sha256:91596bdc6dde303c318f06e8d2bc75eafb341fc793a0c9c92c0bc1db1ac52480 +fastapi==0.124.2 \ + --hash=sha256:6314385777a507bb19b34bd064829fddaea0eea54436deb632b5de587554055c \ + --hash=sha256:72e188f01f360e2f59da51c8822cbe4bca210c35daaae6321b1b724109101c00 # via # lightspeed-stack (pyproject.toml) # llama-stack @@ -1393,13 +1393,13 @@ litellm==1.80.9 \ --hash=sha256:768b62f26086efbaed40f4dfd353ff66302474bbfb0adf5862066acdb0727df6 \ --hash=sha256:bad02b96ee3d83702639553ffc5961c605f4f937be8167181bc4c80394a1cdd1 # via lightspeed-stack (pyproject.toml) -llama-stack==0.3.0 \ - --hash=sha256:8277c54cf4a283077143a0804128f2c76f1ec9660116353176c77b659206d315 \ - --hash=sha256:c2b999dced8970f3590ecd7eca50bef1bc0c052eec15b8aba78a5c17a0a4051d +llama-stack==0.3.4 \ + --hash=sha256:3e302db1efb2ed6c974526b8c6b04b9e54891f3959d0d83c004f77e1c21f6147 \ + --hash=sha256:bdb489e4341559465d604c9eba554460ab0d17c5dc005ee2d40aa892b94e2e9b # via lightspeed-stack (pyproject.toml) -llama-stack-client==0.3.0 \ - --hash=sha256:1e974a74d0da285e18ba7df30b9a324e250782b130253bcef3e695830c5bb03d \ - --hash=sha256:9f85d84d508ef7da44b96ca8555d7783da717cfc9135bab6a5530fe8c852690d +llama-stack-client==0.3.4 \ + --hash=sha256:6afbd10b152911a044e8d038e58981425ce0a34510da3e31cdd3103516e27688 \ + --hash=sha256:949c0a6c9a1c925a2b0d930d85b6485bb8d264ba68d02f36aca3c2539cb7b893 # via # lightspeed-stack (pyproject.toml) # llama-stack @@ -1640,62 +1640,62 @@ markupsafe==3.0.3 \ --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 # via jinja2 -matplotlib==3.10.7 \ - --hash=sha256:07124afcf7a6504eafcb8ce94091c5898bbdd351519a1beb5c45f7a38c67e77f \ - --hash=sha256:09d7945a70ea43bf9248f4b6582734c2fe726723204a76eca233f24cffc7ef67 \ - --hash=sha256:0d8c32b7ea6fb80b1aeff5a2ceb3fb9778e2759e899d9beff75584714afcc5ee \ - --hash=sha256:11ae579ac83cdf3fb72573bb89f70e0534de05266728740d478f0f818983c695 \ - --hash=sha256:15112bcbaef211bd663fa935ec33313b948e214454d949b723998a43357b17b0 \ - --hash=sha256:1d9d3713a237970569156cfb4de7533b7c4eacdd61789726f444f96a0d28f57f \ - --hash=sha256:1e4bbad66c177a8fdfa53972e5ef8be72a5f27e6a607cec0d8579abd0f3102b1 \ - --hash=sha256:2222c7ba2cbde7fe63032769f6eb7e83ab3227f47d997a8453377709b7fe3a5a \ - --hash=sha256:22df30ffaa89f6643206cf13877191c63a50e8f800b038bc39bee9d2d4957632 \ - --hash=sha256:31963603041634ce1a96053047b40961f7a29eb8f9a62e80cc2c0427aa1d22a2 \ - --hash=sha256:37a1fea41153dd6ee061d21ab69c9cf2cf543160b1b85d89cd3d2e2a7902ca4c \ - --hash=sha256:3886e47f64611046bc1db523a09dd0a0a6bed6081e6f90e13806dd1d1d1b5e91 \ - --hash=sha256:4645fc5d9d20ffa3a39361fcdbcec731382763b623b72627806bf251b6388866 \ - --hash=sha256:4a11c2e9e72e7de09b7b72e62f3df23317c888299c875e2b778abf1eda8c0a42 \ - --hash=sha256:4a74f79fafb2e177f240579bc83f0b60f82cc47d2f1d260f422a0627207008ca \ - --hash=sha256:4c14b6acd16cddc3569a2d515cfdd81c7a68ac5639b76548cfc1a9e48b20eb65 \ - --hash=sha256:53b492410a6cd66c7a471de6c924f6ede976e963c0f3097a3b7abfadddc67d0a \ - --hash=sha256:53cc80662dd197ece414dd5b66e07370201515a3eaf52e7c518c68c16814773b \ - --hash=sha256:5c09cf8f2793f81368f49f118b6f9f937456362bee282eac575cca7f84cda537 \ - --hash=sha256:5e38c2d581d62ee729a6e144c47a71b3f42fb4187508dbbf4fe71d5612c3433b \ - --hash=sha256:5f3f6d315dcc176ba7ca6e74c7768fb7e4cf566c49cb143f6bc257b62e634ed8 \ - --hash=sha256:6516ce375109c60ceec579e699524e9d504cd7578506f01150f7a6bc174a775e \ - --hash=sha256:667ecd5d8d37813a845053d8f5bf110b534c3c9f30e69ebd25d4701385935a6d \ - --hash=sha256:6f1851eab59ca082c95df5a500106bad73672645625e04538b3ad0f69471ffcc \ - --hash=sha256:702590829c30aada1e8cef0568ddbffa77ca747b4d6e36c6d173f66e301f89cc \ - --hash=sha256:7146d64f561498764561e9cd0ed64fcf582e570fc519e6f521e2d0cfd43365e1 \ - --hash=sha256:744991e0cc863dd669c8dc9136ca4e6e0082be2070b9d793cbd64bec872a6815 \ - --hash=sha256:786656bb13c237bbcebcd402f65f44dd61ead60ee3deb045af429d889c8dbc67 \ - --hash=sha256:7a0edb7209e21840e8361e91ea84ea676658aa93edd5f8762793dec77a4a6748 \ - --hash=sha256:7ac81eee3b7c266dd92cee1cd658407b16c57eed08c7421fa354ed68234de380 \ - --hash=sha256:90ad854c0a435da3104c01e2c6f0028d7e719b690998a2333d7218db80950722 \ - --hash=sha256:9257be2f2a03415f9105c486d304a321168e61ad450f6153d77c69504ad764bb \ - --hash=sha256:932c55d1fa7af4423422cb6a492a31cbcbdbe68fd1a9a3f545aa5e7a143b5355 \ - --hash=sha256:a06ba7e2a2ef9131c79c49e63dad355d2d878413a0376c1727c8b9335ff731c7 \ - --hash=sha256:aebed7b50aa6ac698c90f60f854b47e48cd2252b30510e7a1feddaf5a3f72cbf \ - --hash=sha256:b172db79759f5f9bc13ef1c3ef8b9ee7b37b0247f987fbbbdaa15e4f87fd46a9 \ - --hash=sha256:b3c4ea4948d93c9c29dc01c0c23eef66f2101bf75158c291b88de6525c55c3d1 \ - --hash=sha256:b498e9e4022f93de2d5a37615200ca01297ceebbb56fe4c833f46862a490f9e3 \ - --hash=sha256:b4d41379b05528091f00e1728004f9a8d7191260f3862178b88e8fd770206318 \ - --hash=sha256:b69676845a0a66f9da30e87f48be36734d6748024b525ec4710be40194282c84 \ - --hash=sha256:c17398b709a6cce3d9fdb1595c33e356d91c098cd9486cb2cc21ea2ea418e715 \ - --hash=sha256:c380371d3c23e0eadf8ebff114445b9f970aff2010198d498d4ab4c3b41eea4f \ - --hash=sha256:cb783436e47fcf82064baca52ce748af71725d0352e1d31564cbe9c95df92b9c \ - --hash=sha256:cc1c51b846aca49a5a8b44fbba6a92d583a35c64590ad9e1e950dc88940a4297 \ - --hash=sha256:d0b181e9fa8daf1d9f2d4c547527b167cb8838fc587deabca7b5c01f97199e84 \ - --hash=sha256:d2a959c640cdeecdd2ec3136e8ea0441da59bcaf58d67e9c590740addba2cb68 \ - --hash=sha256:d5f256d49fea31f40f166a5e3131235a5d2f4b7f44520b1cf0baf1ce568ccff0 \ - --hash=sha256:d883460c43e8c6b173fef244a2341f7f7c0e9725c7fe68306e8e44ed9c8fb100 \ - --hash=sha256:d8eb7194b084b12feb19142262165832fc6ee879b945491d1c3d4660748020c4 \ - --hash=sha256:d9749313deb729f08207718d29c86246beb2ea3fdba753595b55901dee5d2fd6 \ - --hash=sha256:de66744b2bb88d5cd27e80dfc2ec9f0517d0a46d204ff98fe9e5f2864eb67657 \ - --hash=sha256:e91f61a064c92c307c5a9dc8c05dc9f8a68f0a3be199d9a002a0622e13f874a1 \ - --hash=sha256:f19410b486fdd139885ace124e57f938c1e6a3210ea13dd29cab58f5d4bc12c7 \ - --hash=sha256:f79d5de970fc90cd5591f60053aecfce1fcd736e0303d9f0bf86be649fa68fb8 \ - --hash=sha256:fba2974df0bf8ce3c995fa84b79cde38326e0f7b5409e7a3a481c1141340bcf7 +matplotlib==3.10.8 \ + --hash=sha256:00270d217d6b20d14b584c521f810d60c5c78406dc289859776550df837dcda7 \ + --hash=sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a \ + --hash=sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f \ + --hash=sha256:12d90df9183093fcd479f4172ac26b322b1248b15729cb57f42f71f24c7e37a3 \ + --hash=sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5 \ + --hash=sha256:18821ace09c763ec93aef5eeff087ee493a24051936d7b9ebcad9662f66501f9 \ + --hash=sha256:1ae029229a57cd1e8fe542485f27e7ca7b23aa9e8944ddb4985d0bc444f1eca2 \ + --hash=sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3 \ + --hash=sha256:238b7ce5717600615c895050239ec955d91f321c209dd110db988500558e70d6 \ + --hash=sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f \ + --hash=sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b \ + --hash=sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8 \ + --hash=sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008 \ + --hash=sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b \ + --hash=sha256:37b3c1cc42aa184b3f738cfa18c1c1d72fd496d85467a6cf7b807936d39aa656 \ + --hash=sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958 \ + --hash=sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04 \ + --hash=sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b \ + --hash=sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6 \ + --hash=sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908 \ + --hash=sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c \ + --hash=sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1 \ + --hash=sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d \ + --hash=sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1 \ + --hash=sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c \ + --hash=sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a \ + --hash=sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce \ + --hash=sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a \ + --hash=sha256:6be43b667360fef5c754dda5d25a32e6307a03c204f3c0fc5468b78fa87b4160 \ + --hash=sha256:6da7c2ce169267d0d066adcf63758f0604aa6c3eebf67458930f9d9b79ad1db1 \ + --hash=sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11 \ + --hash=sha256:9153c3292705be9f9c64498a8872118540c3f4123d1a1c840172edf262c8be4a \ + --hash=sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466 \ + --hash=sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486 \ + --hash=sha256:a2b336e2d91a3d7006864e0990c83b216fcdca64b5a6484912902cef87313d78 \ + --hash=sha256:a48f2b74020919552ea25d222d5cc6af9ca3f4eb43a93e14d068457f545c2a17 \ + --hash=sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077 \ + --hash=sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565 \ + --hash=sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f \ + --hash=sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50 \ + --hash=sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58 \ + --hash=sha256:bab485bcf8b1c7d2060b4fcb6fc368a9e6f4cd754c9c2fea281f4be21df394a2 \ + --hash=sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645 \ + --hash=sha256:d56a1efd5bfd61486c8bc968fa18734464556f0fb8e51690f4ac25d85cbbbbc2 \ + --hash=sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39 \ + --hash=sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf \ + --hash=sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149 \ + --hash=sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22 \ + --hash=sha256:ee40c27c795bda6a5292e9cff9890189d32f7e3a0bf04e0e3c9430c4a00c37df \ + --hash=sha256:efb30e3baaea72ce5928e32bab719ab4770099079d66726a62b11b1ef7273be4 \ + --hash=sha256:f254d118d14a7f99d616271d6c3c27922c092dac11112670b157798b89bf4933 \ + --hash=sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6 \ + --hash=sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8 \ + --hash=sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a \ + --hash=sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7 # via lightspeed-stack (pyproject.toml:llslibdev) mcp==1.23.3 \ --hash=sha256:32768af4b46a1b4f7df34e2bfdf5c6011e7b63d7f1b0e321d0fdef4cd6082031 \ @@ -1962,64 +1962,64 @@ oauthlib==3.3.1 \ # via # kubernetes # requests-oauthlib -openai==2.9.0 \ - --hash=sha256:0d168a490fbb45630ad508a6f3022013c155a68fd708069b6a1a01a5e8f0ffad \ - --hash=sha256:b52ec65727fc8f1eed2fbc86c8eac0998900c7ef63aa2eb5c24b69717c56fa5f +openai==2.11.0 \ + --hash=sha256:21189da44d2e3d027b08c7a920ba4454b8b7d6d30ae7e64d9de11dbe946d4faa \ + --hash=sha256:b3da01d92eda31524930b6ec9d7167c535e843918d7ba8a76b1c38f1104f321e # via # lightspeed-stack (pyproject.toml) # litellm # llama-stack -opentelemetry-api==1.39.0 \ - --hash=sha256:3c3b3ca5c5687b1b5b37e5c5027ff68eacea8675241b29f13110a8ffbb8f0459 \ - --hash=sha256:6130644268c5ac6bdffaf660ce878f10906b3e789f7e2daa5e169b047a2933b9 +opentelemetry-api==1.39.1 \ + --hash=sha256:2edd8463432a7f8443edce90972169b195e7d6a05500cd29e6d13898187c9950 \ + --hash=sha256:fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c # via # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http # opentelemetry-instrumentation # opentelemetry-sdk # opentelemetry-semantic-conventions -opentelemetry-exporter-otlp==1.39.0 \ - --hash=sha256:b405da0287b895fe4e2450dedb2a5b072debba1dfcfed5bdb3d1d183d8daa296 \ - --hash=sha256:fe155d6968d581b325574ad6dc267c8de299397b18d11feeda2206d0a47928a9 +opentelemetry-exporter-otlp==1.39.1 \ + --hash=sha256:68ae69775291f04f000eb4b698ff16ff685fdebe5cb52871bc4e87938a7b00fe \ + --hash=sha256:7cf7470e9fd0060c8a38a23e4f695ac686c06a48ad97f8d4867bc9b420180b9c # via lightspeed-stack (pyproject.toml:llslibdev) -opentelemetry-exporter-otlp-proto-common==1.39.0 \ - --hash=sha256:3d77be7c4bdf90f1a76666c934368b8abed730b5c6f0547a2ec57feb115849ac \ - --hash=sha256:a135fceed1a6d767f75be65bd2845da344dd8b9258eeed6bc48509d02b184409 +opentelemetry-exporter-otlp-proto-common==1.39.1 \ + --hash=sha256:08f8a5862d64cc3435105686d0216c1365dc5701f86844a8cd56597d0c764fde \ + --hash=sha256:763370d4737a59741c89a67b50f9e39271639ee4afc999dadfe768541c027464 # via # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-exporter-otlp-proto-grpc==1.39.0 \ - --hash=sha256:758641278050de9bb895738f35ff8840e4a47685b7e6ef4a201fe83196ba7a05 \ - --hash=sha256:7e7bb3f436006836c0e0a42ac619097746ad5553ad7128a5bd4d3e727f37fc06 +opentelemetry-exporter-otlp-proto-grpc==1.39.1 \ + --hash=sha256:772eb1c9287485d625e4dbe9c879898e5253fea111d9181140f51291b5fec3ad \ + --hash=sha256:fa1c136a05c7e9b4c09f739469cbdb927ea20b34088ab1d959a849b5cc589c18 # via opentelemetry-exporter-otlp -opentelemetry-exporter-otlp-proto-http==1.39.0 \ - --hash=sha256:28d78fc0eb82d5a71ae552263d5012fa3ebad18dfd189bf8d8095ba0e65ee1ed \ - --hash=sha256:5789cb1375a8b82653328c0ce13a054d285f774099faf9d068032a49de4c7862 +opentelemetry-exporter-otlp-proto-http==1.39.1 \ + --hash=sha256:31bdab9745c709ce90a49a0624c2bd445d31a28ba34275951a6a362d16a0b9cb \ + --hash=sha256:d9f5207183dd752a412c4cd564ca8875ececba13be6e9c6c370ffb752fd59985 # via # llama-stack # opentelemetry-exporter-otlp -opentelemetry-instrumentation==0.60b0 \ - --hash=sha256:4e9fec930f283a2677a2217754b40aaf9ef76edae40499c165bc7f1d15366a74 \ - --hash=sha256:aaafa1483543a402819f1bdfb06af721c87d60dd109501f9997332862a35c76a +opentelemetry-instrumentation==0.60b1 \ + --hash=sha256:04480db952b48fb1ed0073f822f0ee26012b7be7c3eac1a3793122737c78632d \ + --hash=sha256:57ddc7974c6eb35865af0426d1a17132b88b2ed8586897fee187fd5b8944bd6a # via lightspeed-stack (pyproject.toml:llslibdev) -opentelemetry-proto==1.39.0 \ - --hash=sha256:1e086552ac79acb501485ff0ce75533f70f3382d43d0a30728eeee594f7bf818 \ - --hash=sha256:c1fa48678ad1a1624258698e59be73f990b7fc1f39e73e16a9d08eef65dd838c +opentelemetry-proto==1.39.1 \ + --hash=sha256:22cdc78efd3b3765d09e68bfbd010d4fc254c9818afd0b6b423387d9dee46007 \ + --hash=sha256:6c8e05144fc0d3ed4d22c2289c6b126e03bcd0e6a7da0f16cedd2e1c2772e2c8 # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-sdk==1.39.0 \ - --hash=sha256:90cfb07600dfc0d2de26120cebc0c8f27e69bf77cd80ef96645232372709a514 \ - --hash=sha256:c22204f12a0529e07aa4d985f1bca9d6b0e7b29fe7f03e923548ae52e0e15dde +opentelemetry-sdk==1.39.1 \ + --hash=sha256:4d5482c478513ecb0a5d938dcc61394e647066e0cc2676bee9f3af3f3f45f01c \ + --hash=sha256:cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6 # via # lightspeed-stack (pyproject.toml:llslibdev) # llama-stack # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-semantic-conventions==0.60b0 \ - --hash=sha256:069530852691136018087b52688857d97bba61cd641d0f8628d2d92788c4f78a \ - --hash=sha256:227d7aa73cbb8a2e418029d6b6465553aa01cf7e78ec9d0bc3255c7b3ac5bf8f +opentelemetry-semantic-conventions==0.60b1 \ + --hash=sha256:87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953 \ + --hash=sha256:9fa8c8b0c110da289809292b0591220d3a7b53c1526a23021e977d68597893fb # via # opentelemetry-instrumentation # opentelemetry-sdk @@ -2195,7 +2195,6 @@ pillow==12.0.0 \ # lightspeed-stack (pyproject.toml:llslibdev) # llama-stack # matplotlib - # sentence-transformers ply==3.11 \ --hash=sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 \ --hash=sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce @@ -3290,9 +3289,9 @@ semver==3.0.4 \ --hash=sha256:9c824d87ba7f7ab4a1890799cec8596f15c1241cb473404ea1cb0c55e4b04746 \ --hash=sha256:afc7d8c584a5ed0a11033af086e8af226a9c0b206f313e0301f8dd7b6b589602 # via lightspeed-stack (pyproject.toml) -sentence-transformers==5.1.2 \ - --hash=sha256:0f6c8bd916a78dc65b366feb8d22fd885efdb37432e7630020d113233af2b856 \ - --hash=sha256:724ce0ea62200f413f1a5059712aff66495bc4e815a1493f7f9bca242414c333 +sentence-transformers==5.2.0 \ + --hash=sha256:aa57180f053687d29b08206766ae7db549be5074f61849def7b17bf0b8025ca2 \ + --hash=sha256:acaeb38717de689f3dab45d5e5a02ebe2f75960a4764ea35fea65f58a4d3019f # via lightspeed-stack (pyproject.toml:llslibdev) setuptools==80.9.0 \ --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \ @@ -3323,12 +3322,14 @@ sqlalchemy==2.0.45 \ --hash=sha256:1d8b4a7a8c9b537509d56d5cd10ecdcfbb95912d72480c8861524efecc6a3fff \ --hash=sha256:215f0528b914e5c75ef2559f69dca86878a3beeb0c1be7279d77f18e8d180ed4 \ --hash=sha256:2c0b74aa79e2deade948fe8593654c8ef4228c44ba862bb7c9585c8e0db90f33 \ + --hash=sha256:2e90a344c644a4fa871eb01809c32096487928bd2038bf10f3e4515cb688cc56 \ --hash=sha256:3c5f76216e7b85770d5bb5130ddd11ee89f4d52b11783674a662c7dd57018177 \ --hash=sha256:470daea2c1ce73910f08caf10575676a37159a6d16c4da33d0033546bddebc9b \ --hash=sha256:4748601c8ea959e37e03d13dcda4a44837afcd1b21338e637f7c935b8da06177 \ --hash=sha256:4b6bec67ca45bc166c8729910bd2a87f1c0407ee955df110d78948f5b5827e8a \ --hash=sha256:5225a288e4c8cc2308dbdd874edad6e7d0fd38eac1e9e5f23503425c8eee20d0 \ --hash=sha256:56ead1f8dfb91a54a28cd1d072c74b3d635bcffbd25e50786533b822d4f2cde2 \ + --hash=sha256:5964f832431b7cdfaaa22a660b4c7eb1dfcd6ed41375f67fd3e3440fd95cb3cc \ --hash=sha256:59a8b8bd9c6bedf81ad07c8bd5543eedca55fe9b8780b2b628d495ba55f8db1e \ --hash=sha256:672c45cae53ba88e0dad74b9027dddd09ef6f441e927786b05bec75d949fbb2e \ --hash=sha256:6d0beadc2535157070c9c17ecf25ecec31e13c229a8f69196d7590bde8082bf1 \ @@ -3347,7 +3348,9 @@ sqlalchemy==2.0.45 \ --hash=sha256:b8c8b41b97fba5f62349aa285654230296829672fc9939cd7f35aab246d1c08b \ --hash=sha256:ba547ac0b361ab4f1608afbc8432db669bd0819b3e12e29fb5fa9529a8bba81d \ --hash=sha256:c1c2091b1489435ff85728fafeb990f073e64f6f5e81d5cd53059773e8521eb6 \ + --hash=sha256:c64772786d9eee72d4d3784c28f0a636af5b0a29f3fe26ff11f55efe90c0bd85 \ --hash=sha256:cd337d3526ec5298f67d6a30bbbe4ed7e5e68862f0bf6dd21d289f8d37b7d60b \ + --hash=sha256:d29b2b99d527dbc66dd87c3c3248a5dd789d974a507f4653c969999fc7c1191b \ --hash=sha256:d2c3684fca8a05f0ac1d9a21c1f4a266983a7ea9180efb80ffeb03861ecd01a0 \ --hash=sha256:d62e47f5d8a50099b17e2bfc1b0c7d7ecd8ba6b46b1507b58cc4f05eefc3bb1c \ --hash=sha256:d8a2ca754e5415cde2b656c27900b19d50ba076aa05ce66e2207623d3fe41f5a \ diff --git a/requirements.x86_64.txt b/requirements.x86_64.txt index 82b5db4a7..17eb16e1a 100644 --- a/requirements.x86_64.txt +++ b/requirements.x86_64.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml -o requirements.x86_64.txt --generate-hashes --group llslibdev --python-platform x86_64-unknown-linux-gnu --torch-backend cpu --python-version 3.12 +# uv pip compile pyproject.toml -o requirements.x86_64.txt --generate-hashes --group llslibdev --python-platform x86_64-unknown-linux-gnu --torch-backend cpu --python-version 3.12 --refresh-package llama-stack --refresh-package llama-stack-client accelerate==1.12.0 \ --hash=sha256:3e2091cd341423207e2f084a6654b1efcd250dc326f2a37d6dde446e07cabb11 \ --hash=sha256:70988c352feb481887077d2ab845125024b2a137a5090d6d7a32b57d03a45df6 @@ -230,9 +230,9 @@ attrs==25.4.0 \ # aiohttp # jsonschema # referencing -authlib==1.6.5 \ - --hash=sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a \ - --hash=sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b +authlib==1.6.6 \ + --hash=sha256:45770e8e056d0f283451d9996fbb59b70d45722b45d854d58f32878d0a40c38e \ + --hash=sha256:7d9e9bc535c13974313a87f53e8430eb6ea3d1cf6ae4f6efcd793f2e949143fd # via lightspeed-stack (pyproject.toml) autoevals==0.0.130 \ --hash=sha256:92f87ab95a575b56d9d7377e6f1399932d09180d2f3a8266b4f693f46f49b86d \ @@ -656,9 +656,9 @@ faiss-cpu==1.13.1 \ --hash=sha256:ff5bdbf392081659e6b0f98f03b602bf08d1b5a790e28aa1185ae925decff6b2 \ --hash=sha256:ffc58173e24026ee4dc08c50dd3506ad553d4b2103892500b0d4ae9344027d57 # via lightspeed-stack (pyproject.toml:llslibdev) -fastapi==0.124.0 \ - --hash=sha256:260cd178ad75e6d259991f2fd9b0fee924b224850079df576a3ba604ce58f4e6 \ - --hash=sha256:91596bdc6dde303c318f06e8d2bc75eafb341fc793a0c9c92c0bc1db1ac52480 +fastapi==0.124.2 \ + --hash=sha256:6314385777a507bb19b34bd064829fddaea0eea54436deb632b5de587554055c \ + --hash=sha256:72e188f01f360e2f59da51c8822cbe4bca210c35daaae6321b1b724109101c00 # via # lightspeed-stack (pyproject.toml) # llama-stack @@ -1393,13 +1393,13 @@ litellm==1.80.9 \ --hash=sha256:768b62f26086efbaed40f4dfd353ff66302474bbfb0adf5862066acdb0727df6 \ --hash=sha256:bad02b96ee3d83702639553ffc5961c605f4f937be8167181bc4c80394a1cdd1 # via lightspeed-stack (pyproject.toml) -llama-stack==0.3.0 \ - --hash=sha256:8277c54cf4a283077143a0804128f2c76f1ec9660116353176c77b659206d315 \ - --hash=sha256:c2b999dced8970f3590ecd7eca50bef1bc0c052eec15b8aba78a5c17a0a4051d +llama-stack==0.3.4 \ + --hash=sha256:3e302db1efb2ed6c974526b8c6b04b9e54891f3959d0d83c004f77e1c21f6147 \ + --hash=sha256:bdb489e4341559465d604c9eba554460ab0d17c5dc005ee2d40aa892b94e2e9b # via lightspeed-stack (pyproject.toml) -llama-stack-client==0.3.0 \ - --hash=sha256:1e974a74d0da285e18ba7df30b9a324e250782b130253bcef3e695830c5bb03d \ - --hash=sha256:9f85d84d508ef7da44b96ca8555d7783da717cfc9135bab6a5530fe8c852690d +llama-stack-client==0.3.4 \ + --hash=sha256:6afbd10b152911a044e8d038e58981425ce0a34510da3e31cdd3103516e27688 \ + --hash=sha256:949c0a6c9a1c925a2b0d930d85b6485bb8d264ba68d02f36aca3c2539cb7b893 # via # lightspeed-stack (pyproject.toml) # llama-stack @@ -1640,62 +1640,62 @@ markupsafe==3.0.3 \ --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 # via jinja2 -matplotlib==3.10.7 \ - --hash=sha256:07124afcf7a6504eafcb8ce94091c5898bbdd351519a1beb5c45f7a38c67e77f \ - --hash=sha256:09d7945a70ea43bf9248f4b6582734c2fe726723204a76eca233f24cffc7ef67 \ - --hash=sha256:0d8c32b7ea6fb80b1aeff5a2ceb3fb9778e2759e899d9beff75584714afcc5ee \ - --hash=sha256:11ae579ac83cdf3fb72573bb89f70e0534de05266728740d478f0f818983c695 \ - --hash=sha256:15112bcbaef211bd663fa935ec33313b948e214454d949b723998a43357b17b0 \ - --hash=sha256:1d9d3713a237970569156cfb4de7533b7c4eacdd61789726f444f96a0d28f57f \ - --hash=sha256:1e4bbad66c177a8fdfa53972e5ef8be72a5f27e6a607cec0d8579abd0f3102b1 \ - --hash=sha256:2222c7ba2cbde7fe63032769f6eb7e83ab3227f47d997a8453377709b7fe3a5a \ - --hash=sha256:22df30ffaa89f6643206cf13877191c63a50e8f800b038bc39bee9d2d4957632 \ - --hash=sha256:31963603041634ce1a96053047b40961f7a29eb8f9a62e80cc2c0427aa1d22a2 \ - --hash=sha256:37a1fea41153dd6ee061d21ab69c9cf2cf543160b1b85d89cd3d2e2a7902ca4c \ - --hash=sha256:3886e47f64611046bc1db523a09dd0a0a6bed6081e6f90e13806dd1d1d1b5e91 \ - --hash=sha256:4645fc5d9d20ffa3a39361fcdbcec731382763b623b72627806bf251b6388866 \ - --hash=sha256:4a11c2e9e72e7de09b7b72e62f3df23317c888299c875e2b778abf1eda8c0a42 \ - --hash=sha256:4a74f79fafb2e177f240579bc83f0b60f82cc47d2f1d260f422a0627207008ca \ - --hash=sha256:4c14b6acd16cddc3569a2d515cfdd81c7a68ac5639b76548cfc1a9e48b20eb65 \ - --hash=sha256:53b492410a6cd66c7a471de6c924f6ede976e963c0f3097a3b7abfadddc67d0a \ - --hash=sha256:53cc80662dd197ece414dd5b66e07370201515a3eaf52e7c518c68c16814773b \ - --hash=sha256:5c09cf8f2793f81368f49f118b6f9f937456362bee282eac575cca7f84cda537 \ - --hash=sha256:5e38c2d581d62ee729a6e144c47a71b3f42fb4187508dbbf4fe71d5612c3433b \ - --hash=sha256:5f3f6d315dcc176ba7ca6e74c7768fb7e4cf566c49cb143f6bc257b62e634ed8 \ - --hash=sha256:6516ce375109c60ceec579e699524e9d504cd7578506f01150f7a6bc174a775e \ - --hash=sha256:667ecd5d8d37813a845053d8f5bf110b534c3c9f30e69ebd25d4701385935a6d \ - --hash=sha256:6f1851eab59ca082c95df5a500106bad73672645625e04538b3ad0f69471ffcc \ - --hash=sha256:702590829c30aada1e8cef0568ddbffa77ca747b4d6e36c6d173f66e301f89cc \ - --hash=sha256:7146d64f561498764561e9cd0ed64fcf582e570fc519e6f521e2d0cfd43365e1 \ - --hash=sha256:744991e0cc863dd669c8dc9136ca4e6e0082be2070b9d793cbd64bec872a6815 \ - --hash=sha256:786656bb13c237bbcebcd402f65f44dd61ead60ee3deb045af429d889c8dbc67 \ - --hash=sha256:7a0edb7209e21840e8361e91ea84ea676658aa93edd5f8762793dec77a4a6748 \ - --hash=sha256:7ac81eee3b7c266dd92cee1cd658407b16c57eed08c7421fa354ed68234de380 \ - --hash=sha256:90ad854c0a435da3104c01e2c6f0028d7e719b690998a2333d7218db80950722 \ - --hash=sha256:9257be2f2a03415f9105c486d304a321168e61ad450f6153d77c69504ad764bb \ - --hash=sha256:932c55d1fa7af4423422cb6a492a31cbcbdbe68fd1a9a3f545aa5e7a143b5355 \ - --hash=sha256:a06ba7e2a2ef9131c79c49e63dad355d2d878413a0376c1727c8b9335ff731c7 \ - --hash=sha256:aebed7b50aa6ac698c90f60f854b47e48cd2252b30510e7a1feddaf5a3f72cbf \ - --hash=sha256:b172db79759f5f9bc13ef1c3ef8b9ee7b37b0247f987fbbbdaa15e4f87fd46a9 \ - --hash=sha256:b3c4ea4948d93c9c29dc01c0c23eef66f2101bf75158c291b88de6525c55c3d1 \ - --hash=sha256:b498e9e4022f93de2d5a37615200ca01297ceebbb56fe4c833f46862a490f9e3 \ - --hash=sha256:b4d41379b05528091f00e1728004f9a8d7191260f3862178b88e8fd770206318 \ - --hash=sha256:b69676845a0a66f9da30e87f48be36734d6748024b525ec4710be40194282c84 \ - --hash=sha256:c17398b709a6cce3d9fdb1595c33e356d91c098cd9486cb2cc21ea2ea418e715 \ - --hash=sha256:c380371d3c23e0eadf8ebff114445b9f970aff2010198d498d4ab4c3b41eea4f \ - --hash=sha256:cb783436e47fcf82064baca52ce748af71725d0352e1d31564cbe9c95df92b9c \ - --hash=sha256:cc1c51b846aca49a5a8b44fbba6a92d583a35c64590ad9e1e950dc88940a4297 \ - --hash=sha256:d0b181e9fa8daf1d9f2d4c547527b167cb8838fc587deabca7b5c01f97199e84 \ - --hash=sha256:d2a959c640cdeecdd2ec3136e8ea0441da59bcaf58d67e9c590740addba2cb68 \ - --hash=sha256:d5f256d49fea31f40f166a5e3131235a5d2f4b7f44520b1cf0baf1ce568ccff0 \ - --hash=sha256:d883460c43e8c6b173fef244a2341f7f7c0e9725c7fe68306e8e44ed9c8fb100 \ - --hash=sha256:d8eb7194b084b12feb19142262165832fc6ee879b945491d1c3d4660748020c4 \ - --hash=sha256:d9749313deb729f08207718d29c86246beb2ea3fdba753595b55901dee5d2fd6 \ - --hash=sha256:de66744b2bb88d5cd27e80dfc2ec9f0517d0a46d204ff98fe9e5f2864eb67657 \ - --hash=sha256:e91f61a064c92c307c5a9dc8c05dc9f8a68f0a3be199d9a002a0622e13f874a1 \ - --hash=sha256:f19410b486fdd139885ace124e57f938c1e6a3210ea13dd29cab58f5d4bc12c7 \ - --hash=sha256:f79d5de970fc90cd5591f60053aecfce1fcd736e0303d9f0bf86be649fa68fb8 \ - --hash=sha256:fba2974df0bf8ce3c995fa84b79cde38326e0f7b5409e7a3a481c1141340bcf7 +matplotlib==3.10.8 \ + --hash=sha256:00270d217d6b20d14b584c521f810d60c5c78406dc289859776550df837dcda7 \ + --hash=sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a \ + --hash=sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f \ + --hash=sha256:12d90df9183093fcd479f4172ac26b322b1248b15729cb57f42f71f24c7e37a3 \ + --hash=sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5 \ + --hash=sha256:18821ace09c763ec93aef5eeff087ee493a24051936d7b9ebcad9662f66501f9 \ + --hash=sha256:1ae029229a57cd1e8fe542485f27e7ca7b23aa9e8944ddb4985d0bc444f1eca2 \ + --hash=sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3 \ + --hash=sha256:238b7ce5717600615c895050239ec955d91f321c209dd110db988500558e70d6 \ + --hash=sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f \ + --hash=sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b \ + --hash=sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8 \ + --hash=sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008 \ + --hash=sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b \ + --hash=sha256:37b3c1cc42aa184b3f738cfa18c1c1d72fd496d85467a6cf7b807936d39aa656 \ + --hash=sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958 \ + --hash=sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04 \ + --hash=sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b \ + --hash=sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6 \ + --hash=sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908 \ + --hash=sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c \ + --hash=sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1 \ + --hash=sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d \ + --hash=sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1 \ + --hash=sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c \ + --hash=sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a \ + --hash=sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce \ + --hash=sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a \ + --hash=sha256:6be43b667360fef5c754dda5d25a32e6307a03c204f3c0fc5468b78fa87b4160 \ + --hash=sha256:6da7c2ce169267d0d066adcf63758f0604aa6c3eebf67458930f9d9b79ad1db1 \ + --hash=sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11 \ + --hash=sha256:9153c3292705be9f9c64498a8872118540c3f4123d1a1c840172edf262c8be4a \ + --hash=sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466 \ + --hash=sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486 \ + --hash=sha256:a2b336e2d91a3d7006864e0990c83b216fcdca64b5a6484912902cef87313d78 \ + --hash=sha256:a48f2b74020919552ea25d222d5cc6af9ca3f4eb43a93e14d068457f545c2a17 \ + --hash=sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077 \ + --hash=sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565 \ + --hash=sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f \ + --hash=sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50 \ + --hash=sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58 \ + --hash=sha256:bab485bcf8b1c7d2060b4fcb6fc368a9e6f4cd754c9c2fea281f4be21df394a2 \ + --hash=sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645 \ + --hash=sha256:d56a1efd5bfd61486c8bc968fa18734464556f0fb8e51690f4ac25d85cbbbbc2 \ + --hash=sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39 \ + --hash=sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf \ + --hash=sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149 \ + --hash=sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22 \ + --hash=sha256:ee40c27c795bda6a5292e9cff9890189d32f7e3a0bf04e0e3c9430c4a00c37df \ + --hash=sha256:efb30e3baaea72ce5928e32bab719ab4770099079d66726a62b11b1ef7273be4 \ + --hash=sha256:f254d118d14a7f99d616271d6c3c27922c092dac11112670b157798b89bf4933 \ + --hash=sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6 \ + --hash=sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8 \ + --hash=sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a \ + --hash=sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7 # via lightspeed-stack (pyproject.toml:llslibdev) mcp==1.23.3 \ --hash=sha256:32768af4b46a1b4f7df34e2bfdf5c6011e7b63d7f1b0e321d0fdef4cd6082031 \ @@ -1962,64 +1962,64 @@ oauthlib==3.3.1 \ # via # kubernetes # requests-oauthlib -openai==2.9.0 \ - --hash=sha256:0d168a490fbb45630ad508a6f3022013c155a68fd708069b6a1a01a5e8f0ffad \ - --hash=sha256:b52ec65727fc8f1eed2fbc86c8eac0998900c7ef63aa2eb5c24b69717c56fa5f +openai==2.11.0 \ + --hash=sha256:21189da44d2e3d027b08c7a920ba4454b8b7d6d30ae7e64d9de11dbe946d4faa \ + --hash=sha256:b3da01d92eda31524930b6ec9d7167c535e843918d7ba8a76b1c38f1104f321e # via # lightspeed-stack (pyproject.toml) # litellm # llama-stack -opentelemetry-api==1.39.0 \ - --hash=sha256:3c3b3ca5c5687b1b5b37e5c5027ff68eacea8675241b29f13110a8ffbb8f0459 \ - --hash=sha256:6130644268c5ac6bdffaf660ce878f10906b3e789f7e2daa5e169b047a2933b9 +opentelemetry-api==1.39.1 \ + --hash=sha256:2edd8463432a7f8443edce90972169b195e7d6a05500cd29e6d13898187c9950 \ + --hash=sha256:fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c # via # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http # opentelemetry-instrumentation # opentelemetry-sdk # opentelemetry-semantic-conventions -opentelemetry-exporter-otlp==1.39.0 \ - --hash=sha256:b405da0287b895fe4e2450dedb2a5b072debba1dfcfed5bdb3d1d183d8daa296 \ - --hash=sha256:fe155d6968d581b325574ad6dc267c8de299397b18d11feeda2206d0a47928a9 +opentelemetry-exporter-otlp==1.39.1 \ + --hash=sha256:68ae69775291f04f000eb4b698ff16ff685fdebe5cb52871bc4e87938a7b00fe \ + --hash=sha256:7cf7470e9fd0060c8a38a23e4f695ac686c06a48ad97f8d4867bc9b420180b9c # via lightspeed-stack (pyproject.toml:llslibdev) -opentelemetry-exporter-otlp-proto-common==1.39.0 \ - --hash=sha256:3d77be7c4bdf90f1a76666c934368b8abed730b5c6f0547a2ec57feb115849ac \ - --hash=sha256:a135fceed1a6d767f75be65bd2845da344dd8b9258eeed6bc48509d02b184409 +opentelemetry-exporter-otlp-proto-common==1.39.1 \ + --hash=sha256:08f8a5862d64cc3435105686d0216c1365dc5701f86844a8cd56597d0c764fde \ + --hash=sha256:763370d4737a59741c89a67b50f9e39271639ee4afc999dadfe768541c027464 # via # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-exporter-otlp-proto-grpc==1.39.0 \ - --hash=sha256:758641278050de9bb895738f35ff8840e4a47685b7e6ef4a201fe83196ba7a05 \ - --hash=sha256:7e7bb3f436006836c0e0a42ac619097746ad5553ad7128a5bd4d3e727f37fc06 +opentelemetry-exporter-otlp-proto-grpc==1.39.1 \ + --hash=sha256:772eb1c9287485d625e4dbe9c879898e5253fea111d9181140f51291b5fec3ad \ + --hash=sha256:fa1c136a05c7e9b4c09f739469cbdb927ea20b34088ab1d959a849b5cc589c18 # via opentelemetry-exporter-otlp -opentelemetry-exporter-otlp-proto-http==1.39.0 \ - --hash=sha256:28d78fc0eb82d5a71ae552263d5012fa3ebad18dfd189bf8d8095ba0e65ee1ed \ - --hash=sha256:5789cb1375a8b82653328c0ce13a054d285f774099faf9d068032a49de4c7862 +opentelemetry-exporter-otlp-proto-http==1.39.1 \ + --hash=sha256:31bdab9745c709ce90a49a0624c2bd445d31a28ba34275951a6a362d16a0b9cb \ + --hash=sha256:d9f5207183dd752a412c4cd564ca8875ececba13be6e9c6c370ffb752fd59985 # via # llama-stack # opentelemetry-exporter-otlp -opentelemetry-instrumentation==0.60b0 \ - --hash=sha256:4e9fec930f283a2677a2217754b40aaf9ef76edae40499c165bc7f1d15366a74 \ - --hash=sha256:aaafa1483543a402819f1bdfb06af721c87d60dd109501f9997332862a35c76a +opentelemetry-instrumentation==0.60b1 \ + --hash=sha256:04480db952b48fb1ed0073f822f0ee26012b7be7c3eac1a3793122737c78632d \ + --hash=sha256:57ddc7974c6eb35865af0426d1a17132b88b2ed8586897fee187fd5b8944bd6a # via lightspeed-stack (pyproject.toml:llslibdev) -opentelemetry-proto==1.39.0 \ - --hash=sha256:1e086552ac79acb501485ff0ce75533f70f3382d43d0a30728eeee594f7bf818 \ - --hash=sha256:c1fa48678ad1a1624258698e59be73f990b7fc1f39e73e16a9d08eef65dd838c +opentelemetry-proto==1.39.1 \ + --hash=sha256:22cdc78efd3b3765d09e68bfbd010d4fc254c9818afd0b6b423387d9dee46007 \ + --hash=sha256:6c8e05144fc0d3ed4d22c2289c6b126e03bcd0e6a7da0f16cedd2e1c2772e2c8 # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-sdk==1.39.0 \ - --hash=sha256:90cfb07600dfc0d2de26120cebc0c8f27e69bf77cd80ef96645232372709a514 \ - --hash=sha256:c22204f12a0529e07aa4d985f1bca9d6b0e7b29fe7f03e923548ae52e0e15dde +opentelemetry-sdk==1.39.1 \ + --hash=sha256:4d5482c478513ecb0a5d938dcc61394e647066e0cc2676bee9f3af3f3f45f01c \ + --hash=sha256:cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6 # via # lightspeed-stack (pyproject.toml:llslibdev) # llama-stack # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http -opentelemetry-semantic-conventions==0.60b0 \ - --hash=sha256:069530852691136018087b52688857d97bba61cd641d0f8628d2d92788c4f78a \ - --hash=sha256:227d7aa73cbb8a2e418029d6b6465553aa01cf7e78ec9d0bc3255c7b3ac5bf8f +opentelemetry-semantic-conventions==0.60b1 \ + --hash=sha256:87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953 \ + --hash=sha256:9fa8c8b0c110da289809292b0591220d3a7b53c1526a23021e977d68597893fb # via # opentelemetry-instrumentation # opentelemetry-sdk @@ -2195,7 +2195,6 @@ pillow==12.0.0 \ # lightspeed-stack (pyproject.toml:llslibdev) # llama-stack # matplotlib - # sentence-transformers ply==3.11 \ --hash=sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 \ --hash=sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce @@ -3290,9 +3289,9 @@ semver==3.0.4 \ --hash=sha256:9c824d87ba7f7ab4a1890799cec8596f15c1241cb473404ea1cb0c55e4b04746 \ --hash=sha256:afc7d8c584a5ed0a11033af086e8af226a9c0b206f313e0301f8dd7b6b589602 # via lightspeed-stack (pyproject.toml) -sentence-transformers==5.1.2 \ - --hash=sha256:0f6c8bd916a78dc65b366feb8d22fd885efdb37432e7630020d113233af2b856 \ - --hash=sha256:724ce0ea62200f413f1a5059712aff66495bc4e815a1493f7f9bca242414c333 +sentence-transformers==5.2.0 \ + --hash=sha256:aa57180f053687d29b08206766ae7db549be5074f61849def7b17bf0b8025ca2 \ + --hash=sha256:acaeb38717de689f3dab45d5e5a02ebe2f75960a4764ea35fea65f58a4d3019f # via lightspeed-stack (pyproject.toml:llslibdev) setuptools==80.9.0 \ --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \ @@ -3323,12 +3322,14 @@ sqlalchemy==2.0.45 \ --hash=sha256:1d8b4a7a8c9b537509d56d5cd10ecdcfbb95912d72480c8861524efecc6a3fff \ --hash=sha256:215f0528b914e5c75ef2559f69dca86878a3beeb0c1be7279d77f18e8d180ed4 \ --hash=sha256:2c0b74aa79e2deade948fe8593654c8ef4228c44ba862bb7c9585c8e0db90f33 \ + --hash=sha256:2e90a344c644a4fa871eb01809c32096487928bd2038bf10f3e4515cb688cc56 \ --hash=sha256:3c5f76216e7b85770d5bb5130ddd11ee89f4d52b11783674a662c7dd57018177 \ --hash=sha256:470daea2c1ce73910f08caf10575676a37159a6d16c4da33d0033546bddebc9b \ --hash=sha256:4748601c8ea959e37e03d13dcda4a44837afcd1b21338e637f7c935b8da06177 \ --hash=sha256:4b6bec67ca45bc166c8729910bd2a87f1c0407ee955df110d78948f5b5827e8a \ --hash=sha256:5225a288e4c8cc2308dbdd874edad6e7d0fd38eac1e9e5f23503425c8eee20d0 \ --hash=sha256:56ead1f8dfb91a54a28cd1d072c74b3d635bcffbd25e50786533b822d4f2cde2 \ + --hash=sha256:5964f832431b7cdfaaa22a660b4c7eb1dfcd6ed41375f67fd3e3440fd95cb3cc \ --hash=sha256:59a8b8bd9c6bedf81ad07c8bd5543eedca55fe9b8780b2b628d495ba55f8db1e \ --hash=sha256:672c45cae53ba88e0dad74b9027dddd09ef6f441e927786b05bec75d949fbb2e \ --hash=sha256:6d0beadc2535157070c9c17ecf25ecec31e13c229a8f69196d7590bde8082bf1 \ @@ -3347,7 +3348,9 @@ sqlalchemy==2.0.45 \ --hash=sha256:b8c8b41b97fba5f62349aa285654230296829672fc9939cd7f35aab246d1c08b \ --hash=sha256:ba547ac0b361ab4f1608afbc8432db669bd0819b3e12e29fb5fa9529a8bba81d \ --hash=sha256:c1c2091b1489435ff85728fafeb990f073e64f6f5e81d5cd53059773e8521eb6 \ + --hash=sha256:c64772786d9eee72d4d3784c28f0a636af5b0a29f3fe26ff11f55efe90c0bd85 \ --hash=sha256:cd337d3526ec5298f67d6a30bbbe4ed7e5e68862f0bf6dd21d289f8d37b7d60b \ + --hash=sha256:d29b2b99d527dbc66dd87c3c3248a5dd789d974a507f4653c969999fc7c1191b \ --hash=sha256:d2c3684fca8a05f0ac1d9a21c1f4a266983a7ea9180efb80ffeb03861ecd01a0 \ --hash=sha256:d62e47f5d8a50099b17e2bfc1b0c7d7ecd8ba6b46b1507b58cc4f05eefc3bb1c \ --hash=sha256:d8a2ca754e5415cde2b656c27900b19d50ba076aa05ce66e2207623d3fe41f5a \ diff --git a/run.yaml b/run.yaml index 3cea08f62..7787c93de 100644 --- a/run.yaml +++ b/run.yaml @@ -14,74 +14,63 @@ apis: benchmarks: [] conversations_store: - db_path: /tmp/conversations.db + db_path: ~/.llama/storage/conversations.db type: sqlite datasets: [] image_name: starter # external_providers_dir: /opt/app-root/src/.llama/providers.d inference_store: - db_path: /tmp/inference_store.db + db_path: ~/.llama/storage/inference-store.db type: sqlite metadata_store: - db_path: /tmp/registry.db + db_path: ~/.llama/storage/registry.db type: sqlite -models: -- model_id: sentence-transformers/all-mpnet-base-v2 - model_type: embedding - provider_id: sentence-transformers - provider_model_id: sentence-transformers/all-mpnet-base-v2 - metadata: - embedding_dimension: 768 -# - model_id: gpt-4o-mini -# provider_id: openai -# model_type: llm -# provider_model_id: gpt-4o-mini - providers: agents: - config: - persistence_store: - db_path: /tmp/agents_store.db - type: sqlite - responses_store: - db_path: /tmp/responses_store.db - type: sqlite + persistence: + agent_state: + namespace: agents_state + backend: kv_default + responses: + table_name: agents_responses + backend: sql_default provider_id: meta-reference provider_type: inline::meta-reference batches: - config: kvstore: - db_path: /tmp/batches.db - type: sqlite + namespace: batches_store + backend: kv_default provider_id: reference provider_type: inline::reference datasetio: - config: kvstore: - db_path: /tmp/huggingface_datasetio.db - type: sqlite + namespace: huggingface_datasetio + backend: kv_default provider_id: huggingface provider_type: remote::huggingface - config: kvstore: - db_path: /tmp/localfs_datasetio.db - type: sqlite + namespace: localfs_datasetio + backend: kv_default provider_id: localfs provider_type: inline::localfs eval: - config: kvstore: - db_path: /tmp/meta_reference_eval.db - type: sqlite + namespace: eval_store + backend: kv_default provider_id: meta-reference provider_type: inline::meta-reference files: - config: metadata_store: - db_path: /tmp/files_metadata.db - type: sqlite - storage_dir: /tmp/files + table_name: files_metadata + backend: sql_default + storage_dir: ~/.llama/storage provider_id: meta-reference-files provider_type: inline::localfs inference: @@ -104,38 +93,28 @@ providers: - config: {} provider_id: llm-as-judge provider_type: inline::llm-as-judge - # telemetry: - # - config: - # service_name: "\u200B" - # provider_id: meta-reference - # provider_type: inline::meta-reference tool_runtime: - config: {} provider_id: rag-runtime provider_type: inline::rag-runtime vector_io: - config: - kvstore: - db_path: /tmp/faiss_store.db - type: sqlite + persistence: + namespace: faiss_store + backend: kv_default provider_id: faiss provider_type: inline::faiss scoring_fns: [] server: port: 8321 -shields: [] -tool_groups: -- provider_id: rag-runtime - toolgroup_id: builtin::rag -vector_dbs: [] storage: backends: kv_default: type: kv_sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/kv_store.db + db_path: ~/.llama/storage/kv_store.db sql_default: type: sql_sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/sql_store.db + db_path: ~/.llama/storage/sql_store.db stores: metadata: namespace: registry @@ -150,4 +129,14 @@ storage: backend: sql_default prompts: namespace: prompts - backend: kv_default \ No newline at end of file + backend: kv_default +registered_resources: + models: [] + shields: [] + vector_dbs: [] + datasets: [] + scoring_fns: [] + benchmarks: [] + tool_groups: + - toolgroup_id: builtin::rag + provider_id: rag-runtime diff --git a/run_library.yaml b/run_library.yaml deleted file mode 100644 index 5e46ee6e9..000000000 --- a/run_library.yaml +++ /dev/null @@ -1,155 +0,0 @@ -version: 2 - -apis: -- agents -- batches -- datasetio -- eval -- files -- inference -- safety -- scoring -- tool_runtime -- vector_io - -benchmarks: [] -conversations_store: - db_path: /tmp/conversations.db - type: sqlite -datasets: [] -image_name: starter -# external_providers_dir: /opt/app-root/src/.llama/providers.d -inference_store: - db_path: /tmp/inference_store.db - type: sqlite -metadata_store: - db_path: /tmp/registry.db - type: sqlite - -models: -- model_id: sentence-transformers/all-mpnet-base-v2 - model_type: embedding - provider_id: sentence-transformers - provider_model_id: sentence-transformers/all-mpnet-base-v2 - metadata: - embedding_dimension: 768 -# - model_id: gpt-4o-mini -# provider_id: openai -# model_type: llm -# provider_model_id: gpt-4o-mini - -providers: - agents: - - config: - persistence: - agent_state: - namespace: agents_state - backend: kv_default - responses: - table_name: agents_responses - backend: sql_default - provider_id: meta-reference - provider_type: inline::meta-reference - batches: - - config: - kvstore: - namespace: batches_store - backend: kv_default - provider_id: reference - provider_type: inline::reference - datasetio: - - config: - kvstore: - namespace: huggingface_datasetio - backend: kv_default - provider_id: huggingface - provider_type: remote::huggingface - - config: - kvstore: - namespace: localfs_datasetio - backend: kv_default - provider_id: localfs - provider_type: inline::localfs - eval: - - config: - kvstore: - namespace: eval_store - backend: kv_default - provider_id: meta-reference - provider_type: inline::meta-reference - files: - - config: - metadata_store: - table_name: files_metadata - backend: sql_default - storage_dir: /tmp/files - provider_id: meta-reference-files - provider_type: inline::localfs - inference: - - provider_id: openai - provider_type: remote::openai - config: - api_key: ${env.OPENAI_API_KEY} - - config: {} - provider_id: sentence-transformers - provider_type: inline::sentence-transformers - safety: - - config: - excluded_categories: [] - provider_id: llama-guard - provider_type: inline::llama-guard - scoring: - - config: {} - provider_id: basic - provider_type: inline::basic - - config: {} - provider_id: llm-as-judge - provider_type: inline::llm-as-judge - # telemetry: - # - config: - # service_name: "​" - # provider_id: meta-reference - # provider_type: inline::meta-reference - tool_runtime: - - config: {} - provider_id: rag-runtime - provider_type: inline::rag-runtime - vector_io: - - config: - persistence: - namespace: faiss_store - backend: kv_default - provider_id: faiss - provider_type: inline::faiss -scoring_fns: [] -server: - port: 8321 -shields: [] -tool_groups: -- provider_id: rag-runtime - toolgroup_id: builtin::rag -vector_dbs: [] -storage: - backends: - kv_default: - type: kv_sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/kv_store.db - sql_default: - type: sql_sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/sql_store.db - stores: - metadata: - namespace: registry - backend: kv_default - inference: - table_name: inference_store - backend: sql_default - max_write_queue_size: 10000 - num_writers: 4 - conversations: - table_name: openai_conversations - backend: sql_default - prompts: - namespace: prompts - backend: kv_default - diff --git a/src/constants.py b/src/constants.py index 7364c39e0..7829f9245 100644 --- a/src/constants.py +++ b/src/constants.py @@ -2,7 +2,7 @@ # Minimal and maximal supported Llama Stack version MINIMAL_SUPPORTED_LLAMA_STACK_VERSION = "0.2.17" -MAXIMAL_SUPPORTED_LLAMA_STACK_VERSION = "0.3.0" +MAXIMAL_SUPPORTED_LLAMA_STACK_VERSION = "0.3.4" UNABLE_TO_PROCESS_RESPONSE = "Unable to process this request" diff --git a/test.containerfile b/test.containerfile index 5b8140064..40bca092e 100644 --- a/test.containerfile +++ b/test.containerfile @@ -1,5 +1,5 @@ # Custom Red Hat llama-stack image with missing dependencies -FROM quay.io/opendatahub/llama-stack:rhoai-v3.0-latest +FROM quay.io/aipcc/llama-stack/cpu-ubi9:rhoai-3.2 # Install missing dependencies and create required directories USER root @@ -7,7 +7,7 @@ RUN pip install faiss-cpu==1.11.0 && \ mkdir -p /app-root && \ chown -R 1001:0 /app-root && \ chmod -R 775 /app-root && \ - mkdir -p /opt/app-root/src/.llama/distributions/ollama /opt/app-root/src/.llama/providers.d && \ + mkdir -p /opt/app-root/src/.llama/storage /opt/app-root/src/.llama/providers.d && \ chown -R 1001:0 /opt/app-root/src/.llama # Switch back to the original user diff --git a/tests/e2e/configs/run-azure.yaml b/tests/e2e/configs/run-azure.yaml index 6c57a5791..a8aa02de2 100644 --- a/tests/e2e/configs/run-azure.yaml +++ b/tests/e2e/configs/run-azure.yaml @@ -9,96 +9,80 @@ apis: - inference - safety - scoring -- telemetry - tool_runtime - vector_io benchmarks: [] conversations_store: - db_path: /tmp/conversations.db + db_path: ~/.llama/storage/conversations.db type: sqlite datasets: [] image_name: starter -external_providers_dir: /opt/app-root/src/.llama/providers.d +# external_providers_dir: /opt/app-root/src/.llama/providers.d inference_store: - db_path: /tmp/inference_store.db + db_path: ~/.llama/storage/inference-store.db type: sqlite metadata_store: - db_path: /tmp/registry.db + db_path: ~/.llama/storage/registry.db type: sqlite -models: -- model_id: sentence-transformers/all-mpnet-base-v2 - model_type: embedding - provider_id: sentence-transformers - provider_model_id: sentence-transformers/all-mpnet-base-v2 - metadata: - embedding_dimension: 768 -- model_id: gpt-4o-mini - provider_id: azure - model_type: llm - provider_model_id: gpt-4o-mini - providers: agents: - config: - persistence_store: - db_path: /tmp/agents_store.db - type: sqlite - responses_store: - db_path: /tmp/responses_store.db - type: sqlite + persistence: + agent_state: + namespace: agents_state + backend: kv_default + responses: + table_name: agents_responses + backend: sql_default provider_id: meta-reference provider_type: inline::meta-reference batches: - config: kvstore: - db_path: /tmp/batches.db - type: sqlite + namespace: batches_store + backend: kv_default provider_id: reference provider_type: inline::reference datasetio: - config: kvstore: - db_path: /tmp/huggingface_datasetio.db - type: sqlite + namespace: huggingface_datasetio + backend: kv_default provider_id: huggingface provider_type: remote::huggingface - config: kvstore: - db_path: /tmp/localfs_datasetio.db - type: sqlite + namespace: localfs_datasetio + backend: kv_default provider_id: localfs provider_type: inline::localfs eval: - config: kvstore: - db_path: /tmp/meta_reference_eval.db - type: sqlite + namespace: eval_store + backend: kv_default provider_id: meta-reference provider_type: inline::meta-reference files: - config: metadata_store: - db_path: /tmp/files_metadata.db - type: sqlite - storage_dir: /tmp/files + table_name: files_metadata + backend: sql_default + storage_dir: ~/.llama/storage provider_id: meta-reference-files provider_type: inline::localfs inference: - - provider_id: openai - provider_type: remote::openai - config: - api_key: ${env.OPENAI_API_KEY} - - config: {} - provider_id: sentence-transformers - provider_type: inline::sentence-transformers - provider_id: azure provider_type: remote::azure config: api_key: ${env.AZURE_API_KEY} api_base: https://ols-test.openai.azure.com/ api_version: 2024-02-15-preview + - config: {} + provider_id: sentence-transformers + provider_type: inline::sentence-transformers safety: - config: excluded_categories: [] @@ -111,27 +95,54 @@ providers: - config: {} provider_id: llm-as-judge provider_type: inline::llm-as-judge - telemetry: - - config: - service_name: "\u200B" - provider_id: meta-reference - provider_type: inline::meta-reference tool_runtime: - config: {} provider_id: rag-runtime provider_type: inline::rag-runtime vector_io: - config: - kvstore: - db_path: /tmp/faiss_store.db - type: sqlite + persistence: + namespace: faiss_store + backend: kv_default provider_id: faiss provider_type: inline::faiss scoring_fns: [] server: port: 8321 -shields: [] -tool_groups: -- provider_id: rag-runtime - toolgroup_id: builtin::rag -vector_dbs: [] \ No newline at end of file +storage: + backends: + kv_default: + type: kv_sqlite + db_path: ~/.llama/storage/kv_store.db + sql_default: + type: sql_sqlite + db_path: ~/.llama/storage/sql_store.db + stores: + metadata: + namespace: registry + backend: kv_default + inference: + table_name: inference_store + backend: sql_default + max_write_queue_size: 10000 + num_writers: 4 + conversations: + table_name: openai_conversations + backend: sql_default + prompts: + namespace: prompts + backend: kv_default +registered_resources: + models: + - model_id: gpt-4o-mini + provider_id: azure + model_type: llm + provider_model_id: gpt-4o-mini + shields: [] + vector_dbs: [] + datasets: [] + scoring_fns: [] + benchmarks: [] + tool_groups: + - toolgroup_id: builtin::rag + provider_id: rag-runtime \ No newline at end of file diff --git a/tests/e2e/configs/run-ci.yaml b/tests/e2e/configs/run-ci.yaml index 4a7495e6a..7787c93de 100644 --- a/tests/e2e/configs/run-ci.yaml +++ b/tests/e2e/configs/run-ci.yaml @@ -9,80 +9,68 @@ apis: - inference - safety - scoring -- telemetry - tool_runtime - vector_io benchmarks: [] conversations_store: - db_path: /tmp/conversations.db + db_path: ~/.llama/storage/conversations.db type: sqlite datasets: [] image_name: starter -external_providers_dir: /opt/app-root/src/.llama/providers.d +# external_providers_dir: /opt/app-root/src/.llama/providers.d inference_store: - db_path: /tmp/inference_store.db + db_path: ~/.llama/storage/inference-store.db type: sqlite metadata_store: - db_path: /tmp/registry.db + db_path: ~/.llama/storage/registry.db type: sqlite -models: -- model_id: sentence-transformers/all-mpnet-base-v2 - model_type: embedding - provider_id: sentence-transformers - provider_model_id: sentence-transformers/all-mpnet-base-v2 - metadata: - embedding_dimension: 768 -- model_id: gpt-4o-mini - provider_id: openai - model_type: llm - provider_model_id: gpt-4o-mini - providers: agents: - config: - persistence_store: - db_path: /tmp/agents_store.db - type: sqlite - responses_store: - db_path: /tmp/responses_store.db - type: sqlite + persistence: + agent_state: + namespace: agents_state + backend: kv_default + responses: + table_name: agents_responses + backend: sql_default provider_id: meta-reference provider_type: inline::meta-reference batches: - config: kvstore: - db_path: /tmp/batches.db - type: sqlite + namespace: batches_store + backend: kv_default provider_id: reference provider_type: inline::reference datasetio: - config: kvstore: - db_path: /tmp/huggingface_datasetio.db - type: sqlite + namespace: huggingface_datasetio + backend: kv_default provider_id: huggingface provider_type: remote::huggingface - config: kvstore: - db_path: /tmp/localfs_datasetio.db - type: sqlite + namespace: localfs_datasetio + backend: kv_default provider_id: localfs provider_type: inline::localfs eval: - config: kvstore: - db_path: /tmp/meta_reference_eval.db - type: sqlite + namespace: eval_store + backend: kv_default provider_id: meta-reference provider_type: inline::meta-reference files: - config: metadata_store: - db_path: /tmp/files_metadata.db - type: sqlite - storage_dir: /tmp/files + table_name: files_metadata + backend: sql_default + storage_dir: ~/.llama/storage provider_id: meta-reference-files provider_type: inline::localfs inference: @@ -105,27 +93,50 @@ providers: - config: {} provider_id: llm-as-judge provider_type: inline::llm-as-judge - telemetry: - - config: - service_name: "\u200B" - provider_id: meta-reference - provider_type: inline::meta-reference tool_runtime: - config: {} provider_id: rag-runtime provider_type: inline::rag-runtime vector_io: - config: - kvstore: - db_path: /tmp/faiss_store.db - type: sqlite + persistence: + namespace: faiss_store + backend: kv_default provider_id: faiss provider_type: inline::faiss scoring_fns: [] server: port: 8321 -shields: [] -tool_groups: -- provider_id: rag-runtime - toolgroup_id: builtin::rag -vector_dbs: [] \ No newline at end of file +storage: + backends: + kv_default: + type: kv_sqlite + db_path: ~/.llama/storage/kv_store.db + sql_default: + type: sql_sqlite + db_path: ~/.llama/storage/sql_store.db + stores: + metadata: + namespace: registry + backend: kv_default + inference: + table_name: inference_store + backend: sql_default + max_write_queue_size: 10000 + num_writers: 4 + conversations: + table_name: openai_conversations + backend: sql_default + prompts: + namespace: prompts + backend: kv_default +registered_resources: + models: [] + shields: [] + vector_dbs: [] + datasets: [] + scoring_fns: [] + benchmarks: [] + tool_groups: + - toolgroup_id: builtin::rag + provider_id: rag-runtime diff --git a/tests/e2e/configs/run-library.yaml b/tests/e2e/configs/run-library.yaml deleted file mode 100644 index 5e46ee6e9..000000000 --- a/tests/e2e/configs/run-library.yaml +++ /dev/null @@ -1,155 +0,0 @@ -version: 2 - -apis: -- agents -- batches -- datasetio -- eval -- files -- inference -- safety -- scoring -- tool_runtime -- vector_io - -benchmarks: [] -conversations_store: - db_path: /tmp/conversations.db - type: sqlite -datasets: [] -image_name: starter -# external_providers_dir: /opt/app-root/src/.llama/providers.d -inference_store: - db_path: /tmp/inference_store.db - type: sqlite -metadata_store: - db_path: /tmp/registry.db - type: sqlite - -models: -- model_id: sentence-transformers/all-mpnet-base-v2 - model_type: embedding - provider_id: sentence-transformers - provider_model_id: sentence-transformers/all-mpnet-base-v2 - metadata: - embedding_dimension: 768 -# - model_id: gpt-4o-mini -# provider_id: openai -# model_type: llm -# provider_model_id: gpt-4o-mini - -providers: - agents: - - config: - persistence: - agent_state: - namespace: agents_state - backend: kv_default - responses: - table_name: agents_responses - backend: sql_default - provider_id: meta-reference - provider_type: inline::meta-reference - batches: - - config: - kvstore: - namespace: batches_store - backend: kv_default - provider_id: reference - provider_type: inline::reference - datasetio: - - config: - kvstore: - namespace: huggingface_datasetio - backend: kv_default - provider_id: huggingface - provider_type: remote::huggingface - - config: - kvstore: - namespace: localfs_datasetio - backend: kv_default - provider_id: localfs - provider_type: inline::localfs - eval: - - config: - kvstore: - namespace: eval_store - backend: kv_default - provider_id: meta-reference - provider_type: inline::meta-reference - files: - - config: - metadata_store: - table_name: files_metadata - backend: sql_default - storage_dir: /tmp/files - provider_id: meta-reference-files - provider_type: inline::localfs - inference: - - provider_id: openai - provider_type: remote::openai - config: - api_key: ${env.OPENAI_API_KEY} - - config: {} - provider_id: sentence-transformers - provider_type: inline::sentence-transformers - safety: - - config: - excluded_categories: [] - provider_id: llama-guard - provider_type: inline::llama-guard - scoring: - - config: {} - provider_id: basic - provider_type: inline::basic - - config: {} - provider_id: llm-as-judge - provider_type: inline::llm-as-judge - # telemetry: - # - config: - # service_name: "​" - # provider_id: meta-reference - # provider_type: inline::meta-reference - tool_runtime: - - config: {} - provider_id: rag-runtime - provider_type: inline::rag-runtime - vector_io: - - config: - persistence: - namespace: faiss_store - backend: kv_default - provider_id: faiss - provider_type: inline::faiss -scoring_fns: [] -server: - port: 8321 -shields: [] -tool_groups: -- provider_id: rag-runtime - toolgroup_id: builtin::rag -vector_dbs: [] -storage: - backends: - kv_default: - type: kv_sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/kv_store.db - sql_default: - type: sql_sqlite - db_path: ${env.SQLITE_STORE_DIR:=~/.llama/distributions/starter}/sql_store.db - stores: - metadata: - namespace: registry - backend: kv_default - inference: - table_name: inference_store - backend: sql_default - max_write_queue_size: 10000 - num_writers: 4 - conversations: - table_name: openai_conversations - backend: sql_default - prompts: - namespace: prompts - backend: kv_default - diff --git a/tests/e2e/configuration/lightspeed-stack-library-mode.yaml b/tests/e2e/configuration/lightspeed-stack-library-mode.yaml deleted file mode 100644 index 034201317..000000000 --- a/tests/e2e/configuration/lightspeed-stack-library-mode.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: Lightspeed Core Service (LCS) -service: - host: 0.0.0.0 - port: 8080 - auth_enabled: false - workers: 1 - color_log: true - access_log: true -llama_stack: - # Library mode - embeds llama-stack as library - use_as_library_client: true - library_client_config_path: run.yaml -user_data_collection: - feedback_enabled: true - feedback_storage: "/tmp/data/feedback" - transcripts_enabled: true - transcripts_storage: "/tmp/data/transcripts" -authentication: - module: "noop" - diff --git a/tests/e2e/configuration/lightspeed-stack-server-mode.yaml b/tests/e2e/configuration/lightspeed-stack-server-mode.yaml deleted file mode 100644 index 6acf6e9eb..000000000 --- a/tests/e2e/configuration/lightspeed-stack-server-mode.yaml +++ /dev/null @@ -1,21 +0,0 @@ -name: Lightspeed Core Service (LCS) -service: - host: 0.0.0.0 - port: 8080 - auth_enabled: false - workers: 1 - color_log: true - access_log: true -llama_stack: - # Server mode - connects to separate llama-stack service - use_as_library_client: false - url: http://llama-stack:8321 - api_key: xyzzy -user_data_collection: - feedback_enabled: true - feedback_storage: "/tmp/data/feedback" - transcripts_enabled: true - transcripts_storage: "/tmp/data/transcripts" -authentication: - module: "noop" - diff --git a/tests/e2e/features/info.feature b/tests/e2e/features/info.feature index 3ab3b2699..378456899 100644 --- a/tests/e2e/features/info.feature +++ b/tests/e2e/features/info.feature @@ -16,7 +16,7 @@ Feature: Info tests When I access REST API endpoint "info" using HTTP GET method Then The status code of the response is 200 And The body of the response has proper name Lightspeed Core Service (LCS) and version 0.3.1 - And The body of the response has llama-stack version 0.3.1 + And The body of the response has llama-stack version 0.3.4 @skip-in-library-mode Scenario: Check if info endpoint reports error when llama-stack connection is not working diff --git a/uv.lock b/uv.lock index 79d27324c..f2d0dbb69 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 3 +revision = 2 requires-python = ">=3.12, <3.14" resolution-markers = [ "python_full_version >= '3.13' and sys_platform != 'darwin'", @@ -1436,8 +1436,8 @@ requires-dist = [ { name = "jsonpath-ng", specifier = ">=1.6.1" }, { name = "kubernetes", specifier = ">=30.1.0" }, { name = "litellm", specifier = ">=1.75.5.post1" }, - { name = "llama-stack", specifier = "==0.3.0" }, - { name = "llama-stack-client", specifier = "==0.3.0" }, + { name = "llama-stack", specifier = "==0.3.4" }, + { name = "llama-stack-client", specifier = "==0.3.4" }, { name = "openai", specifier = ">=1.99.9" }, { name = "prometheus-client", specifier = ">=0.22.1" }, { name = "psycopg2-binary", specifier = ">=2.9.10" }, @@ -1533,7 +1533,7 @@ wheels = [ [[package]] name = "llama-stack" -version = "0.3.0" +version = "0.3.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -1562,14 +1562,14 @@ dependencies = [ { name = "tiktoken" }, { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e3/c7/47963861f4f7f68dff6d82e4d8c697943b625b14ae73dce1d228ea72b9b4/llama_stack-0.3.0.tar.gz", hash = "sha256:8277c54cf4a283077143a0804128f2c76f1ec9660116353176c77b659206d315", size = 3317843, upload-time = "2025-10-21T23:58:35.103Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8f/c5/ade666e8ce894066c0358988e831b31c81840e7b285aa8b5f70236e33681/llama_stack-0.3.4.tar.gz", hash = "sha256:bdb489e4341559465d604c9eba554460ab0d17c5dc005ee2d40aa892b94e2e9b", size = 3322494, upload-time = "2025-12-03T19:00:18.397Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5e/05/3602d881ae6d174ac557e1ccac1572cbc087cd2178a2b77390320ffec47d/llama_stack-0.3.0-py3-none-any.whl", hash = "sha256:c2b999dced8970f3590ecd7eca50bef1bc0c052eec15b8aba78a5c17a0a4051d", size = 3629351, upload-time = "2025-10-21T23:58:33.677Z" }, + { url = "https://files.pythonhosted.org/packages/49/14/c98e5b564b425e4fc7aabf33f4bf9f40c43057424a555f023bcd8e334874/llama_stack-0.3.4-py3-none-any.whl", hash = "sha256:3e302db1efb2ed6c974526b8c6b04b9e54891f3959d0d83c004f77e1c21f6147", size = 3637817, upload-time = "2025-12-03T19:00:16.581Z" }, ] [[package]] name = "llama-stack-client" -version = "0.3.0" +version = "0.3.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1588,9 +1588,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1d/d9/3c720f420fc80ce51de1a0ad90c53edc613617b68980137dcf716a86198a/llama_stack_client-0.3.0.tar.gz", hash = "sha256:1e974a74d0da285e18ba7df30b9a324e250782b130253bcef3e695830c5bb03d", size = 340443, upload-time = "2025-10-21T23:58:25.855Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/10/9c198c62e720c647a01506f40ba4e058a5b2a23c947fab1827eb096a94f2/llama_stack_client-0.3.4.tar.gz", hash = "sha256:6afbd10b152911a044e8d038e58981425ce0a34510da3e31cdd3103516e27688", size = 335668, upload-time = "2025-12-03T18:59:25.48Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/27/1c65035ce58100be22409c98e4d65b1cdaeff7811ea968f9f844641330d7/llama_stack_client-0.3.0-py3-none-any.whl", hash = "sha256:9f85d84d508ef7da44b96ca8555d7783da717cfc9135bab6a5530fe8c852690d", size = 425234, upload-time = "2025-10-21T23:58:24.246Z" }, + { url = "https://files.pythonhosted.org/packages/ae/b9/bcc815cee68ef87635edf72f9454dd35cef8492d2670f5a6b229b5913f0b/llama_stack_client-0.3.4-py3-none-any.whl", hash = "sha256:949c0a6c9a1c925a2b0d930d85b6485bb8d264ba68d02f36aca3c2539cb7b893", size = 425244, upload-time = "2025-12-03T18:59:24.293Z" }, ] [[package]]