Skip to content

UN-2725 Updated Lllama-index version and related dependencies to Support GPT-5 models#196

Merged
chandrasekharan-zipstack merged 1 commit intomainfrom
UN-2725-add-support-for-open-ai-gpt-5-and-claude-sonnet-4-1-m-token-context
Sep 1, 2025
Merged

UN-2725 Updated Lllama-index version and related dependencies to Support GPT-5 models#196
chandrasekharan-zipstack merged 1 commit intomainfrom
UN-2725-add-support-for-open-ai-gpt-5-and-claude-sonnet-4-1-m-token-context

Conversation

@pk-zipstack
Copy link
Contributor

What

  • Updated llama-index from 0.12.39 to 0.13.2
  • Updated All child dependencies to be compatible with 0.13.2
  • Added support for GPT-5 models
  • Bumped SDK version to v0.77.0

Why

  • Support new LLM models - The latest llama-index version enables support for GPT-5

How

  • Dependency version updates - Updated all llama-index related packages to their latest compatible versions in pyproject.toml
  • Lock file regeneration - Updated uv.lock to reflect the new dependency versions
  • Version bump - Incremented the SDK version from v0.76.1 to v0.77.0

Relevant Docs

Related Issues or PRs

Dependencies Versions / Env Variables

Notes on Testing

  • Tested LLMS, embeddings, vectorDBs, and text extractors on prompt-studio and workflows.

Screenshots

...

Checklist

I have read and understood the Contribution Guidelines.

@pk-zipstack pk-zipstack self-assigned this Aug 28, 2025
@pk-zipstack pk-zipstack added the enhancement New feature or request label Aug 28, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 28, 2025

Summary by CodeRabbit

  • Chores
    • Updated numerous AI/LLM, embeddings, and vector store dependencies to newer versions, improving compatibility, performance, and stability across providers (OpenAI, Azure, Anthropic, Mistral, Vertex, Bedrock, Ollama, Pinecone, Qdrant, Weaviate, Milvus, Postgres).
    • Maintained existing optional components as-is where not upgraded.
    • Bumped SDK version to v0.77.0.

Walkthrough

Dependency versions updated across multiple LlamaIndex-related packages and embeddings/vector-store/LLM backends in pyproject.toml. SDK semantic version bumped from v0.76.1 to v0.77.0 in src/unstract/sdk/init.py. No code logic changes.

Changes

Cohort / File(s) Summary
Dependency version updates
pyproject.toml
Bumped versions for python-dotenv, llama-index core, embeddings backends (OpenAI, Ollama, Bedrock, Vertex, Google, Azure OpenAI), vector stores (Postgres, Milvus, Weaviate, Pinecone, Qdrant), and LLM backends (OpenAI, PaLM, Mistral/mistralai, Anyscale, Anthropic, Azure OpenAI, Vertex, Replicate, Ollama, Bedrock Converse). No non-dependency edits.
SDK version bump
src/unstract/sdk/__init__.py
Updated version from "v0.76.1" to "v0.77.0"; get_sdk_version() unchanged.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch UN-2725-add-support-for-open-ai-gpt-5-and-claude-sonnet-4-1-m-token-context

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbit in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbit in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbit gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbit read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbit help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbit ignore or @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbit summary or @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbit or @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (5)
src/unstract/sdk/__init__.py (1)

1-1: Confirm PEP 440 compliance of version string; consider dropping the leading "v".

Some build backends enforce strict PEP 440. If __version__ = "v0.77.0" flows into wheel metadata, publishing could fail or normalize unexpectedly. If CI has accepted the "v" historically, keep it; otherwise, prefer "0.77.0".

Apply if you choose to align with PEP 440:

-__version__ = "v0.77.0"
+__version__ = "0.77.0"
pyproject.toml (4)

39-44: Heavy embedding stack in base install — consider moving to extras to reduce footprint.

Installing all embeddings by default increases image size and cold-start times. Suggest an extra like embeddings-all and keep base to OpenAI only.

Proposed split:

