diff --git a/pyproject.toml b/pyproject.toml index 896465bec..c4c594a29 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,10 +12,30 @@ packages = [{ include = "ragstack" }] [tool.poetry.dependencies] python = ">=3.9,<3.12" astrapy = "~0.7.0" -cassio = "~0.1.3" -unstructured = { version = "0.12.5" } -llama-index = { version = "0.9.48", extras = ["langchain"] } -llama-parse = { version = "0.1.4" } +cassio = "~0.1.4" +unstructured = "0.12.5" + +# llama-index +llama-index = "0.10.19" +llama-index-vector-stores-astra-db = "0.1.4" +llama-index-vector-stores-cassandra = "0.1.3" +llama-index-embeddings-langchain = "0.1.2" +llama-parse = "0.3.8" +# optional integrations +## azure +llama-index-llms-azure-openai = { version = "0.1.5", optional = true } +llama-index-embeddings-azure-openai = { version = "0.1.6", optional = true } +## bedrock +llama-index-llms-bedrock = { version = "0.1.3", optional = true } +llama-index-embeddings-bedrock = { version = "0.1.4", optional = true } +## google +llama-index-llms-gemini = { version = "0.1.5", optional = true } +llama-index-multi-modal-llms-gemini = { version = "0.1.3", optional = true } +llama-index-llms-vertex = { version = "0.1.4", optional = true } +llama-index-embeddings-gemini = { version = "0.1.4", optional = true } + + +# langchain langchain = "0.1.12" langchain-core = "0.1.31" langchain-community = "0.0.28" @@ -28,6 +48,11 @@ langchain-nvidia-ai-endpoints = { version = "0.0.3", optional = true } langchain-google = ["langchain-google-genai", "langchain-google-vertexai"] langchain-nvidia = ["langchain-nvidia-ai-endpoints"] +llama-index-google = ["llama-index-llms-gemini", "llama-index-multi-modal-llms-gemini", "llama-index-llms-vertex", "llama-index-embeddings-gemini"] +llama-index-azure = ["llama-index-llms-azure-openai", "llama-index-embeddings-azure-openai"] +llama-index-bedrock = ["llama-index-llms-bedrock", "llama-index-embeddings-bedrock"] + + [tool.poetry.group.test.dependencies] pytest = "*" nbmake = "*" diff --git a/ragstack-e2e-tests/pyproject.langchain.toml b/ragstack-e2e-tests/pyproject.langchain.toml index e3c0cdfe1..7685d1ef6 100644 --- a/ragstack-e2e-tests/pyproject.langchain.toml +++ b/ragstack-e2e-tests/pyproject.langchain.toml @@ -13,7 +13,6 @@ pytest = "*" black = "*" ruff = "*" google-cloud-aiplatform = "^1.36.4" -boto3 = "^1.29.6" huggingface-hub = "^0.20.3" azure-storage-blob = "^12.19.0" pillow = "^10.2.0" @@ -33,12 +32,25 @@ langchain-openai = { git = "https://github.com/langchain-ai/langchain.git", bran langchain-google-genai = { git = "https://github.com/langchain-ai/langchain-google.git", branch = "main", subdirectory = "libs/genai" } langchain-google-vertexai = { git = "https://github.com/langchain-ai/langchain-google.git", branch = "main", subdirectory = "libs/vertexai" } langchain-nvidia-ai-endpoints = { git = "https://github.com/langchain-ai/langchain-nvidia.git", branch = "main", subdirectory = "libs/ai-endpoints" } -llama-index = { version = "0.9.48", extras = ["langchain"] } -llama-parse = { version = "0.1.4" } + +llama-index = "0.10.18" +llama-index-vector-stores-astra-db = "0.1.4" +llama-index-vector-stores-cassandra = "0.1.3" +llama-index-llms-azure-openai = "0.1.5" +llama-index-embeddings-azure-openai = "0.1.6" +llama-index-llms-bedrock = "0.1.3" +llama-index-embeddings-bedrock = "0.1.4" +llama-index-llms-gemini = "0.1.5" +llama-index-multi-modal-llms-gemini = "0.1.3" +llama-index-llms-vertex = "0.1.4" +llama-index-embeddings-gemini = "0.1.4" +llama-index-embeddings-huggingface = "^0.1.0" +llama-index-llms-huggingface = "^0.1.0" +llama-parse = "0.3.8" + astrapy = "~0.7.0" -# we need this specific feature from cassio: https://github.com/CassioML/cassio/pull/128 cassio = "~0.1.4" -unstructured = { git = "https://github.com/Unstructured-IO/unstructured.git", branch = "main" } +unstructured = "0.12.5" [build-system] requires = ["poetry-core"] diff --git a/ragstack-e2e-tests/pyproject.llamaindex.toml b/ragstack-e2e-tests/pyproject.llamaindex.toml index 4122bf621..52aafe831 100644 --- a/ragstack-e2e-tests/pyproject.llamaindex.toml +++ b/ragstack-e2e-tests/pyproject.llamaindex.toml @@ -12,8 +12,6 @@ python = ">=3.9,<3.12,!=3.9.7" pytest = "*" black = "*" ruff = "*" -google-cloud-aiplatform = "^1.36.4" -boto3 = "^1.29.6" huggingface-hub = "^0.20.3" azure-storage-blob = "^12.19.0" pillow = "^10.2.0" diff --git a/ragstack-e2e-tests/pyproject.toml b/ragstack-e2e-tests/pyproject.toml index be6bf4f1a..b058b354e 100644 --- a/ragstack-e2e-tests/pyproject.toml +++ b/ragstack-e2e-tests/pyproject.toml @@ -13,8 +13,8 @@ python = ">=3.9,<3.12,!=3.9.7" pytest = "*" black = "*" ruff = "*" -boto3 = "^1.34.21" -huggingface-hub = "^0.20.3" +llama-index-embeddings-huggingface = "^0.1.0" +llama-index-llms-huggingface = "^0.1.0" azure-storage-blob = "^12.19.0" pillow = "^10.2.0" testcontainers = "^3.7.1" @@ -24,9 +24,7 @@ trulens-eval = "^0.21.0" # From LangChain optional deps, needed by WebBaseLoader beautifulsoup4 = "^4" -ragstack-ai = { path = "../", develop = false, extras = ["langchain-google", "langchain-nvidia"]} -# we need this specific feature from cassio: https://github.com/CassioML/cassio/pull/128 -cassio = "~0.1.4" +ragstack-ai = { path = "../", develop = false, extras = ["langchain-google", "langchain-nvidia", "llama-index-google", "llama-index-azure", "llama-index-bedrock"]} # benchmarks pyperf = "^2.6.2" diff --git a/tests/unit-tests/test_ragstack.py b/tests/unit-tests/test_ragstack.py index b10b4dd1a..9238ebe4b 100644 --- a/tests/unit-tests/test_ragstack.py +++ b/tests/unit-tests/test_ragstack.py @@ -1,6 +1,6 @@ def test_import(): - from llama_index.vector_stores import AstraDBVectorStore # noqa - from llama_index.vector_stores import CassandraVectorStore # noqa + from llama_index.vector_stores.astra_db import AstraDBVectorStore # noqa + from llama_index.vector_stores.cassandra import CassandraVectorStore # noqa from langchain.vectorstores import AstraDB # noqa import langchain_core # noqa import langsmith # noqa