-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 81b81cf
Showing
575 changed files
with
50,648 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "npm" # See documentation for possible values | ||
directory: "docsite/" # Location of package manifests | ||
schedule: | ||
interval: "weekly" | ||
- package-ecosystem: "pip" # See documentation for possible values | ||
directory: "/" # Location of package manifests | ||
schedule: | ||
interval: "weekly" | ||
- package-ecosystem: "github-actions" | ||
# Workflow files stored in the default location of `.github/workflows`. (You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.) | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<!-- | ||
Thanks for contributing to GraphRAG! | ||
Please do not make *Draft* pull requests, as they still notify anyone watching the repo. | ||
Create a pull request when it is ready for review and feedback. | ||
About this template | ||
The following template aims to help contributors write a good description for their pull requests. | ||
We'd like you to provide a description of the changes in your pull request (i.e. bugs fixed or features added), the motivation behind the changes, and complete the checklist below before opening a pull request. | ||
Feel free to discard it if you need to (e.g. when you just fix a typo). --> | ||
|
||
## Description | ||
|
||
[Provide a brief description of the changes made in this pull request.] | ||
|
||
## Related Issues | ||
|
||
[Reference any related issues or tasks that this pull request addresses.] | ||
|
||
## Proposed Changes | ||
|
||
[List the specific changes made in this pull request.] | ||
|
||
## Checklist | ||
|
||
- [ ] I have tested these changes locally. | ||
- [ ] I have reviewed the code changes. | ||
- [ ] I have updated the documentation (if necessary). | ||
- [ ] I have added appropriate unit tests (if applicable). | ||
|
||
## Additional Notes | ||
|
||
[Add any additional notes or context that may be helpful for the reviewer(s).] |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
name: gh-pages | ||
on: | ||
push: | ||
branches: [main] | ||
|
||
permissions: | ||
contents: write | ||
|
||
env: | ||
POETRY_VERSION: 1.8.3 | ||
PYTHON_VERSION: '3.11' | ||
NODE_VERSION: 18.x | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
env: | ||
GH_PAGES: 1 | ||
DEBUG: 1 | ||
GRAPHRAG_LLM_TYPE: "azure_openai_chat" | ||
GRAPHRAG_EMBEDDING_TYPE: "azure_openai_embedding" | ||
GRAPHRAG_API_KEY: ${{ secrets.OPENAI_API_KEY }} | ||
GRAPHRAG_API_BASE: ${{ secrets.GRAPHRAG_API_BASE }} | ||
GRAPHRAG_API_VERSION: ${{ secrets.GRAPHRAG_API_VERSION }} | ||
GRAPHRAG_LLM_DEPLOYMENT_NAME: ${{ secrets.GRAPHRAG_LLM_DEPLOYMENT_NAME }} | ||
GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME: ${{ secrets.GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME }} | ||
GRAPHRAG_CACHE_TYPE: "blob" | ||
GRAPHRAG_CACHE_CONNECTION_STRING: ${{ secrets.BLOB_STORAGE_CONNECTION_STRING }} | ||
GRAPHRAG_CACHE_CONTAINER_NAME: "cicache" | ||
GRAPHRAG_CACHE_BASE_DIR": "cache" | ||
GRAPHRAG_LLM_MODEL: gpt-3.5-turbo-16k | ||
GRAPHRAG_EMBEDDING_MODEL: text-embedding-ada-002 | ||
# We have Windows + Linux runners in 3.10 and 3.11, so we need to divide the rate limits by 4 | ||
GRAPHRAG_LLM_TPM: 45_000 # 180,000 / 4 | ||
GRAPHRAG_LLM_RPM: 270 # 1,080 / 4 | ||
GRAPHRAG_EMBEDDING_TPM: 87_500 # 350,000 / 4 | ||
GRAPHRAG_EMBEDDING_RPM: 525 # 2,100 / 4 | ||
GRAPHRAG_CHUNK_SIZE: 1200 | ||
GRAPHRAG_CHUNK_OVERLAP: 0 | ||
# Azure AI Search config | ||
AZURE_AI_SEARCH_URL_ENDPOINT: ${{ secrets.AZURE_AI_SEARCH_URL_ENDPOINT }} | ||
AZURE_AI_SEARCH_API_KEY: ${{ secrets.AZURE_AI_SEARCH_API_KEY }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false | ||
|
||
- name: Set up Python ${{ env.PYTHON_VERSION }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ env.PYTHON_VERSION }} | ||
|
||
- name: Install Poetry ${{ env.POETRY_VERSION }} | ||
uses: abatilo/[email protected] | ||
with: | ||
poetry-version: ${{ env.POETRY_VERSION }} | ||
|
||
- name: Use Node ${{ env.NODE_VERSION }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ env.NODE_VERSION }} | ||
|
||
- name: Install Yarn dependencies | ||
run: yarn install | ||
working-directory: docsite | ||
|
||
- name: Install Poetry dependencies | ||
run: poetry install | ||
|
||
- name: Install Azurite | ||
id: azuright | ||
uses: potatoqualitee/[email protected] | ||
|
||
- name: Generate Indexer Outputs | ||
run: | | ||
poetry run poe test_smoke | ||
zip -jrm docsite/data/operation_dulce/dataset.zip tests/fixtures/min-csv/output/*/artifacts/*.parquet | ||
- name: Build Jupyter Notebooks | ||
run: poetry run poe convert_docsite_notebooks | ||
|
||
- name: Build docsite | ||
run: yarn build | ||
working-directory: docsite | ||
|
||
- name: List docsite files | ||
run: find docsite/_site | ||
|
||
- name: Deploy to GitHub Pages | ||
uses: JamesIves/[email protected] | ||
with: | ||
branch: gh-pages | ||
folder: docsite/_site | ||
clean: true |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: JavaScript CI | ||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
|
||
env: | ||
NODE_VERSION: 18.x | ||
|
||
jobs: | ||
javascript-ci: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
steps: | ||
- name: Use Node ${{ env.NODE_VERSION }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ env.NODE_VERSION }} | ||
|
||
- uses: actions/checkout@v4 | ||
|
||
- run: yarn install | ||
working-directory: docsite | ||
name: Install Dependencies | ||
|
||
- run: yarn build | ||
working-directory: docsite | ||
name: Build Docsite |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
name: Python CI | ||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
|
||
permissions: | ||
contents: read | ||
pull-requests: read | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
# Only run the for the latest commit | ||
cancel-in-progress: true | ||
|
||
env: | ||
POETRY_VERSION: 1.8.3 | ||
|
||
jobs: | ||
python-ci: | ||
strategy: | ||
matrix: | ||
python-version: ["3.10", "3.11", "3.12"] | ||
os: [ubuntu-latest, windows-latest] | ||
env: | ||
DEBUG: 1 | ||
GRAPHRAG_LLM_TYPE: "azure_openai_chat" | ||
GRAPHRAG_EMBEDDING_TYPE: "azure_openai_embedding" | ||
GRAPHRAG_API_KEY: ${{ secrets.OPENAI_API_KEY }} | ||
GRAPHRAG_API_BASE: ${{ secrets.GRAPHRAG_API_BASE }} | ||
GRAPHRAG_API_VERSION: ${{ secrets.GRAPHRAG_API_VERSION }} | ||
GRAPHRAG_LLM_DEPLOYMENT_NAME: ${{ secrets.GRAPHRAG_LLM_DEPLOYMENT_NAME }} | ||
GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME: ${{ secrets.GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME }} | ||
GRAPHRAG_CACHE_TYPE: "blob" | ||
GRAPHRAG_CACHE_CONNECTION_STRING: ${{ secrets.BLOB_STORAGE_CONNECTION_STRING }} | ||
GRAPHRAG_CACHE_CONTAINER_NAME: "cicache" | ||
GRAPHRAG_CACHE_BASE_DIR": "cache" | ||
GRAPHRAG_LLM_MODEL: gpt-3.5-turbo-16k | ||
GRAPHRAG_EMBEDDING_MODEL: text-embedding-ada-002 | ||
# We have Windows + Linux runners in 3.10 and 3.11, so we need to divide the rate limits by 4 | ||
GRAPHRAG_LLM_TPM: 45_000 # 180,000 / 4 | ||
GRAPHRAG_LLM_RPM: 270 # 1,080 / 4 | ||
GRAPHRAG_EMBEDDING_TPM: 87_500 # 350,000 / 4 | ||
GRAPHRAG_EMBEDDING_RPM: 525 # 2,100 / 4 | ||
GRAPHRAG_CHUNK_SIZE: 1200 | ||
GRAPHRAG_CHUNK_OVERLAP: 0 | ||
# Azure AI Search config | ||
AZURE_AI_SEARCH_URL_ENDPOINT: ${{ secrets.AZURE_AI_SEARCH_URL_ENDPOINT }} | ||
AZURE_AI_SEARCH_API_KEY: ${{ secrets.AZURE_AI_SEARCH_API_KEY }} | ||
|
||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: dorny/paths-filter@v3 | ||
id: changes | ||
with: | ||
filters: | | ||
python: | ||
- 'graphrag/**/*' | ||
- 'poetry.lock' | ||
- 'pyproject.toml' | ||
- '**/*.py' | ||
- '**/*.toml' | ||
- '**/*.ipynb' | ||
- '.github/workflows/python*.yml' | ||
- 'tests/smoke/*' | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install Poetry | ||
uses: abatilo/[email protected] | ||
with: | ||
poetry-version: $POETRY_VERSION | ||
|
||
- name: Install dependencies | ||
shell: bash | ||
run: poetry self add setuptools && poetry run python -m pip install gensim && poetry install | ||
|
||
- name: Check Semversioner | ||
run: | | ||
poetry run semversioner check | ||
- name: Check | ||
run: | | ||
poetry run poe check | ||
- name: Build | ||
run: | | ||
poetry build | ||
- name: Install Azurite | ||
id: azuright | ||
uses: potatoqualitee/[email protected] | ||
|
||
- name: Unit Test | ||
run: | | ||
poetry run poe test_unit | ||
- name: Integration Test | ||
run: | | ||
poetry run poe test_integration | ||
- name: Smoke Test | ||
if: steps.changes.outputs.python == 'true' | ||
run: | | ||
poetry run poe test_smoke | ||
- uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: smoke-test-artifacts-${{ matrix.python-version }}-${{ matrix.poetry-version }}-${{ runner.os }} | ||
path: tests/fixtures/*/output | ||
|
||
- name: E2E Test | ||
if: steps.changes.outputs.python == 'true' | ||
run: | | ||
./scripts/e2e-test.sh |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
name: Python Publish | ||
on: | ||
release: | ||
types: [created] | ||
push: | ||
branches: [main] | ||
|
||
env: | ||
POETRY_VERSION: 1.8.3 | ||
PYTHON_VERSION: 3.10 | ||
|
||
jobs: | ||
publish: | ||
name: Upload release to PyPI | ||
if: github.ref == 'refs/heads/main' | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: pypi | ||
url: https://pypi.org/p/graphrag | ||
permissions: | ||
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
fetch-tags: true | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: $PYTHON_VERSION | ||
|
||
- name: Install Poetry | ||
uses: abatilo/[email protected] | ||
with: | ||
poetry-version: $POETRY_VERSION | ||
|
||
- name: Add poetry-dynamic-versioning plugin | ||
run: poetry self add "poetry-dynamic-versioning[plugin]" | ||
|
||
- name: Install dependencies | ||
shell: bash | ||
run: poetry install | ||
|
||
- name: Build Distributable | ||
shell: bash | ||
run: poetry build | ||
|
||
- name: Publish package distributions to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
packages-dir: dist | ||
skip-existing: true | ||
verbose: true | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
name: Semver Check | ||
on: | ||
pull_request: | ||
branches: [main] | ||
|
||
jobs: | ||
semver: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Check Semver | ||
run: ./scripts/semver-check.sh |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
name: Spellcheck | ||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
paths: | ||
- '**/*' | ||
jobs: | ||
spellcheck: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Spellcheck | ||
run: ./scripts/spellcheck.sh |
Oops, something went wrong.