-[project]
-dependencies = [
-  ...
-  "llama-index-embeddings-openai==0.5.0",
-  "llama-index-embeddings-ollama==0.8.1",
-  "llama-index-embeddings-bedrock==0.6.1",
-  "llama-index-embeddings-vertex==0.4.0",
-  ...
-]
+[project]
+dependencies = [
+  ...
+  "llama-index-embeddings-openai==0.5.0",
+  ...
+]
+
+[project.optional-dependencies]
+embeddings-all = [
+  "llama-index-embeddings-ollama==0.8.1",
+  "llama-index-embeddings-bedrock==0.6.1",
+  "llama-index-embeddings-vertex==0.4.0",
+]

47-50: Vector store plugins default-installed — consider extras to avoid unnecessary client SDKs.

Milvus/Weaviate/Pinecone/Qdrant SDKs pull sizeable deps. Ship as extras (vector-stores-all or per store) unless they’re required at runtime for every deployment.

I can provide a minimal diff mirroring the embeddings split if you’d like.


51-61: OpenAI/Anthropic/Mistral backends: ensure transitive SDK versions are pinned/compatible for GPT‑5 and new APIs.

  • llama-index-llms-openai==0.5.4 typically requires openai>=1.x. It’s pulled transitively; consider pinning a tested range (e.g., openai>=1.40,<2) to avoid sudden breaking changes.
  • Same for anthropic (transitive via llama-index-llms-anthropic), and pinecone-client pulled by vector stores.

If you want, I’ll add a lightweight constraints file to bound critical transitive deps.


75-79: Align optional extras and test deps to avoid drift.

gcsfs/s3fs/adlfs versions differ in operators between extras (~=) and tests (==). Minor, but pinning style drift can lead to subtle env diffs. Consider using the same operator across both.

Example:

-test = [
-    "parameterized==0.9.0",
-    "pytest==8.3.3",
-    "pytest-mock==3.14.0",
-    "gcsfs==2024.10.0",
-    "s3fs==2024.10.0",
-    "adlfs~=2024.7.0",
-]
+test = [
+    "parameterized==0.9.0",
+    "pytest==8.3.3",
+    "pytest-mock==3.14.0",
+    "gcsfs~=2024.10.0",
+    "s3fs~=2024.10.0",
+    "adlfs~=2024.7.0",
+]

Also applies to: 91-98

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to Reviews > Disable Cache setting

Knowledge Base: Disabled due to Reviews > Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between a79b097 and d0ae2b3.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • pyproject.toml (1 hunks)
  • src/unstract/sdk/__init__.py (1 hunks)
🔇 Additional comments (4)
src/unstract/sdk/__init__.py (1)

4-6: LGTM: stable API for version retrieval.

get_sdk_version() correctly returns the bumped version.

pyproject.toml (3)

29-29: Major bump to llama-index 0.13.x — validate runtime compatibility across adapters.

0.13 includes breaking/internal changes vs 0.12.x. Please run the full adapter matrix (OpenAI/Anthropic/Vertex/Bedrock, vector stores, embeddings) in CI to catch regressions.

I can generate a focused smoke-test script that imports each configured adapter and performs a 1-token call against a mock transport. Want that added to tests?


56-57: Bedrock and boto3 compatibility.

llama-index-llms-bedrock-converse==0.8.2 plus extras boto3~=1.34.131: confirm the Converse runtime features you rely on exist in this boto3 minor. If you need Bedrock Converse streaming/tool-use updates, you may require a newer boto3.

I can add a small runtime check in an integration test to assert Converse model invocation works against a stubbed client.

Also applies to: 75-79


27-27: Dotenv minor bump — verify no behavior change with .env loading in your CLI entrypoints.

python-dotenv==1.0.1 changed some deprecation paths versus 1.0.0. Sanity-check load_dotenv() usage in CLI and tests.

If needed, I’ll scan the repo to locate dotenv usage and add a tiny smoke test.

Copy link
Contributor

@gaya3-zipstack gaya3-zipstack left a comment

Choose a reason for hiding this comment

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

Changes looks good. Please test "test-connection" for all adapters with supported models!

@chandrasekharan-zipstack chandrasekharan-zipstack merged commit e298a41 into main Sep 1, 2025
2 checks passed
@chandrasekharan-zipstack chandrasekharan-zipstack deleted the UN-2725-add-support-for-open-ai-gpt-5-and-claude-sonnet-4-1-m-token-context branch September 1, 2025 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants