Skip to content

docs: extend RAG Failure Mode Checklist with advanced failures#20760

Merged
AstraBert merged 5 commits into
run-llama:mainfrom
onestardao:main
Feb 23, 2026
Merged

docs: extend RAG Failure Mode Checklist with advanced failures#20760
AstraBert merged 5 commits into
run-llama:mainfrom
onestardao:main

Conversation

@onestardao

Copy link
Copy Markdown
Contributor

Follow-up to #20702 and #20721.

This PR keeps the existing RAG Failure Mode Checklist and extends it with a small set of system-level failure families that often show up in production, without changing any of the current recommendations.

Summary of changes

  • Keep sections 1–9 as-is (single-query failures: retrieval, chunking, embeddings, query understanding, synthesis).
  • Add section 10 “Embedding Metric Mismatch (Cosine Score ≠ True Meaning)” to cover cases where the distance metric or normalization does not match how meaning is distributed in the data.
  • Add section 11 “Session and Cache Memory Breaks” for cross-session instability caused by stateless indices, cache keys, or environment changes.
  • Add section 12 “Observability Gaps ("Black-Box Debugging")” to highlight that many issues cannot be fixed before basic traces and logs are in place.
  • Add section 13 “Index Lifecycle and Deployment Ordering” to capture failures caused by empty or half-built indices, wrong snapshot routing, or deployment ordering bugs.
  • Slightly update the introduction and the Quick Diagnostic Flowchart so they point to the new sections when issues appear only in production or after deploys.

All new content is written in a project-native way (no external dependencies or naming schemes) and is based on recurring failure patterns seen in real-world RAG deployments.

Happy to adjust wording, scope, or numbering if you would prefer a slimmer version or a separate “advanced” doc instead of extending this page.

Description

This is a documentation-only change that expands the existing RAG Failure Mode Checklist with several additional failure families that commonly appear in production systems (embedding metric issues, cross-session instability, observability gaps, and index lifecycle / deployment ordering problems).

Related issues: #20702, #20721 (docs follow-up; does not close new issues).

New Package?

Did I fill in the tool.llamahub section in the pyproject.toml and provide a detailed README.md for my new integration or package?

  • Yes
  • No

Version Bump?

Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

  • Yes
  • No

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

This is a documentation-only change; no code paths were modified, so no additional tests were added.

  • I added new unit tests to cover this change
  • I believe this change is already covered by existing unit tests

Suggested Checklist

  • I have performed a self-review of my own changes
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added Google Colab support for the newly added notebooks
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I ran uv run make format; uv run make lint to appease the lint gods

Follow-up to #20702 and #20721.

This PR keeps the existing RAG Failure Mode Checklist and extends it with a small set of system-level failure families that often show up in production, without changing any of the current recommendations.

Summary of changes

- Keep sections 1–9 as-is (single-query failures: retrieval, chunking, embeddings, query understanding, synthesis).
- Add section 10 “Embedding Metric Mismatch (Cosine Score ≠ True Meaning)” to cover cases where the distance metric or normalization does not match how meaning is distributed in the data.
- Add section 11 “Session and Cache Memory Breaks” for cross-session instability caused by stateless indices, cache keys, or environment changes.
- Add section 12 “Observability Gaps ("Black-Box Debugging")” to highlight that many issues cannot be fixed before basic traces and logs are in place.
- Add section 13 “Index Lifecycle and Deployment Ordering” to capture failures caused by empty or half-built indices, wrong snapshot routing, or deployment ordering bugs.
- Slightly update the introduction and the Quick Diagnostic Flowchart so they point to the new sections when issues appear only in production or after deploys.

All new content is written in a project-native way (no external dependencies or naming schemes) and is based on recurring failure patterns seen in real-world RAG deployments.

Happy to adjust wording, scope, or numbering if you would prefer a slimmer version or a separate “advanced” doc instead of extending this page.
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Feb 20, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Feb 20, 2026
@logan-markewich logan-markewich enabled auto-merge (squash) February 20, 2026 23:15
auto-merge was automatically disabled February 21, 2026 00:55

Head branch was pushed to by a user without write access

@onestardao

Copy link
Copy Markdown
Contributor Author

I pushed a follow-up commit to fix the trailing whitespace that the linter reported.
From my side the checklist doc should now be lint-clean.
Happy to tweak any wording if you’d like.

@AstraBert

Copy link
Copy Markdown
Member

Linting is failing because of prettier. In order to be sure that everything is linted correctly, please run:

uv pip install pre-commit
pre-commit install 
pre-commit run -a

From the root folder of the llama_index repo

@AstraBert AstraBert enabled auto-merge (squash) February 23, 2026 11:57
@AstraBert

Copy link
Copy Markdown
Member

Please do not merge main into this branch until the current CI is finished (so that we can merge this PR without problems, otherwise I have to keep re-approving the workflows to run at every commit pushed)

@AstraBert AstraBert merged commit a281640 into run-llama:main Feb 23, 2026
12 checks passed
@onestardao

Copy link
Copy Markdown
Contributor Author

Thanks a lot for the review and merge.
And got it on the CI process — will keep that in mind next time.

