docs: extend RAG Failure Mode Checklist with advanced failures#20760
Merged
Conversation
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.
logan-markewich
approved these changes
Feb 20, 2026
auto-merge was automatically disabled
February 21, 2026 00:55
Head branch was pushed to by a user without write access
Contributor
Author
|
I pushed a follow-up commit to fix the trailing whitespace that the linter reported. |
Member
|
Linting is failing because of uv pip install pre-commit
pre-commit install
pre-commit run -aFrom the root folder of the llama_index repo |
AstraBert
approved these changes
Feb 23, 2026
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) |
Contributor
Author
|
Thanks a lot for the review and merge. |
This was referenced Mar 11, 2026
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…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
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.llamahubsection in thepyproject.tomland provide a detailed README.md for my new integration or package?Version Bump?
Did I bump the version in the
pyproject.tomlfile of the package I am updating? (Except for thellama-index-corepackage)Type of Change
How Has This Been Tested?
This is a documentation-only change; no code paths were modified, so no additional tests were added.
Suggested Checklist
uv run make format; uv run make lintto appease the lint gods