Skip to content

Commit 494089d

Browse files
authored
new packages docs (#386)
1 parent 4981a25 commit 494089d

File tree

4 files changed

+62
-1
lines changed

4 files changed

+62
-1
lines changed

.github/changes-filter.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ notebooks:
1313
- "./.github/actions/**"
1414
- "./.github/workflows/ci-e2e-tests.yml"
1515
- "./.github/workflows/_run_e2e_tests.yml"
16+
integration_tests:
17+
- "libs/colbert/**"
18+
- "libs/**"
19+
- "pyproject.toml"
20+
- "**/pyproject.toml"
21+
- "./.github/actions/**"
22+
- "./.github/workflows/ci-unit-tests.yml"

.github/workflows/ci-unit-tests.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,25 @@ jobs:
6464
- name: Check out the repo
6565
uses: actions/checkout@v4
6666

67+
- uses: dorny/paths-filter@v2
68+
id: filter
69+
with:
70+
filters: ./.github/changes-filter.yaml
71+
6772
- name: "Setup: Python 3.11"
73+
if: ${{ steps.filter.outputs.integration_tests == 'true' }}
6874
uses: ./.github/actions/setup-python
6975

7076
- name: Compute db name
77+
if: ${{ steps.filter.outputs.integration_tests == 'true' }}
7178
id: db-name
7279
run: |
7380
echo "db-name=${{ github.run_id}}-$(echo $(for((i=1;i<=8;i++))
7481
do printf '%s' "${RANDOM:0:1}"; done) | tr '[0-9]' '[a-z]')" >> $GITHUB_OUTPUT
7582
7683
- name: Setup AstraDB
7784
uses: ./.github/actions/setup-astra-db
85+
if: ${{ steps.filter.outputs.integration_tests == 'true' }}
7886
id: astra-db
7987
with:
8088
astra-token: ${{ secrets.E2E_TESTS_ASTRA_DEV_DB_TOKEN }}
@@ -84,6 +92,7 @@ jobs:
8492
cloud: "gcp"
8593

8694
- name: "Integration tests"
95+
if: ${{ steps.filter.outputs.integration_tests == 'true' }}
8796
env:
8897
ASTRA_DB_TOKEN: "${{ secrets.E2E_TESTS_ASTRA_DEV_DB_TOKEN }}"
8998
ASTRA_DB_ID: "${{ steps.astra-db.outputs.db_id }}"
@@ -102,7 +111,7 @@ jobs:
102111
103112
- name: Cleanup AstraDB
104113
uses: ./.github/actions/cleanup-astra-db
105-
if: ${{ always() }}
114+
if: ${{ always() && steps.filter.outputs.integration_tests == 'true' }}
106115
with:
107116
astra-token: ${{ secrets.E2E_TESTS_ASTRA_DEV_DB_TOKEN }}
108117
db-name: ${{ steps.db-name.outputs.db-name }}

docs/modules/ROOT/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* xref:ROOT:quickstart.adoc[]
33
* xref:ROOT:what-is-rag.adoc[]
44
* xref:ROOT:dev-environment.adoc[]
5+
* xref:ROOT:packages.adoc[]
56
* xref:ROOT:migration.adoc[]
67
78
.RAG Default architecture

docs/modules/ROOT/pages/packages.adoc

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
= RAGStack Python packages
2+
3+
RAGStack comes with a set of Python packages that provide the necessary tools to implement the RAG pattern in your applications.
4+
5+
. `ragstack-ai`: All-in-one package that contains all components supported by RAGStack. While this is the most convenient package to use, it may be heavier than necessary for some use cases.
6+
. `ragstack-ai-langchain`: This package is meant for users who want to use RAGStack with the LangChain framework.
7+
. `ragstack-ai-llamaindex`: This package is meant for users who want to use RAGStack with the LlamaIndex framework.
8+
. `ragstack-ai-colbert`: This package contains the implementation of the ColBERT retrieval.
9+
10+
11+
== Supported integrations for `ragstack-ai-langchain`
12+
The `ragstack-ai-langchain` package includes the minimum set of dependencies for using LangChain with {astra_db}.
13+
LLMs, embeddings, and third-party providers are not included in this package by default, expect for OpenAI and Azure OpenAI.
14+
15+
To use LLMs, embeddings, or third-party providers, you can leverage `ragstack-ai-langchain` extras:
16+
17+
. `ragstack-ai-langchain[google]` lets you work with https://python.langchain.com/docs/integrations/platforms/google[Google Vertex AI and Google Gemini API]{external-link-icon}.
18+
. `ragstack-ai-langchain[nvidia]` lets you work with https://python.langchain.com/docs/integrations/providers/nvidia/[NVIDIA hosted API endpoints for NVIDIA AI Foundation Models]{external-link-icon}.
19+
20+
Additional LangChain packages should work out of the box, although you need to manage the packages and their dependencies yourself.
21+
22+
23+
== Supported integrations for `ragstack-ai-llamaindex`
24+
25+
The `ragstack-ai-llamaindex` package includes the minimum set of dependencies for using LlamaIndex with {astra_db}.
26+
LLMs, embeddings, and third-party providers are not included in this package by default, except for OpenAI.
27+
28+
To use LLMs, embeddings, or third-party providers, you can leverage `ragstack-ai-llamaindex` extras:
29+
30+
. `ragstack-ai-llamaindex[google]` lets you work with https://docs.llamaindex.ai/en/stable/examples/llm/vertex/[Google Vertex AI]{external-link-icon} and https://docs.llamaindex.ai/en/stable/examples/llm/gemini/[Google Gemini API]{external-link-icon}.
31+
. `ragstack-ai-llamaindex[azure]` lets you work with https://docs.llamaindex.ai/en/stable/examples/llm/azure_openai/[Azure OpenAI]{external-link-icon}.
32+
. `ragstack-ai-llamaindex[bedrock]` lets you work with https://docs.llamaindex.ai/en/stable/examples/llm/bedrock/[AWS Bedrock]{external-link-icon}.
33+
34+
Additional LLamaIndex packages should work out of the box, although you need to manage the packages and their dependencies yourself.
35+
36+
37+
== Colbert with `ragstack-ai-langchain` and `ragstack-ai-llamaindex`
38+
39+
The `colbert` module provides a vanilla implementation for COLBert retrieval. It is not tied to any specific framework and can be used with any of the RAGStack packages.
40+
41+
If you want to use COLBert with LangChain or LLamaIndex, you can use the following the extras:
42+
43+
. `ragstack-ai-langchain[colbert]`
44+
. `ragstack-ai-llamaindex[colbert]`

0 commit comments

Comments
 (0)