AstraBert added a commit that referenced this pull request Jul 1, 2026
…ectorStore` (#22085)

* [AIRF-163] Add Solr reader (#1)

* [AIRF-249] Scaffold Solr vector store package, add sync and async Solr client implementations (#2)

* chore: initialize solr vector store integration package

* fix: add tests

* fix: unit tests working

* fix: sync project config

* fix: various minor cleanups

* fix: simplify client tests organization

* fix: dead code

* fix: extend mypy configuration

* fix: fix URL

* fix: remove internal references

* docs: expand docstrings for response objects

* fix: add some constants

* fix: validate base_url and timeout

* docs: update response docstring

* fix: reorganize clients based on comments

* feat: add handling for numpy scalars

* fix: add handing for search validation errors

* fix: commit uv lock file with external PyPI URLs

* fix: update llama-index-core dependency

* fix: handle XML responses in pysolr

* fix: align test name

* fix: restore docstrings

* fix: split more things into separate files

* fix: use typing extensions

* fix: use int for timeout

* fix: make more robust to trailing slash

* fix: sync uv

* fix: more docstrings

* fix: add support for coverage testing

* chore: add pytest-docker dev requirement

* fix: reduce lints for tests

* feat: working integration tests with Docker-based Solr instance

* fix: remove spurious coverage exclusions

* fix: docstring

* docs: add internal usage README

* fix: remove always-null qtime from log

* fix: clean up dead code

* feat: mark tests requiring docker, add target to run only non-docker tests (for speed)

* [AIRF-264] OSS Apache Solr Vector Store Implementation (#4)

* chore: initialize solr vector store integration package

* fix: add tests

* fix: unit tests working

* fix: sync project config

* fix: various minor cleanups

* fix: simplify client tests organization

* fix: dead code

* fix: extend mypy configuration

* fix: fix URL

* fix: remove internal references

* docs: expand docstrings for response objects

* fix: add some constants

* fix: validate base_url and timeout

* docs: update response docstring

* fix: reorganize clients based on comments

* feat: add handling for numpy scalars

* fix: add handing for search validation errors

* fix: commit uv lock file with external PyPI URLs

* wip vectorstore

* fix: update llama-index-core dependency

* fix: handle XML responses in pysolr

* fix: align test name

* fix: restore docstrings

* fix: split more things into separate files

* fix: use typing extensions

* fix: use int for timeout

* fix: make more robust to trailing slash

* fix: sync uv

* fix: more docstrings

* fix: add support for coverage testing

* chore: add pytest-docker dev requirement

* fix: reduce lints for tests

* feat: working integration tests with Docker-based Solr instance

* fix: remove spurious coverage exclusions

* wip

* 3.9 compatibility

* merging

* wip

* adding integration tests

* removing unused things

* PR comments

* moving to underlying session close

* handle close in a better way

* updating client close

* PR comments

* adding imports to init

* PR comments

* PR comments

* updating commit

---------

Co-authored-by: sbutler81 <sbutler81@bloomberg.net>

* [DRQS 182979089] Sync with upstream (#5)

* fix(tei-rerank): use index field from API response for correct score … (#20599)

* make transformers an optional dependency for openai-like (#20580)

* Add YugabyteDB as a Vector Store (#20559)

* fix(llms-bedrock-converse): improve bedrock converse retry handling (#20590)

* feat: improve bedrock converse retry handling for async

Add retry_if_exception import and implement comprehensive retry
logic for both sync and async operations. Handle multiple exception
types including ThrottlingException, InternalServerException,
ServiceUnavailableException, and ModelTimeoutException. Create
RETRYABLE_ERROR_CODES constant and _is_retryable_client_error
helper function for consistent error handling. Update async retry
decorator to use the new helper function instead of empty
retry_if_exception_type call.

Bump version from 0.12.5 to 0.12.6.

* test: add exception classes for bedrock converse tests

Add InternalServerException, ServiceUnavailableException, and
ModelTimeoutException mock exception classes to test utilities for
bedrock converse integration tests.

* feat: move ClientError import to top of module

Move the ClientError import from inside the
_is_retryable_client_error function to the top-level
imports for better code organization and efficiency.

* fix(embeddings-cohere): add retry logic with tenacity (#20592)

* feat(embeddings-cohere): add retry logic with tenacity

- Add tenacity dependency for robust API retry handling
- Implement _create_retry_decorator for exponential backoff
- Wrap embed and image embed calls with retry decorator
- Add max_retries parameter to CohereEmbedding class
- Handle ServiceUnavailableError, InternalServerError, and
  GatewayTimeoutError
- Bump version to 0.6.2

* test(embeddings-cohere): add retry decorator tests and
integration tests

Add comprehensive test coverage for the retry decorator
functionality in CohereEmbedding. Tests include retry behavior
for various error types (ServiceUnavailableError,
InternalServerError, GatewayTimeoutError) and integration tests
for _embed, _aembed, _embed_image, and _aembed_image methods.
Also add test for max_retries parameter validation.

* chore(embeddings-cohere): bump version to 0.7.0

* fix(cohere-rerank): add retry logic and tenacity dependency to cohere rerank (#20593)

* feat: add retry logic and tenacity dependency to cohere rerank

- Add tenacity dependency for retry handling
- Implement _create_retry_decorator for Cohere API errors
- Add max_retries parameter to CohereRerank class
- Wrap rerank API calls with retry decorator
- Update version to 0.5.2
- Add comprehensive test coverage for retry logic

* chore(deps): bump cohere rerank postprocessor version to
0.6.0

* test(tei-rerank): add test coverage for rerank retry coverage (#20600)

tests(tei-rerank): add coverage for rerank score mapping

* Update sensible default provider for huggingface inference api  (#20589)

* Update default provider in base.py

Changed default provider value from 'hf-inference' to 'auto'.

* bump version to 0.6.2

* Sharepoint page support events (#20572)

* feat(sharepoint): Add SharePoint Site Pages support and instrumentation events

- Add SharePointType enum for DRIVE and PAGE content types
- Add page loading methods: load_pages_data, list_pages, get_page_text, get_page_id_by_name
- Add LlamaIndex instrumentation events for page processing monitoring
- Add DispatcherSpanMixin for observability integration
- Add process_document_callback for filtering pages before processing
- Add fail_on_error parameter for error handling control
- Add sharepoint_host_name and sharepoint_relative_url for page URL construction
- Update README with documentation for new features
- Update CHANGELOG with version 0.6.0 changes

* sharepoint events

* readme update

* token n _ removed

* Bump version to 0.7.0

* skip callable from json schema

* Add new reasoning types (#20612)

* Add new reasoning types

* parametrize tests

* fix(agent): handle empty LLM responses with retry logic and add test cases (#20596)

* fix(openai): make image_url detail optional in message dict (#20609)

* fix(openai): only include 'detail' in image_url if explicitly provided

* fix(openai): bump version to 0.6.16 and update tests for optional image detail

* fix: remove accidental reproduction script

* chore: vbump

---------

Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* Fix/google genai cleanup (#20607)

* fix(google-genai): cleanup uploaded files on failures; make VertexAIConfig TypedDict optional

* test(google-genai): cover uploaded file cleanup paths

* Bubble up Google GenAI file cleanup errors

* chore(deps): bump the uv group across 12 directories with 14 updates (#20578)

* fix: remove top-level examples/ directory and repurpose examples as notebooks (#20632)

* feat(tools): add Seltz web knowledge tool integration (#20626)

* feat(tools): add Seltz web knowledge tool integration

* fix(tools): bump seltz to 0.1.4 and move imports to top level

* chore: remove manually added seltz tools reference to avoid docs build crashing (#20633)

* Add core 3.14 tests (#20619)

* delete old pack md (#20636)

* chore: add support for opus 4.6 (#20635)

* remove unmerged git diff (#20638)

* feat(bedrock-converse): Add support for Claude Opus 4.6 (#20637)

* fix(openai): exclude unsupported params for all reasoning models (#20627)

* fix(openai): exclude unsupported params for all reasoning models

Models like gpt-5.2 do not support top_p, temperature,
presence_penalty, or frequency_penalty regardless of whether
reasoning_options is explicitly set. Previously these params were
only excluded when reasoning_options was not None.

Now also excludes them when the model is in O1_MODELS, preventing
400 Bad Request errors.

Fixes #20459

* chore: vbump

---------

Co-authored-by: Aditya Gaurav <aditya-ai-architect@users.noreply.github.com>
Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* feat(tools): add Moss search engine integration (#20615)

* feat(tools): add Moss search engine integration

* fix(test):fixing makefile and project.toml for unit tests

* Docs:Improving README and example Jupyter Notebook

* chore: change license to BSD-2-Clause

* chore: change license to BSD-2-Clause

* chore:including QueryOptions and id parameter

* chore:rolling back openai license

* fix(google-genai): skip model meta fetch when not needed (#20639)

* fix(google-genai): skip model meta fetch when not needed

* chore(google-genai): bump version for meta skip fix

* chore(google-genai): bump version for meta skip fix

* Add event and memory record deletion methods in bedrock-agentcorememory (#20428)

* fix: catch pydantic ValidationError in VectorStoreQueryOutputParser (#20450)

* Langchain1.x support (#20472)

* feat: implement partial_params support to McpToolSpec (#20554)

* fix: add show_progress parameter to run_transformations to prevent unexpected keyword argument error (#20608)

* fix: add show_progress parameter to run_transformations to prevent unexpected keyword argument error

This fixes issue #20510 where DocumentSummaryIndex.from_documents() raises
'unexpected keyword argument show_progress' error.

The show_progress parameter was being passed through **kwargs to each
transformation, but transformations don't accept this parameter.

This change:
- Adds explicit show_progress parameter to run_transformations()
- Adds explicit show_progress parameter to arun_transformations()
- Uses tqdm progress bar to show transformation progress when enabled

* move import

---------

Co-authored-by: njg7194 <njg7194@users.noreply.github.com>
Co-authored-by: Logan Markewich <logan.markewich@live.com>

* fix(clickhouse): Add drop_existing_table parameter to prevent data loss (#20651)

* Fix potential crashes and improve security defaults in core components (#20610)

* feat: add chonkie integration (#20622)

* fix: avoid ValueError in ag-ui message conversion for multi-block ChatMessages (#20648)

* update readme (#20656)

* update readme

* fix for metadata aware splitting

* nits

* better tests

* update toml

* nits

* nits

* docs: Couchbase example documentation fix (#20658)

* gsi vector search support

* made search type and similarity required for GSI

* expose bucket, scope and collection as properties

* docs update

* test case update for base file changes

* docs update

* readme update

* docs update

* docs update

* removed fts reference in tests

* couchbase example update

* chore(deps): bump the pip group across 2 directories with 7 updates (#20662)

* Add support for adaptive thinking in Bedrock (#20659)

* support Anthropic adaptive thinking in Bedrock Converse

* bump bedrock converse version

* check model's adaptive thinking compatibility

* fix(falkordb): Fix MENTIONS relationship creation with triplet_source_id (#20650)

* docs: Clarify async streaming usage for LLM and ChatEngine (#20653)

* Release 0.14.14 (#20670)

* fix(tests): update mock prompt type in mock_prompts.py (#20661)

* feat: propagate partial_params to get_tools_from_mcp utils (#20669)

* feat: propagate partial_params to get_tools_from_mcp utils

* fix import

* feat: added tests for utils functions

* vbump

* lint

* [Integration] AgentMesh: Trust Layer for LlamaIndex Agents (#20644)

* [Integration] AgentMesh trust layer for LlamaIndex agents

Adds llama-index-agent-agentmesh package providing:
- TrustedAgentWorker: Agent worker with cryptographic identity
- TrustGatedQueryEngine: Query engine with access control
- CMVK identity system with Ed25519 cryptography
- Trust handshake for multi-agent verification
- Data access policies for RAG governance

Features:
- Cryptographic identity for agent authentication
- Trust verification before task handoffs
- Query-level access control with audit logging
- Capability-based permissions
- Delegation chains for hierarchical trust

* fix: address review comments from @AstraBert

- Switch pyproject.toml from poetry to hatchling/uv build system
- Pin llama-index-core>=0.13.0,<0.15.0
- Remove ImportError fallback: require cryptography (it is a declared dependency)
- Fix fake async: use asyncio.to_thread in arun_step/astream_step
- Use LLM in run_step instead of hardcoded response

* fix: use LLM.chat/achat directly instead of SimpleChatEngine

Addresses @AstraBert review feedback:
- run_step: Use llm.chat() directly with ChatMessage instead of SimpleChatEngine wrapper
- arun_step: Use llm.achat() native async instead of asyncio.to_thread
- Remove unused asyncio import
- Import ChatMessage and MessageRole at top level

* fix: resolve all lint failures (ruff, ruff-format, toml-sort)

- Fix 42 ruff errors (D213 docstring style, D413 missing blank lines, RET504)
- Apply ruff-format to all 4 source files
- Sort pyproject.toml with toml-sort
- All ruff checks now pass: 0 errors

* Support basic operations for multimodal types (#20640)

* Feat recursive llm type support (#20642)

* Support basic operations for multimodal types

* Fix test

* Support recursive LLM types

* Adding Notebook to docs folder (#20681)

* switching notebook

* lints

* Replace eval() with json.loads in FaissMapVectorStore persistence (#20675)

* Replace eval() with json.loads in FaissMapVectorStore persistence

The id_map deserialization in from_persist_path used eval() on file
contents, which can execute arbitrary code if the persisted file is
tampered with. Switch to json.dump/json.loads for the persist/load
cycle, with ast.literal_eval as a fallback for files saved with the
old str() format. Also normalize dict key types after loading since
JSON stringifies all keys.

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* chore: vbump

---------

Signed-off-by: debu-sinha <debusinha2009@gmail.com>
Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* fix(bedrock-converse): ensure thinking_delta is populated in all chat modes (#20664)

* fix(bedrock-converse): ensure thinking_delta is populated in all chat modes

* test(bedrock-converse): add async streaming thinking_delta coverage

* Rrubini/mistral azure sdk (#20668)

* feat: add Mistral Azure SDK

* test: add tests for Azure SDK integration

* chore: bump version to 0.9.1 in pyproject.toml

* feat: add Azure SDK usage example to README

* feat: update version to 0.10.0 and dependencies in pyproject.toml

* feat: add _uses_azure attribute to MistralAI for Azure SDK compatibility

* test: update assertion for _uses_azure attribute in MistralAI test

---------

Co-authored-by: Riccardo Rubini <riccardo.rubini@it.abb.com>

* fix: remove redundant metadata_seperator field from TextNode (#20649)

* Sandbox LLM-generated code execution in EvaporateExtractor (#20676)

* Sandbox exec() in EvaporateExtractor.run_fn_on_nodes

The method executed LLM-generated code via exec() with full access to
the module globals, which could be exploited if the LLM produced
malicious output. Replace the unrestricted exec(fn_str, globals())
with a sandboxed environment that:

- Restricts builtins to a safe subset (no eval/exec/compile/open/etc)
- Validates the generated AST to block dunder access and unsafe imports
- Only allows imports from a small allowlist (re, math, datetime, etc)
- Uses a per-node sandbox dict instead of polluting module globals

The existing timeout guard is preserved. The re module is pre-loaded
in the sandbox since the prompt templates produce functions that use it.

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Add unit tests for sandbox execution environment

Tests cover AST validation (safe code, blocked imports, blocked dunder
access) and runtime sandbox behavior (restricted builtins, allowed re
import, blocked open/eval/exec, end-to-end extraction function).

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Expand sandbox allowlist to cover common stdlib modules and bump version

Widen _SANDBOX_ALLOWED_IMPORTS to include typing, time, collections,
itertools, functools, decimal, fractions, statistics, textwrap,
unicodedata, and operator. These are safe pure-computation modules
that LLM-generated extraction code may reasonably use. Filesystem
and network modules (tempfile, os, subprocess, etc.) remain blocked.

Bump version to 0.5.2 and fix lint issues.

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

---------

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* fix: open telemetry url typo in docs (#20689)

fix: open telemetry url typo

Corrected the URL for OpenTelemetry from 'openetelemetry.io' to 'opentelemetry.io'.

* Feat multimodal template var formatting (#20682)

* Feat multimodal prompt templates (#20683)

* Fix: remove ORM Collection mix-usage with MilvusClient in Milvus vector store (#20687)

* Fix: remove ORM Collection mix-usage with MilvusClient in Milvus vector store

Since pymilvus 2.6.7, MilvusClient connections use _unbind_with_db=True,
so db_name is not stored in the connection alias config. When an ORM
Collection is created with using=client._using, it generates a CallContext
without db_name, causing SchemaNotReadyException for non-default databases.

Replace all ORM Collection usage with MilvusClient equivalents:
- Remove Collection import and _collection attribute
- Replace Collection(...) with _collection_initialized boolean flag
- Replace ORM release/set_properties/load with client API calls
- Update get_default_sparse_embedding_function to accept dict instead of
  ORM Collection, checking collection_info.get("functions") instead of
  collection.schema.functions

See also: pymilvus#3263

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: yangxuan <xuan.yang@zilliz.com>

* fix: tests and async runtime; chore: version bump

---------

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* Block filesystem/network I/O and add timeout to safe_exec/safe_eval (#20691)

The existing sandbox in exec_utils.py blocks imports and dunder access,
but LLM-generated code can still use pandas/numpy/polars I/O methods
(read_csv, to_csv, np.load, etc.) since those objects are passed into
the execution locals. Also adds a SIGALRM-based timeout so infinite
loops cannot hang the process.

Closes #20690

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Feat multimodal chat prompt helper (#20684)

* fix: replace mutable default argument in load_all_file_paths (#20698)

fix: replace mutable default argument and bump version to 0.4.2

Co-authored-by: taovinci0 <taovinci0@users.noreply.github.com>

* Add support for new OCI DataScience endpoint /predictWithStream for streaming use case (#20545)

* Add utils to support /predictWithStream endpoint

* Add client changes

* Upate doc

* Fix endpoint suffix resolver and satisfy lint

* adding uv.lock version change

* update documentation

* Change in the version and docs

* change major version

* Change the docstring for streaming usecase

* chore(deps): bump pillow from 12.1.0 to 12.1.1 in /docs/api_reference in the pip group across 1 directory (#20679)

chore(deps): bump pillow

Bumps the pip group with 1 update in the /docs/api_reference directory: [pillow](https://github.com/python-pillow/Pillow).


Updates `pillow` from 12.1.0 to 12.1.1
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.0...12.1.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.1.1
  dependency-type: indirect
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Enhance GitHubRepoReader with selective file fetching and deduplication (Issue #20471) (#20550)

* feat: Add selective file fetching and deduplication to GitHubRepoReader (Issue #20471)

* refactor: rename check_file_exist, add semaphores, fix error handling

* fix: rename check_file_exist and pass pre-commit

* feat: Add LayoutIR reader integration (#20708)

* Add LayoutIR reader integration

* Address maintainer feedback: move imports to top, add GPU checks, fix linting

* Add pagination support for Microsoft Graph API calls in SharePoint reader (#20704)

* Add pagination support for Microsoft Graph API calls in SharePoint reader

- Add _get_all_items_with_pagination() helper method
- Apply pagination to all Graph API endpoints
- Add comprehensive tests for pagination functionality
- Bump version to 0.7.1

* Update llama-index-integrations/readers/llama-index-readers-microsoft-sharepoint/llama_index/readers/microsoft_sharepoint/base.py

Co-authored-by: Clelia (Astra) Bertelli <133636879+AstraBert@users.noreply.github.com>

* Update CHANGELOG.md

* Bump version to 0.8.0 in pyproject.toml

---------

Co-authored-by: Clelia (Astra) Bertelli <133636879+AstraBert@users.noreply.github.com>

* chore: Remove persistent_connection parameter support, update (#20714)

* fix: fix sub-package publishing action (#20717)

* docs: Update IBM docs (#20718)

* Delete _llama-index/llama_index/_bundle directory (#20709)

* improve otel data serialization by flattening dicts (#20719)

* Sonnet 4-6  addition  (#20723)

* feat(bedrock-converse): Add support for Claude Sonnet 4.6 (#20726)

* Add retry and error handling to BaseExtractor (#20693)

* Add retry and error handling to BaseExtractor

BaseExtractor.aprocess_nodes() calls aextract() with no error handling,
so a single transient LLM failure (rate limit, content filter, network
blip) crashes the entire ingestion pipeline.

This adds three opt-in fields to BaseExtractor that all extractors
inherit automatically:

- max_retries (default 0 -- no retry, same as before)
- retry_backoff (default 1.0s, exponential)
- on_extraction_error ("raise" or "skip" -- "raise" is same as before)

All defaults preserve current behaviour. Users who hit transient errors
can now configure resilience without subclassing.

Fixes #20692
Related: #20054

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Use raise_on_error bool and revert version bump

Addressed review feedback:
- Replace on_extraction_error Literal["raise","skip"] with
  raise_on_error bool per AstraBert and Jay-IIT suggestion
- Revert pyproject.toml version bump (handled at release)

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Fix ruff format on test file

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

---------

Signed-off-by: debu-sinha <debusinha2009@gmail.com>
Co-authored-by: Clelia (Astra) Bertelli <133636879+AstraBert@users.noreply.github.com>

* fix(layoutir): hotfix for output_dir crash and Block extraction (#20708 follow-up) (#20715)

* fix(layoutir): fix output_dir crash, refine Block extraction, add CPU mode docs

* chore(layoutir): bump version to 0.1.1

* fix: Update WhatsAppChatLoader to retrieve DataFrame in pandas format (#20722)

* fix: Update WhatsAppChatLoader to retrieve DataFrame in pandas format

* docs: document pandas assumption

* chore: bump package version

* feat: add issue classifier gh action (#20720)

* feat: add issue classifier gh action

* fix: use CI bot to generate token

Co-authored-by: Adrian Lyjak <adrianlyjak@gmail.com>

* fix: lint

---------

Co-authored-by: Adrian Lyjak <adrianlyjak@gmail.com>

* ensure at least one message/conent block is returned by the old memory (#20729)

* chore: update issue classifier action to v0.2.0 (#20734)

* feat: support custom span processor; refactor: use llama-index-instrumentation instead of llama-index-core (#20732)

* fix(layoutir): restrict requires-python to >=3.12 to match layoutir dependency (#20733)

* feat(bedrock-converse): Add support for Nova 2 (#20736)

* Release 0.14.15 (#20735)

* chore(deps): bump actions/create-github-app-token from 1 to 2 (#20741)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1 to 2.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/v1...v2)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: '2'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add extra span processors to register within the otel tracer (#20747)

* feat: add extra span processors to register within the otel tracer

* fix: tests :woman_facepalming:

* fix: put custom span exporters first

* Revise LlamaIndex description and branding (#20752)

* fix: bump ver to trigger  llama-index-llms-langchain integration release (#20751)

* feat: Add ModelsLab LLM integration (llama-index-llms-modelslab) (#20731)

* feat: Add ModelsLab LLM integration (llama-index-llms-modelslab)

* chore: lint

---------

Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* fix: forward allow_parallel_tool_calls for OpenAI chat completions (#20744)

* fix(openai): pass allow_parallel_tool_calls to chat completions

* chore: vbump

---------

Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* docs: add RAG Failure Mode Checklist (#20721)

* docs: add RAG Failure Mode Checklist

Closes #20702

* Fix Further Reading links and add class hyperlinks

Signed-off-by: Manas Vardhan <manasvardhan@gmail.com>

* Address review feedback: fix API URLs, update model names, remove finetuning mention

- Update all API reference links from docs.llamaindex.ai to developers.llamaindex.ai
- Update model examples from GPT-4/GPT-3.5 to GPT-4o/GPT-4o-mini
- Remove SentenceTransformersFinetuneEngine mention per maintainer feedback

Signed-off-by: Manas Vardhan <manasvardhan@gmail.com>

* style: fix prettier formatting

* chore: fix linting failures fr :smiley:

---------

Signed-off-by: Manas Vardhan <manasvardhan@gmail.com>
Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* fix: pass tool_choice through FunctionCallingProgram (#20740)

* fix(program): pass tool_choice through FunctionCallingProgram

* test(program): remove duplicate import in function program tests

* feat: Add iGPT Email Intelligence tool and reader integrations (#20727)

* feat: Add iGPT Email Intelligence tool and reader integrations

* fix: update pyproject.toml

* feat: add readme file

* fix: address review feedback on iGPT Email Intelligence integrations

* fix: update test

* fix: solve Lint errors

* fix(core): preserve doc_id in legacy_json_to_doc (#20750)

* feat: add optional embed_model to SemanticDoubleMergingSplitterNodeParser (#20748)

feat(node_parser): add optional embed_model to SemanticDoubleMergingSplitterNodeParser (Closes #15041)

Co-authored-by: mkdev11 <MkDev11@users.noreply.github.com>

* feat: pass a custom tracer provider (#20765)

* Revise README for LlamaIndex and LlamaCloud details (#20766)

* fix: async retry backoff to avoid blocking event loop (#20764)

* Deprecate Preprocess reader: service discontinued (#20759)

* chore(deps): bump the uv group across 8 directories with 2 updates (#20758)

* feat: Multimodal LLMReranker (#20743)

* fix: coerce Weaviate MetadataFilter values to match collection schema types (#20730)

* Fix mistralai pkg version bump (#20776)

fix: bump version in pyproject.toml

Co-authored-by: Riccardo Rubini <riccardo.rubini@it.abb.com>

* fix: update Mistral package Python requirement (#20777)

fix: update Mistral package version and Python requirement in pyproject.toml

Co-authored-by: Riccardo Rubini <riccardo.rubini@it.abb.com>

* Add User-Agent header for Anthropic API calls (#20771)

Passes User-Agent: llama-index-llms-anthropic/{version} to the Anthropic SDK
so Anthropic can identify traffic from LlamaIndex integrations.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* Update CohereRerank to ClientV2 to enable V4 rerankers (#20778)

Co-authored-by: Enrico Stauss <enrico.stauss@pace.de>

* docs: extend RAG Failure Mode Checklist with advanced failures (#20760)

* docs: extend RAG Failure Mode Checklist with advanced failures

Follow-up to #20702 and #20721.

This PR keeps the existing RAG Failure Mode Checklist and extends it with a small set of system-level failure families that often show up in production, without changing any of the current recommendations.

Summary of changes

- Keep sections 1–9 as-is (single-query failures: retrieval, chunking, embeddings, query understanding, synthesis).
- Add section 10 “Embedding Metric Mismatch (Cosine Score ≠ True Meaning)” to cover cases where the distance metric or normalization does not match how meaning is distributed in the data.
- Add section 11 “Session and Cache Memory Breaks” for cross-session instability caused by stateless indices, cache keys, or environment changes.
- Add section 12 “Observability Gaps ("Black-Box Debugging")” to highlight that many issues cannot be fixed before basic traces and logs are in place.
- Add section 13 “Index Lifecycle and Deployment Ordering” to capture failures caused by empty or half-built indices, wrong snapshot routing, or deployment ordering bugs.
- Slightly update the introduction and the Quick Diagnostic Flowchart so they point to the new sections when issues appear only in production or after deploys.

All new content is written in a project-native way (no external dependencies or naming schemes) and is based on recurring failure patterns seen in real-world RAG deployments.

Happy to adjust wording, scope, or numbering if you would prefer a slimmer version or a separate “advanced” doc instead of extending this page.

* fix: clean whitespace in RAG failure checklist

* chore: format RAG failure checklist with prettier

* docs(cookbook): add fully local RAG notebook with Chroma and Ollama (#20767)

* docs(cookbook): add fully local RAG notebook with Chroma and Ollama

- Demonstrates end-to-end RAG pipeline with no API key required
- Uses llama3.2:3b (LLM) and nomic-embed-text (embeddings) via Ollama
- Persists vectors in ChromaDB with caching (skip re-embed on reload)
- Includes config.yaml for all tunables, pinned requirements.txt
- Committed sample dataset (AI safety primer) for deterministic runs
- Retrieval eval against gold Q&A set: Hit-Rate 100%, MRR 0.85
- Demonstrates 3 failure modes with hallucination guardrail

* Refactor: make notebook self-contained, remove supporting files per maintainer feedback

* chore: lint

---------

Co-authored-by: Prajwal Raymond Moras <prajmoras@Mac.lan>
Co-authored-by: Clelia (Astra) Bertelli <clelia@runllama.ai>

* fix: handle enum types in _resolve_union_option for Literal unions (#20780)

* fix: handle enum types in _resolve_union_option for Literal unions (#20109)

_resolve_union_option did not handle the enum case when Literal types
appear inside a union (anyOf in JSON Schema). This caused union of
Literal types to fall through to _resolve_basic_type, which defaults
to str and loses the Literal type information.

Add the same enum check that already exists in _resolve_field_type to
_resolve_union_option, so Literal types inside unions are correctly
resolved.

* Address review: uplift tests, bump version, fix linting

- Split single test into 4 focused test functions with specific assertions
- Move imports to top of file
- Verify actual Literal values instead of just counting union args
- Bump version 0.4.7 -> 0.4.8

* fix: respect db_schema when custom async_engine is provided (#20779)

* fix: respect db_schema when custom async_engine is provided (#20746)

When a custom async_engine is passed to SQLAlchemyChatStore without an
explicit async_database_uri, the URI defaults to SQLite. This caused
_is_sqlite_database() to return True even for non-SQLite engines,
silently ignoring the db_schema parameter.

Fix _is_sqlite_database() to check the actual engine URL when a custom
engine is provided, falling back to async_database_uri otherwise.

* Fix ruff linting: multi-line docstring formatting

* Add token-bucket rate limiter for LLM and embedding API calls (#20712)

* Add token-bucket rate limiter for LLM and embedding API calls

Introduces a standalone RateLimiter class that supports both
requests-per-minute (RPM) and tokens-per-minute (TPM) limiting
using a token-bucket algorithm. Instances can be shared across
multiple LLM and embedding objects hitting the same API endpoint
so a single budget is enforced globally.

Integration points:
- BaseLLM: optional rate_limiter field
- BaseEmbedding: optional rate_limiter field with per-batch acquire
- LLM callback decorators: acquire injected in all 4 wrapper functions

Closes #14801

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Fix ruff format on test file

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Address review feedback from AstraBert

- Use self.rate_limiter directly instead of getattr defensive pattern
- Rename aacquire to async_acquire for clarity
- Remove top-level export from __init__.py
- Replace _StubLLM with existing MockLLM in tests

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Add BaseRateLimiter abstract class for extensibility

Extract an ABC with acquire() and async_acquire() so users
can implement custom rate limiting strategies (e.g. distributed
via Redis). The existing token-bucket implementation is renamed
to TokenBucketRateLimiter with RateLimiter kept as a backwards-
compatible alias.

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

---------

Signed-off-by: debu-sinha <debusinha2009@gmail.com>

* Update LlamaCloud references to LlamaParse (#20791)

* Update LlamaCloud references to LlamaParse

* Fix typo in enterprise platform name

* feat: add inheritance for external context (#20788)

* feat: add inheritance for external context

* chore: add current context inheritance to the actual instrumentation class :sweat_smile:

* chore: use only existing context

* feat: add Screenpipe reader integration for screen OCR and audio tran… (#20789)

* feat: add Screenpipe reader integration for screen OCR and audio transcription data

* fix: fix Lint issue

* fix(core): replace blocking `run_async_tasks` with `asyncio.gather` (#20795)

replace blocking run_async_tasks with asyncio.gather

* bump the uv group across 9 directories with 2 updates (#20798)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.7.2
  dependency-type: indirect
  dependency-group: uv
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: pypdf
  dependency-version: 6.7.2
  dependency-type: indirect
  dependency-group: uv
- dependency-name: pypdf
  dependency-version: 6.7.2
  dependency-type: indirect
  dependency-group: uv
- dependency-name: pypdf
  dependency-version: 6.7.2
  dependency-type: indirect
  dependency-group: uv
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: pypdf
  dependency-version: 6.7.2
  dependency-type: indirect
  dependency-group: uv
- dependency-name: pypdf
  dependency-version: 6.7.2
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump nltk from 3.9.1 to 3.9.3 in /docs/api_reference in the pip group across 1 directory (#20797)

chore(deps): bump nltk

Bumps the pip group with 1 update in the /docs/api_reference directory: [nltk](https://github.com/nltk/nltk).


Updates `nltk` from 3.9.1 to 3.9.3
- [Changelog](https://github.com/nltk/nltk/blob/develop/ChangeLog)
- [Commits](https://github.com/nltk/nltk/compare/3.9.1...3.9.3)

---
updated-dependencies:
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the uv group across 47 directories with 3 updates (#20793)

Bumps the uv group with 1 update in the / directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 2 updates in the /llama-index-experimental directory: [nltk](https://github.com/nltk/nltk) and [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 2 updates in the /llama-index-finetuning directory: [nltk](https://github.com/nltk/nltk) and [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-integrations/embeddings/llama-index-embeddings-upstage directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-agent-search-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-amazon-product-extraction directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-arize-phoenix-query-engine directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-auto-merging-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-cohere-citation-chat directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-deeplake-deepmemory-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-deeplake-multimodal-retrieval directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-dense-x-retrieval directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-diff-private-simple-dataset directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-evaluator-benchmarker directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-fusion-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-fuzzy-citation directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-gmail-openai-agent directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-koda-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-llama-dataset-metadata directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-llama-guard-moderator directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-llava-completion directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-longrag directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-mixture-of-agents directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-multi-tenancy-rag directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-multidoc-autoretrieval directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-nebulagraph-query-engine directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-neo4j-query-engine directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-node-parser-semantic-chunking directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-ollama-query-engine directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-panel-chatbot directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-raft-dataset directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-rag-evaluator directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-ragatouille-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 2 updates in the /llama-index-packs/llama-index-packs-raptor directory: [nltk](https://github.com/nltk/nltk) and [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-recursive-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-resume-screener directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 2 updates in the /llama-index-packs/llama-index-packs-retry-engine-weaviate directory: [llama-index-core](https://github.com/run-llama/llama_index) and [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-searchain directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-self-discover directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-self-rag directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-sentence-window-retriever directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-snowflake-query-engine directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-stock-market-data-query-engine directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-streamlit-chatbot directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-sub-question-weaviate directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-timescale-vector-autoretrieval directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /llama-index-packs/llama-index-packs-trulens-eval-packs directory: [cryptography](https://github.com/pyca/cryptography).


Updates `cryptography` from 46.0.4 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `nltk` from 3.9.1 to 3.9.3
- [Changelog](https://github.com/nltk/nltk/blob/develop/ChangeLog)
- [Commits](https://github.com/nltk/nltk/compare/3.9.1...3.9.3)

Updates `cryptography` from 45.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `nltk` from 3.9.1 to 3.9.3
- [Changelog](https://github.com/nltk/nltk/blob/develop/ChangeLog)
- [Commits](https://github.com/nltk/nltk/compare/3.9.1...3.9.3)

Updates `cryptography` from 45.0.6 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `nltk` from 3.9.1 to 3.9.3
- [Changelog](https://github.com/nltk/nltk/blob/develop/ChangeLog)
- [Commits](https://github.com/nltk/nltk/compare/3.9.1...3.9.3)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `llama-index-core` from 0.12.33.post1 to 0.13.0
- [Release notes](https://github.com/run-llama/llama_index/releases)
- [Changelog](https://github.com/run-llama/llama_index/blob/main/CHANGELOG.md)
- [Commits](https://github.com/run-llama/llama_index/commits/v0.13.0)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 45.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

Updates `cryptography` from 44.0.2 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: nltk
  dependency-version: 3.9.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: llama-index-core
  dependency-version: 0.13.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: gpt-5-chat support (#20774)

* added gpt-5-chat support

* uv lock

* updated

* updated tests

* updatec context window

* nit: add openai model name (#20800)

* Fix additionalProperties in auto-generated KG schema models (#20768)

* fix: clean additionalProperties in auto-generated KG schema models

Pydantic generates `additionalProperties: true` for `Dict[str, Any]`
fields in the Entity/Relation models created by SchemaLLMPathExtractor.
This breaks OpenAI structured outputs (which require `false`) and
Google Gemini (which rejects `true` entirely).

Added a `_clean_additional_properties` helper that recursively sets
`additionalProperties: true` to `false`, applied via ConfigDict on the
auto-generated models only when they include a properties dict field.
User-provided kg_schema_cls is not affected.

Fixes #20629

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor: make additionalProperties cleanup opt-in via allow_additional_properties

Address review feedback from AstraBert: the additionalProperties fix is now
opt-in rather than unconditional. Users pass allow_additional_properties=False
to SchemaLLMPathExtractor when they need strict schemas (OpenAI structured
outputs, Google Gemini). Default is True, preserving existing behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: pass __config__ as keyword arg to satisfy mypy overload resolution

The dict unpacking pattern (**config_kwargs) caused mypy to see a
dict[str, ConfigDict] positional argument that doesn't match any
create_model overload. Passing __config__ directly as a keyword
argument with a conditional expression resolves the type error.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat: support reasoning_content in OpenAI Chat Completions (#20786)

feat: support reasoning_content in OpenAI Chat Completions streaming

Extract the reasoning_content field from streaming and non-streaming
Chat Completion responses, surfacing it as ThinkingBlock and
thinking_delta so agents can consume chain-of-thought output from any
OpenAI-compatible provider. Also skip ThinkingBlock when round-tripping
messages back to the Chat Completions API.

Closes #19124

* feat: add OpenSearch chat store integration (#20796)

* feat: add OpenSearch chat store integration

Add a new llama-index-storage-chat-store-opensearch package that
implements BaseChatStore backed by OpenSearch. Stores chat messages
as individual documents keyed by session_id with integer indices
for ordering. Includes full sync and async support.

Closes #15926

* refa…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants