Skip to content

Commit

Permalink
Dev minor (#1436)
Browse files Browse the repository at this point in the history
* fix-actions (#1426)

* up

* modify

* add to github path

* Contextual Chunk Enrichment (#1433)

* add semantic chunking

* working

* precommit

* pre-commits

* Entity Deduplication (#1431)

* Modify graphrag prompt (#1421)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* up

* add tests

* Feature/include vectors option document chunks (#1419)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* add option to include vectors in document chunks

* checkin

* update vector

---------

Co-authored-by: Nolan Tremelling <[email protected]>

* Allow env var to set the default R2R deployment for the dashboard (#1417)

* modify community_summary_prompt function and corresponding prompt

* add tests

* up

* Feature/various documentation tweaks (#1422)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* add option to include vectors in document chunks

* checkin

* update vector

* some various documentation tweaks

* some various documentation tweaks

---------

Co-authored-by: Nolan Tremelling <[email protected]>

* Graphrag tests (#1418)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* up

* add tests

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* Modify graphrag tests timeouts (#1416)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* modify timeouts

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* feat: Make prompt provider methods asynchronous (comments below) (#1415)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* feat: Make prompt provider methods asynchronous

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* up

* up

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* Add routes, service level methods around conversations (#1420)

* Add routes, service level methods around conversations

* Slight refactor to match project conventions, add JS methods

* Updated JS methods

* JS docs

* Add python

* Update JS user tests

* add deduplication pipe, workflow, api, sdk, cli

* add summary workflow

* bug fixes

* pre-commit

* working

* search working

* adding dedup test files

* modify the update query

* precommit

* more testing

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* Refactor Python SDK for Intellisense, Thread Safety (#1430)

* Refactor Python SDK

* Fix CLI after SDK changes

* Add convo to agent

* Update conversation error handling, JS

* Remove unused, bad import

* Feature/cleanup refactor vector collection (#1432)

* Feature/include vectors option document chunks (#1419)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* add option to include vectors in document chunks

* checkin

* update vector

---------

Co-authored-by: Nolan Tremelling <[email protected]>

* Allow env var to set the default R2R deployment for the dashboard (#1417)

* Feature/various documentation tweaks (#1422)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* add option to include vectors in document chunks

* checkin

* update vector

* some various documentation tweaks

* some various documentation tweaks

---------

Co-authored-by: Nolan Tremelling <[email protected]>

* Graphrag tests (#1418)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* up

* add tests

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* Modify graphrag tests timeouts (#1416)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* modify timeouts

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* feat: Make prompt provider methods asynchronous (comments below) (#1415)

* Fix async JSON parsing (#1408)

* Fix async JSON parsing

* Remove score completion from js

* clean up js

* lockfile

* Feature/build custom logger (#1409)

* building a custom logger for r2r

* fix log

* maintain bkwd compat

* Feature/add kg description prompt (#1411)

* add kg desc prompt

* add kg desc prompt

* add kg desc prompt

* fix prompt name

* separate test run freq (#1412)

* separate test run freq

* task_id check fix

* add ingestion docs

* updatet

* add

* rm old prompts

* rm old prompots

* rm old prompts

* rm old prompts

* Prod fixes + enhancements (#1407)

* change default settings back to fp32

* add logging and cache triples

* up

* up

* pre-commit and cleanups

* making community summary prompt async

* up

* up

* revert prompt changes

* up

* up

* modify default

* bump test timeout due to stricter concurrency limits

* bump sleep

* rm ubuntu from windows/mac workflows

* feat: Make prompt provider methods asynchronous

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* bump pyproject version

* first commit

* towards slimmer vector implementation logic

* up

* iterate

* up

* checkin

* up

* work doc chunks

* working vector search

* working full text search

* remove asyncpg

* passing vector tests

* up

* merge

* rm pytest

* up

* up

* fix delete

* up

* up

---------

Co-authored-by: Nolan Tremelling <[email protected]>
Co-authored-by: Shreyas Pimpalgaonkar <[email protected]>

* Add tests + Cleanup (#1437)

* up

* add tests

* test rename to sdk

* up

* fix tests

* typo

* modify chunk enrichment prompt (#1438)

* modify prompt

* up

* Fix type error on port argument of CLI (#1439)

* finish (#1440)

* finish

* up

* fix

* fix

* up

* fix

* final cleanups

* fix naming convention

* fix schema error

* increase timeout

* split graphrag actions

* fix collection exists error

* up (#1442)

* Add error message (#1443)

* up

* sdk fix

* locally testing build

* up docs (#1445)

* checkin work (#1444)

* checkin work

* finish index functionality extension

* fix concurrency

* add alembic (#1446)

* Prompt Tuning (#1447)

* Check in

* Fix after merging dev-minor in

* Ensure to not cause int overflow with hatchet (#1454)

* Bump JS (#1456)

* Ensure to not cause int overflow with hatchet

* bump js

* improve migration implementation (#1452)

* improve migration implementation

* refine migrations to include kg

* add alembic cli

* extend documentation

* extend docs and all that

* Revert change of default behaviour of entities endpoint, docs, tests (#1455)

* change def behavior of entities + delete endpoint

* pre-commit

* add deduplication tests

* Delete graph (#1450)

* up docs

* up

* up

* rename to raw_chunks

* up

* add tests

* up

* up

* change default

* change cli

* separate out deduplication tests

* change run type in the test

* up

* up

* add test concurrency

* up

* rm concurrency groups

* rm dedup tests

* remove json

* tests

* up

* fix lock

* Update postgres.py

* Feature/merge dev minor main (#1457)

* add run without orchestration (#1448)

* add run without orchestration

* bump versions

* bump versions

* bump versions

* fix

* up

* add end points

* add run without orchestration (#1448) (#1458)

* add run without orchestration

* bump versions

* bump versions

* bump versions

* fix

* up

* sync migration changes

* Ensure that we await ingest files in ingest_files method (#1460)

* Nolan/await update files (#1461)

* Ensure that we await ingest files in ingest_files method

* Await update files as well

* Docs changes (#1462)

* up

* up

* up

* up

* fix failed find and replace (#1463)

* fix failed find and replace

* fix

* Fix JS Client for Ingest Chunks (#1464)

* Ensure that we await ingest files in ingest_files method

* Await update files as well

* Fix js client

---------

Co-authored-by: Shreyas Pimpalgaonkar <[email protected]>
Co-authored-by: Nolan Tremelling <[email protected]>
  • Loading branch information
3 people authored Oct 23, 2024
1 parent eec527b commit bc53dc9
Show file tree
Hide file tree
Showing 172 changed files with 10,788 additions and 4,650 deletions.
39 changes: 39 additions & 0 deletions .github/actions/run-cli-graphrag-deduplication-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: 'Run CLI Graphrag Tests'
description: 'Runs CLI graphrag tests for R2R'
runs:
using: "composite"
steps:
- name: Ingest sample file (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_ingest_sample_file_2_cli

- name: Create the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_create_graph_sample_file_cli

- name: Deduplicate entities (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_deduplicate_entities_sample_file_cli

- name: Enrich the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_enrich_graph_sample_file_cli

- name: Search over the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_search_sample_file_cli

- name: Delete the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_delete_graph_sample_file_cli

- name: Delete the graph with cascading (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_delete_graph_with_cascading_sample_file_cli
18 changes: 14 additions & 4 deletions .github/actions/run-cli-graphrag-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,32 @@ description: 'Runs CLI graphrag tests for R2R'
runs:
using: "composite"
steps:
- name: Ingest sample file (SDK)
- name: Ingest sample file (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_ingest_sample_file_2_cli

- name: Create the graph (SDK)
- name: Create the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_create_graph_sample_file_cli

- name: Enrich the graph (SDK)
- name: Enrich the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_enrich_graph_sample_file_cli

- name: Search over the graph (SDK)
- name: Search over the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_search_sample_file_cli

- name: Delete the graph (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_delete_graph_sample_file_cli

- name: Delete the graph with cascading (CLI)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_cli.py test_kg_delete_graph_with_cascading_sample_file_cli
39 changes: 39 additions & 0 deletions .github/actions/run-sdk-graphrag-deduplication-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: 'Run SDK Graphrag Tests'
description: 'Runs SDK graphrag tests for R2R'
runs:
using: "composite"
steps:
- name: Ingest sample file (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_ingest_sample_file_2_sdk

- name: Create the graph (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_create_graph_sample_file_sdk

- name: Deduplicate entities (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_deduplicate_entities_sample_file_sdk

- name: Enrich the graph (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_enrich_graph_sample_file_sdk

- name: Search over the graph (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_search_sample_file_sdk

- name: Delete the graph (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_delete_graph_sample_file_sdk

- name: Delete the graph with cascading (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_delete_graph_with_cascading_sample_file_sdk
10 changes: 10 additions & 0 deletions .github/actions/run-sdk-graphrag-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,13 @@ runs:
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_search_sample_file_sdk

- name: Delete the graph (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_delete_graph_sample_file_sdk

- name: Delete the graph with cascading (SDK)
working-directory: ./py
shell: bash
run: poetry run python tests/integration/runner_sdk.py test_kg_delete_graph_with_cascading_sample_file_sdk
65 changes: 43 additions & 22 deletions .github/actions/setup-postgres-ext/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,39 +32,60 @@ runs:
- name: Setup PostgreSQL on Windows
if: inputs.os == 'windows-latest'
shell: pwsh
shell: cmd
run: |
choco install postgresql15 --params '/Password:postgres' --force
$env:PATH += ";C:\Program Files\PostgreSQL\15\bin"
$env:PGPASSWORD = 'postgres'
echo Starting PostgreSQL setup and pgvector installation...
echo Installing PostgreSQL...
choco install postgresql15 --params "/Password:postgres" --force
echo Updating PATH and setting PGPASSWORD...
set PATH=%PATH%;C:\Program Files\PostgreSQL\15\bin
set PGPASSWORD=postgres
echo PATH updated and PGPASSWORD set.
echo Altering PostgreSQL user password...
psql -U postgres -c "ALTER USER postgres PASSWORD 'postgres';"
echo PostgreSQL user password altered.
# Install Visual Studio Build Tools
echo Installing Visual Studio Build Tools...
choco install visualstudio2022buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --passive --norestart"
echo Visual Studio Build Tools installed.
# Set up environment for building pgvector
$vcvars64Path = "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
cmd.exe /c "call `"$vcvars64Path`" && set > %temp%\vcvars.txt"
Get-Content "$env:temp\vcvars.txt" | Foreach-Object {
if ($_ -match "^(.*?)=(.*)$") {
Set-Content "env:\$($matches[1])" $matches[2]
}
}
# Clone and build pgvector
$env:PGROOT = "C:\Program Files\PostgreSQL\15"
Set-Location -Path $env:TEMP
echo Setting up Visual Studio environment...
call "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
echo Visual Studio environment set up.
echo Cloning and building pgvector...
set PGROOT=C:\Program Files\PostgreSQL\15
cd /d %TEMP%
git clone --branch v0.7.4 https://github.com/pgvector/pgvector.git
Set-Location -Path "$env:TEMP\pgvector"
cd pgvector
echo pgvector cloned.
echo Creating vector extension...
psql -U postgres -c "CREATE EXTENSION vector;"
echo Vector extension created.
echo Building pgvector...
nmake /F Makefile.win
echo pgvector built.
echo Installing pgvector...
nmake /F Makefile.win install
echo pgvector installed.
psql -U postgres -c "CREATE EXTENSION vector;"
echo Setting max_connections to 1024...
echo max_connections = 1024 >> "C:\Program Files\PostgreSQL\15\data\postgresql.conf"
echo max_connections set.
# Set max_connections to 1024
Add-Content -Path "C:\Program Files\PostgreSQL\15\data\postgresql.conf" -Value "max_connections = 1024"
Restart-Service postgresql-x64-15
echo Restarting PostgreSQL service...
net stop postgresql-x64-15
net start postgresql-x64-15
echo PostgreSQL service restarted.
echo Setup complete!
- name: Setup PostgreSQL on macOS
if: inputs.os == 'macos-latest'
Expand Down
9 changes: 5 additions & 4 deletions .github/actions/setup-python-full/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ runs:
- name: Install Poetry and dependencies on Windows
if: inputs.os == 'windows-latest'
shell: pwsh
shell: cmd
run: |
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
$env:PATH += ";$env:USERPROFILE\AppData\Roaming\Python\Scripts"
cd py; poetry install -E core -E ingestion-bundle
python -c "import urllib.request; print(urllib.request.urlopen('https://install.python-poetry.org').read().decode())" > install-poetry.py
python install-poetry.py
echo %USERPROFILE%\AppData\Roaming\Python\Scripts >> %GITHUB_PATH%
cd py && poetry install -E core -E ingestion-bundle
6 changes: 4 additions & 2 deletions .github/actions/setup-python-light/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,7 @@ runs:
shell: pwsh
run: |
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
$env:PATH += ";$env:USERPROFILE\AppData\Roaming\Python\Scripts"
cd py; poetry install -E core -E ingestion-bundle
$env:PATH += ";$env:APPDATA\Python\Scripts"
poetry --version
cd py
poetry install -E core -E ingestion-bundle
2 changes: 1 addition & 1 deletion .github/actions/start-r2r-full/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ runs:
shell: bash
run: |
cd py
poetry run r2r serve --docker --full --config-name=full
poetry run r2r serve --docker --full --config-name=full --build --image=r2r-local
56 changes: 56 additions & 0 deletions .github/workflows/r2r-full-py-integration-tests-graphrag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: R2R Full Python Integration Test (ubuntu)

on:
push:
branches:
- dev
- dev-minor
pull_request:
branches:
- dev
- dev-minor
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]
test_category:
- cli-graphrag
- sdk-graphrag
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
TELEMETRY_ENABLED: 'false'
R2R_PROJECT_NAME: r2r_default

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python and install dependencies
uses: ./.github/actions/setup-python-full
with:
os: ${{ matrix.os }}

- name: Setup and start Docker
uses: ./.github/actions/setup-docker

- name: Login Docker
uses: ./.github/actions/login-docker
with:
docker_username: ${{ secrets.RAGTORICHES_DOCKER_UNAME }}
docker_password: ${{ secrets.RAGTORICHES_DOCKER_TOKEN }}

- name: Start R2R Full server
uses: ./.github/actions/start-r2r-full

- name: Run CLI GraphRAG Tests
if: matrix.test_category == 'cli-graphrag'
uses: ./.github/actions/run-cli-graphrag-tests

- name: Run SDK GraphRAG Tests
if: matrix.test_category == 'sdk-graphrag'
uses: ./.github/actions/run-sdk-graphrag-tests
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,4 @@ jobs:

- name: Run SDK GraphRAG Tests
if: matrix.test_category == 'sdk-graphrag'
uses: ./.github/actions/run-cli-graphrag-tests
uses: ./.github/actions/run-sdk-graphrag-tests
10 changes: 0 additions & 10 deletions .github/workflows/r2r-full-py-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,10 @@ jobs:
test_category:
- cli-ingestion
- cli-retrieval
- cli-graphrag
- sdk-ingestion
- sdk-retrieval
- sdk-auth
- sdk-collections
- sdk-graphrag
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
TELEMETRY_ENABLED: 'false'
Expand Down Expand Up @@ -61,10 +59,6 @@ jobs:
if: matrix.test_category == 'cli-retrieval'
uses: ./.github/actions/run-cli-retrieval-tests

- name: Run CLI GraphRAG Tests
if: matrix.test_category == 'cli-graphrag'
uses: ./.github/actions/run-cli-graphrag-tests

- name: Run SDK Ingestion Tests
if: matrix.test_category == 'sdk-ingestion'
uses: ./.github/actions/run-sdk-ingestion-tests
Expand All @@ -80,7 +74,3 @@ jobs:
- name: Run SDK Collections Tests
if: matrix.test_category == 'sdk-collections'
uses: ./.github/actions/run-sdk-collections-tests

- name: Run SDK GraphRAG Tests
if: matrix.test_category == 'sdk-graphrag'
uses: ./.github/actions/run-cli-graphrag-tests
59 changes: 59 additions & 0 deletions .github/workflows/r2r-light-py-integration-tests-graphrag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: R2R Light Python Integration Test (ubuntu)

on:
push:
branches:
- dev
- dev-minor
pull_request:
branches:
- dev
- dev-minor
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]
test_category:
- cli-graphrag
- sdk-graphrag
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
TELEMETRY_ENABLED: 'false'
R2R_POSTGRES_HOST: localhost
R2R_POSTGRES_DBNAME: postgres
R2R_POSTGRES_PORT: '5432'
R2R_POSTGRES_PASSWORD: postgres
R2R_POSTGRES_USER: postgres
R2R_PROJECT_NAME: r2r_default

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python and install dependencies
uses: ./.github/actions/setup-python-light
with:
os: ${{ matrix.os }}

- name: Setup and start PostgreSQL
uses: ./.github/actions/setup-postgres-ext
with:
os: ${{ matrix.os }}

- name: Start R2R Light server
uses: ./.github/actions/start-r2r-light

- name: Run CLI GraphRAG Tests
if: matrix.test_category == 'cli-graphrag'
uses: ./.github/actions/run-cli-graphrag-tests

- name: Run SDK GraphRAG Tests
if: matrix.test_category == 'sdk-graphrag'
uses: ./.github/actions/run-sdk-graphrag-tests
Loading

0 comments on commit bc53dc9

Please sign in to comment.