test: Add CI test for fastembed (#1375)
<!-- .github/pull_request_template.md --> ## Description <!-- Please provide a clear, human-generated description of the changes in this PR. DO NOT use AI-generated descriptions. We want to understand your thought process and reasoning. --> Added a CI test to make sure fastembed works as intended. ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Other (please specify): ## Changes Made <!-- List the specific changes made in this PR --> - - - ## Testing <!-- Describe how you tested your changes --> ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [ ] **I have tested my changes thoroughly before submitting this PR** - [ ] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## Related Issues <!-- Link any related issues using "Fixes #issue_number" or "Relates to #issue_number" --> ## Additional Notes <!-- Add any additional notes, concerns, or context for reviewers --> ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.
This commit is contained in:
commit
cfc9ea4261
5 changed files with 94 additions and 76 deletions
|
|
@ -10,7 +10,7 @@ WORKFLOWS=(
|
||||||
"test_kuzu.yml"
|
"test_kuzu.yml"
|
||||||
"test_multimetric_qa_eval_run.yaml"
|
"test_multimetric_qa_eval_run.yaml"
|
||||||
"test_graphrag_vs_rag_notebook.yml"
|
"test_graphrag_vs_rag_notebook.yml"
|
||||||
"test_gemini.yml"
|
"test_llms.yml"
|
||||||
"test_multimedia_example.yaml"
|
"test_multimedia_example.yaml"
|
||||||
"test_deduplication.yml"
|
"test_deduplication.yml"
|
||||||
"test_eval_framework.yml"
|
"test_eval_framework.yml"
|
||||||
|
|
|
||||||
29
.github/workflows/test_gemini.yml
vendored
29
.github/workflows/test_gemini.yml
vendored
|
|
@ -1,29 +0,0 @@
|
||||||
name: test | gemini
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test-gemini:
|
|
||||||
name: Run Gemini Test
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Cognee Setup
|
|
||||||
uses: ./.github/actions/cognee_setup
|
|
||||||
with:
|
|
||||||
python-version: '3.11.x'
|
|
||||||
|
|
||||||
- name: Run Gemini Simple Example
|
|
||||||
env:
|
|
||||||
LLM_PROVIDER: "gemini"
|
|
||||||
LLM_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
||||||
LLM_MODEL: "gemini/gemini-1.5-flash"
|
|
||||||
EMBEDDING_PROVIDER: "gemini"
|
|
||||||
EMBEDDING_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
||||||
EMBEDDING_MODEL: "gemini/text-embedding-004"
|
|
||||||
EMBEDDING_DIMENSIONS: "768"
|
|
||||||
EMBEDDING_MAX_TOKENS: "8076"
|
|
||||||
run: uv run python ./examples/python/simple_example.py
|
|
||||||
86
.github/workflows/test_llms.yml
vendored
Normal file
86
.github/workflows/test_llms.yml
vendored
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
name: LLM Test Suites
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
env:
|
||||||
|
RUNTIME__LOG_LEVEL: ERROR
|
||||||
|
ENV: 'dev'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-gemini:
|
||||||
|
name: Run Gemini Test
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cognee Setup
|
||||||
|
uses: ./.github/actions/cognee_setup
|
||||||
|
with:
|
||||||
|
python-version: '3.11.x'
|
||||||
|
|
||||||
|
- name: Run Gemini Simple Example
|
||||||
|
env:
|
||||||
|
LLM_PROVIDER: "gemini"
|
||||||
|
LLM_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
||||||
|
LLM_MODEL: "gemini/gemini-1.5-flash"
|
||||||
|
EMBEDDING_PROVIDER: "gemini"
|
||||||
|
EMBEDDING_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
||||||
|
EMBEDDING_MODEL: "gemini/text-embedding-004"
|
||||||
|
EMBEDDING_DIMENSIONS: "768"
|
||||||
|
EMBEDDING_MAX_TOKENS: "8076"
|
||||||
|
run: uv run python ./examples/python/simple_example.py
|
||||||
|
|
||||||
|
test-fastembed:
|
||||||
|
name: Run Fastembed Test
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cognee Setup
|
||||||
|
uses: ./.github/actions/cognee_setup
|
||||||
|
with:
|
||||||
|
python-version: '3.11.x'
|
||||||
|
|
||||||
|
- name: Run Fastembed Simple Example
|
||||||
|
env:
|
||||||
|
LLM_PROVIDER: "openai"
|
||||||
|
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
||||||
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||||
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||||
|
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
||||||
|
EMBEDDING_PROVIDER: "fastembed"
|
||||||
|
EMBEDDING_MODEL: "sentence-transformers/all-MiniLM-L6-v2"
|
||||||
|
EMBEDDING_DIMENSIONS: "384"
|
||||||
|
EMBEDDING_MAX_TOKENS: "256"
|
||||||
|
run: uv run python ./examples/python/simple_example.py
|
||||||
|
|
||||||
|
test-openrouter:
|
||||||
|
name: Run OpenRouter Test
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cognee Setup
|
||||||
|
uses: ./.github/actions/cognee_setup
|
||||||
|
with:
|
||||||
|
python-version: '3.11.x'
|
||||||
|
|
||||||
|
- name: Run OpenRouter Simple Example
|
||||||
|
env:
|
||||||
|
LLM_PROVIDER: "custom"
|
||||||
|
LLM_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
||||||
|
LLM_MODEL: "openrouter/x-ai/grok-code-fast-1"
|
||||||
|
LLM_ENDPOINT: "https://openrouter.ai/api/v1"
|
||||||
|
EMBEDDING_PROVIDER: "openai"
|
||||||
|
EMBEDDING_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
|
EMBEDDING_MODEL: "openai/text-embedding-3-large"
|
||||||
|
EMBEDDING_DIMENSIONS: "3072"
|
||||||
|
EMBEDDING_MAX_TOKENS: "8191"
|
||||||
|
run: uv run python ./examples/python/simple_example.py
|
||||||
30
.github/workflows/test_openrouter.yml
vendored
30
.github/workflows/test_openrouter.yml
vendored
|
|
@ -1,30 +0,0 @@
|
||||||
name: test | openrouter
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test-openrouter:
|
|
||||||
name: Run OpenRouter Test
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Cognee Setup
|
|
||||||
uses: ./.github/actions/cognee_setup
|
|
||||||
with:
|
|
||||||
python-version: '3.11.x'
|
|
||||||
|
|
||||||
- name: Run OpenRouter Simple Example
|
|
||||||
env:
|
|
||||||
LLM_PROVIDER: "custom"
|
|
||||||
LLM_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
||||||
LLM_MODEL: "openrouter/x-ai/grok-code-fast-1"
|
|
||||||
LLM_ENDPOINT: "https://openrouter.ai/api/v1"
|
|
||||||
EMBEDDING_PROVIDER: "openai"
|
|
||||||
EMBEDDING_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
||||||
EMBEDDING_MODEL: "openai/text-embedding-3-large"
|
|
||||||
EMBEDDING_DIMENSIONS: "3072"
|
|
||||||
EMBEDDING_MAX_TOKENS: "8191"
|
|
||||||
run: uv run python ./examples/python/simple_example.py
|
|
||||||
23
.github/workflows/test_suites.yml
vendored
23
.github/workflows/test_suites.yml
vendored
|
|
@ -115,16 +115,10 @@ jobs:
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# Additional LLM tests
|
# Additional LLM tests
|
||||||
gemini-tests:
|
llm-tests:
|
||||||
name: Gemini Tests
|
name: LLM Test Suite
|
||||||
needs: [basic-tests, e2e-tests]
|
needs: [ basic-tests, e2e-tests ]
|
||||||
uses: ./.github/workflows/test_gemini.yml
|
uses: ./.github/workflows/test_llms.yml
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
openrouter-tests:
|
|
||||||
name: OpenRouter Tests
|
|
||||||
needs: [basic-tests, e2e-tests]
|
|
||||||
uses: ./.github/workflows/test_openrouter.yml
|
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# Ollama tests moved to the end
|
# Ollama tests moved to the end
|
||||||
|
|
@ -138,8 +132,7 @@ jobs:
|
||||||
different-operating-systems-tests,
|
different-operating-systems-tests,
|
||||||
vector-db-tests,
|
vector-db-tests,
|
||||||
example-tests,
|
example-tests,
|
||||||
gemini-tests,
|
llm-tests,
|
||||||
openrouter-tests,
|
|
||||||
mcp-test,
|
mcp-test,
|
||||||
relational-db-migration-tests,
|
relational-db-migration-tests,
|
||||||
docker-compose-test,
|
docker-compose-test,
|
||||||
|
|
@ -161,8 +154,7 @@ jobs:
|
||||||
example-tests,
|
example-tests,
|
||||||
db-examples-tests,
|
db-examples-tests,
|
||||||
mcp-test,
|
mcp-test,
|
||||||
gemini-tests,
|
llm-tests,
|
||||||
openrouter-tests,
|
|
||||||
ollama-tests,
|
ollama-tests,
|
||||||
relational-db-migration-tests,
|
relational-db-migration-tests,
|
||||||
docker-compose-test,
|
docker-compose-test,
|
||||||
|
|
@ -183,8 +175,7 @@ jobs:
|
||||||
"${{ needs.example-tests.result }}" == "success" &&
|
"${{ needs.example-tests.result }}" == "success" &&
|
||||||
"${{ needs.db-examples-tests.result }}" == "success" &&
|
"${{ needs.db-examples-tests.result }}" == "success" &&
|
||||||
"${{ needs.relational-db-migration-tests.result }}" == "success" &&
|
"${{ needs.relational-db-migration-tests.result }}" == "success" &&
|
||||||
"${{ needs.gemini-tests.result }}" == "success" &&
|
"${{ needs.llm-tests.result }}" == "success" &&
|
||||||
"${{ needs.openrouter-tests.result }}" == "success" &&
|
|
||||||
"${{ needs.docker-compose-test.result }}" == "success" &&
|
"${{ needs.docker-compose-test.result }}" == "success" &&
|
||||||
"${{ needs.docker-ci-test.result }}" == "success" &&
|
"${{ needs.docker-ci-test.result }}" == "success" &&
|
||||||
"${{ needs.ollama-tests.result }}" == "success" ]]; then
|
"${{ needs.ollama-tests.result }}" == "success" ]]; then
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue