Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .tekton/rag-tool-pull-request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ spec:
],
"requirements_build_files": ["requirements-build.txt"],
"binary": {
"packages": "aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-doc,annotated-types,anyio,asyncpg,beautifulsoup4,cffi,click,colorama,cryptography,dataclasses-json,defusedxml,distro,docling-parse,et-xmlfile,faiss-cpu,filetype,fire,frozenlist,greenlet,h11,hf-xet,httpcore,httpx,idna,jinja2,jiter,joblib,jsonlines,jsonref,jsonschema-specifications,lxml,markdown-it-py,markupsafe,mdurl,mpire,mpmath,mypy-extensions,nest-asyncio,networkx,numpy,openpyxl,packaging,pandas,pillow,pluggy,prompt-toolkit,propcache,psycopg2-binary,pydantic,pydantic-core,pygments,pylatexenc,pypdfium2,python-dateutil,python-docx,python-pptx,pyyaml,referencing,requests,rpds-py,rtree,safetensors,scikit-learn,scipy,setuptools,shapely,shellingham,six,sniffio,sympy,threadpoolctl,tiktoken,tokenizers,torch,torchvision,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,xlsxwriter,zipp,uv-build,uv,pip,maturin,opencv-python,omegaconf,rapidocr,sqlite-vec,griffe,griffecli,griffelib,pyclipper,tree-sitter-typescript",
"packages": "aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-doc,annotated-types,anyio,asyncpg,beautifulsoup4,cffi,click,colorama,cryptography,dataclasses-json,defusedxml,distro,docling-parse,et-xmlfile,faiss-cpu,filetype,fire,frozenlist,greenlet,h11,hf-xet,httpcore,httpx,httpx-sse,idna,jinja2,jiter,joblib,jsonlines,jsonref,jsonschema-specifications,lxml,markdown-it-py,markupsafe,mdurl,mpire,mpmath,mypy-extensions,nest-asyncio,networkx,numpy,openpyxl,packaging,pandas,pillow,pluggy,prompt-toolkit,propcache,psycopg2-binary,pydantic,pydantic-core,pygments,pylatexenc,pypdfium2,python-dateutil,python-docx,python-pptx,pyyaml,referencing,rpds-py,rtree,safetensors,scikit-learn,scipy,setuptools,shapely,shellingham,six,sniffio,sympy,threadpoolctl,tiktoken,tokenizers,torch,torchvision,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,xlsxwriter,zipp,uv-build,uv,pip,maturin,opencv-python,omegaconf,rapidocr,sqlite-vec,griffe,griffecli,griffelib,pyclipper,tree-sitter-typescript",
"os": "linux",
"arch": "x86_64,aarch64",
"py_version": 312
Expand Down
2 changes: 1 addition & 1 deletion .tekton/rag-tool-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ spec:
],
"requirements_build_files": ["requirements-build.txt"],
"binary": {
"packages": "aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-doc,annotated-types,anyio,asyncpg,beautifulsoup4,cffi,click,colorama,cryptography,dataclasses-json,defusedxml,distro,docling-parse,et-xmlfile,faiss-cpu,filetype,fire,frozenlist,greenlet,h11,hf-xet,httpcore,httpx,idna,jinja2,jiter,joblib,jsonlines,jsonref,jsonschema-specifications,lxml,markdown-it-py,markupsafe,mdurl,mpire,mpmath,mypy-extensions,nest-asyncio,networkx,numpy,openpyxl,packaging,pandas,pillow,pluggy,prompt-toolkit,propcache,psycopg2-binary,pydantic,pydantic-core,pygments,pylatexenc,pypdfium2,python-dateutil,python-docx,python-pptx,pyyaml,referencing,requests,rpds-py,rtree,safetensors,scikit-learn,scipy,setuptools,shapely,shellingham,six,sniffio,sympy,threadpoolctl,tiktoken,tokenizers,torch,torchvision,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,xlsxwriter,zipp,uv-build,uv,pip,maturin,opencv-python,omegaconf,rapidocr,sqlite-vec,griffe,griffecli,griffelib,pyclipper,tree-sitter-typescript",
"packages": "aiohappyeyeballs,aiohttp,aiosignal,aiosqlite,annotated-doc,annotated-types,anyio,asyncpg,beautifulsoup4,cffi,click,colorama,cryptography,dataclasses-json,defusedxml,distro,docling-parse,et-xmlfile,faiss-cpu,filetype,fire,frozenlist,greenlet,h11,hf-xet,httpcore,httpx,httpx-sse,idna,jinja2,jiter,joblib,jsonlines,jsonref,jsonschema-specifications,lxml,markdown-it-py,markupsafe,mdurl,mpire,mpmath,mypy-extensions,nest-asyncio,networkx,numpy,openpyxl,packaging,pandas,pillow,pluggy,prompt-toolkit,propcache,psycopg2-binary,pydantic,pydantic-core,pygments,pylatexenc,pypdfium2,python-dateutil,python-docx,python-pptx,pyyaml,referencing,rpds-py,rtree,safetensors,scikit-learn,scipy,setuptools,shapely,shellingham,six,sniffio,sympy,threadpoolctl,tiktoken,tokenizers,torch,torchvision,transformers,triton,typing-extensions,typing-inspect,typing-inspection,tzdata,xlsxwriter,zipp,uv-build,uv,pip,maturin,opencv-python,omegaconf,rapidocr,sqlite-vec,griffe,griffecli,griffelib,pyclipper,tree-sitter-typescript",
"os": "linux",
"arch": "x86_64,aarch64",
"py_version": 312
Expand Down
9 changes: 4 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,15 @@ dependencies = [
"llama-index-vector-stores-postgres>=0.5.4",
# Pin torch/torchvision to versions available as CPU wheels
# torch 2.9.x pairs with torchvision 0.24.x
"llama-stack==0.4.3",
# User 0.4.4 instead of 0.4.3 to include CVE fix
"llama-stack-api==0.4.4",
"llama-stack-client==0.4.3",
"llama-stack==0.5.0",
"llama-stack-api==0.5.0",
"llama-stack-client==0.5.0",
Comment on lines +50 to +52
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check whether tests cover the exact llama-stack API touchpoints used by runtime code.
rg -n -C3 --type=py 'AsyncLlamaStackAsLibraryClient|rag_tool\.RAGDocument|vector_stores\.create\s*\(|embeddings\.create\s*\('

Repository: lightspeed-core/rag-content

Length of output: 4480


🌐 Web query:

`What are the documented breaking changes (if any) between llama-stack 0.4.x and 0.5.0 for:

  • llama_stack.core.library_client.AsyncLlamaStackAsLibraryClient
  • llama_stack_api.rag_tool.RAGDocument
  • client.vector_stores.create(...)
  • client.embeddings.create(...)
    Please include official release notes or API docs links.`

💡 Result:

No documented breaking changes specific to the queried components between llama-stack 0.4.x and 0.5.0. The 0.5.0 release includes general breaking changes from a major architectural refactoring to use FastAPI routers across all APIs, which may indirectly affect client usage: - Post-Training API endpoints restructured (path params) #4606 - Embeddings API rejects explicit null for optional fields #4644 - Safety API provider interface changed to request objects #4643 - Meta-Reference GPU inference provider removed #4828 - Scope-based endpoint authorization removed #4734 For client.embeddings.create(...): The Embeddings API change (#4644) is a breaking change - explicit null values for optional fields are now rejected. For the library client (llama_stack.core.library_client.AsyncLlamaStackAsLibraryClient): Early development fixes predate 0.5.0, but the FastAPI refactor may impact internal routing used by the library client mode. No specific mentions found for: - llama_stack.core.library_client.AsyncLlamaStackAsLibraryClient breaking changes - llama_stack_api.rag_tool.RAGDocument changes (RAG tool docs reference it in pre-0.5 contexts, with migration notes to vector stores) - client.vector_stores.create(...) breaking changes (Vector stores API evolved with OpenAI compatibility enhancements pre-0.5) Official sources: - Release notes: https://github.com/llamastack/llama-stack/blob/main/RELEASE_NOTES.md - Releases page: https://github.com/llamastack/llama-stack/releases - PyPI versions confirm 0.5.0 released 2026-02-05

Citations:


Verify embeddings.create() compatibility with llama-stack 0.5.0 null handling change.

Lines 50–52 upgrade llama-stack to 0.5.0. Runtime code uses four llama-stack APIs:

  • AsyncLlamaStackAsLibraryClient (line 357)
  • llama_stack_api.rag_tool.RAGDocument (line 360)
  • client.vector_stores.create() (lines 473–576)
  • client.embeddings.create() (line 537)

Tests exist for client/document instantiation, but llama-stack 0.5.0 includes a documented breaking change (#4644): the Embeddings API now rejects explicit null values for optional fields. Line 537 calls embeddings.create() with parameters that may be affected. Additionally, the 0.5.0 FastAPI router refactor may impact the library client mode beyond what is currently documented. Pre-merge tests did not fully pass—review test coverage for these specific APIs before merging.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pyproject.toml` around lines 50 - 52, The upgrade to llama-stack 0.5.0
introduces a breaking change where the Embeddings API rejects explicit nulls;
update any calls to client.embeddings.create() to never pass explicit null/None
for optional fields by building the payload conditionally (filter out keys with
None) before calling embeddings.create(), and similarly ensure
client.vector_stores.create() and any RAGDocument construction
(llama_stack_api.rag_tool.RAGDocument) do not include null fields; also validate
AsyncLlamaStackAsLibraryClient initialization and run the library-client mode
tests because the 0.5.0 FastAPI router refactor can change client
behavior—add/adjust unit tests that cover embeddings.create() and vector store
creation to assert no nulls are sent and fix calling code accordingly.

"torch>=2.9.0,<2.10.0",
"torchvision>=0.24.0,<0.25.0",
"aiosqlite>=0.21.0",
"sqlite-vec>=0.1.6",
"tomlkit",
"chardet>=5.2.0",
"chardet==7.2.0",
"hf-xet>=1.2.0",
"einops>=0.8.1",
# For HTML to Markdown conversion in BYOK workflows
Expand Down
42 changes: 34 additions & 8 deletions requirements-build.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,17 @@ calver==2025.10.20
coherent-licensed==0.5.2
# via importlib-metadata
cython==3.2.4
# via sqlalchemy
# via
# oracledb
# sqlalchemy
dunamai==1.26.0
# via uv-dynamic-versioning
expandvars==1.1.2
# via yarl
flit-core==3.12.0
# via
# coherent-licensed
# jinja2
# marshmallow
# packaging
# pathspec
Expand All @@ -25,7 +30,6 @@ hatch-fancy-pypi-readme==25.1.0
# via
# attrs
# jsonschema
# llama-cloud
# llama-stack-client
# openai
hatch-vcs==0.5.0
Expand All @@ -41,7 +45,6 @@ hatch-vcs==0.5.0
hatchling==1.26.3
# via
# hatch-fancy-pypi-readme
# llama-cloud
# llama-stack-client
# openai
hatchling==1.29.0
Expand All @@ -62,13 +65,12 @@ hatchling==1.29.0
# llama-index-core
# llama-index-embeddings-huggingface
# llama-index-embeddings-openai
# llama-index-indices-managed-llama-cloud
# llama-index-instrumentation
# llama-index-llms-openai
# llama-index-readers-file
# llama-index-readers-llama-parse
# llama-index-vector-stores-faiss
# llama-index-vector-stores-postgres
# mcp
# opentelemetry-api
# opentelemetry-exporter-otlp-proto-common
# opentelemetry-exporter-otlp-proto-http
Expand All @@ -84,14 +86,20 @@ hatchling==1.29.0
# starlette
# termcolor
# urllib3
# uv-dynamic-versioning
# uvicorn
# wcwidth
jinja2==3.1.6
# via uv-dynamic-versioning
markupsafe==3.0.3
# via jinja2
maturin==1.10.2
# via uv-build
packaging==26.0
# via
# hatchling
# setuptools-scm
# vcs-versioning
# wheel
pathspec==1.0.4
# via hatchling
Expand All @@ -104,30 +112,42 @@ pluggy==1.6.0
# via hatchling
poetry-core==2.3.1
# via
# llama-parse
# dunamai
# rich
# tomlkit
semantic-version==2.10.0
# via setuptools-rust
setuptools-rust==1.12.0
setuptools-rust==1.12.1
# via maturin
setuptools-scm==9.2.2
setuptools-scm==10.0.5
# via
# hatch-vcs
# importlib-metadata
# llama-stack
# llama-stack-api
# pluggy
# setuptools-rust
# tabulate
# tenacity
# tqdm
setuptools-scm==9.2.2
# via
# hatch-vcs
# urllib3
tomlkit==0.14.0
# via uv-dynamic-versioning
trove-classifiers==2026.1.14.14
# via hatchling
uv-build==0.9.30
# via llama-index-workflows
uv-dynamic-versioning==0.14.0
# via mcp
vcs-versioning==1.1.0
# via setuptools-scm
wheel==0.46.3
# via
# oci
# oracledb
# pycparser
# sentence-transformers
# tornado
Expand All @@ -149,9 +169,12 @@ setuptools==82.0.1
# importlib-metadata
# llama-stack
# llama-stack-api
# markupsafe
# maturin
# multidict
# multiprocess
# oci
# oracledb
# pathspec
# pgvector
# pluggy
Expand All @@ -160,10 +183,12 @@ setuptools==82.0.1
# pyjwt
# python-dotenv
# regex
# requests
# sentence-transformers
# setuptools-rust
# setuptools-scm
# sqlalchemy
# sse-starlette
# tabulate
# tenacity
# tornado
Expand All @@ -173,5 +198,6 @@ setuptools==82.0.1
# tree-sitter-javascript
# tree-sitter-python
# trove-classifiers
# vcs-versioning
# wrapt
# yarl
Loading
Loading