update scheduled tests (#20526)

repurpose scheduled tests to test over provider packages
This commit is contained in:
ccurme 2024-04-16 16:49:46 -04:00 committed by GitHub
parent 806a54908c
commit 22da9f5f3f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 23 additions and 30 deletions

View File

@ -58,6 +58,7 @@ jobs:
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }} TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }} NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
GOOGLE_SEARCH_API_KEY: ${{ secrets.GOOGLE_SEARCH_API_KEY }} GOOGLE_SEARCH_API_KEY: ${{ secrets.GOOGLE_SEARCH_API_KEY }}
GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }} GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}

View File

@ -10,19 +10,21 @@ env:
jobs: jobs:
build: build:
defaults:
run:
working-directory: libs/langchain
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: Scheduled testing
strategy: strategy:
matrix: matrix:
python-version: python-version:
- "3.8" - "3.8"
- "3.9"
- "3.10"
- "3.11" - "3.11"
name: Python ${{ matrix.python-version }} working-directory:
- "libs/partners/openai"
- "libs/partners/anthropic"
# - "libs/partners/ai21" # standard-tests broken
- "libs/partners/fireworks"
# - "libs/partners/groq" # rate-limited
- "libs/partners/mistralai"
# - "libs/partners/together" # rate-limited
name: Python ${{ matrix.python-version }} - ${{ matrix.working-directory }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -31,7 +33,7 @@ jobs:
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
poetry-version: ${{ env.POETRY_VERSION }} poetry-version: ${{ env.POETRY_VERSION }}
working-directory: libs/langchain working-directory: ${{ matrix.working-directory }}
cache-key: scheduled cache-key: scheduled
- name: 'Authenticate to Google Cloud' - name: 'Authenticate to Google Cloud'
@ -40,26 +42,15 @@ jobs:
with: with:
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}' credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ vars.AWS_REGION }}
- name: Install dependencies - name: Install dependencies
working-directory: libs/langchain working-directory: ${{ matrix.working-directory }}
shell: bash shell: bash
run: | run: |
echo "Running scheduled tests, installing dependencies with poetry..." echo "Running scheduled tests, installing dependencies with poetry..."
poetry install --with=test_integration,test poetry install --with=test_integration,test
- name: Install deps outside pyproject - name: Run integration tests
if: ${{ startsWith(inputs.working-directory, 'libs/community/') }} working-directory: ${{ matrix.working-directory }}
shell: bash
run: poetry run pip install "boto3<2" "google-cloud-aiplatform<2"
- name: Run tests
shell: bash shell: bash
env: env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
@ -70,11 +61,16 @@ jobs:
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }} AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
AZURE_OPENAI_LLM_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_LLM_DEPLOYMENT_NAME }} AZURE_OPENAI_LLM_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_LLM_DEPLOYMENT_NAME }}
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME }} AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME }}
AI21_API_KEY: ${{ secrets.AI21_API_KEY }}
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }} FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }}
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }}
run: | run: |
make scheduled_tests make integration_test
- name: Ensure the tests did not create any additional files - name: Ensure the tests did not create any additional files
working-directory: ${{ matrix.working-directory }}
shell: bash shell: bash
run: | run: |
set -eu set -eu

View File

@ -33,9 +33,6 @@ test_watch_extended:
integration_tests: integration_tests:
poetry run pytest tests/integration_tests poetry run pytest tests/integration_tests
scheduled_tests:
poetry run pytest -m scheduled tests/integration_tests
docker_tests: docker_tests:
docker build -t my-langchain-image:test . docker build -t my-langchain-image:test .
docker run --rm my-langchain-image:test docker run --rm my-langchain-image:test

View File

@ -117,7 +117,7 @@ def test_azure_openai_embedding_with_empty_string() -> None:
.data[0] .data[0]
.embedding .embedding
) )
assert np.allclose(output[0], expected_output) assert np.allclose(output[0], expected_output, atol=0.0001)
assert len(output[1]) == 1536 assert len(output[1]) == 1536

View File

@ -6,10 +6,9 @@ all: help
# Define a variable for the test file path. # Define a variable for the test file path.
TEST_FILE ?= tests/unit_tests/ TEST_FILE ?= tests/unit_tests/
test: integration_test integration_tests: TEST_FILE=tests/integration_tests/
poetry run pytest $(TEST_FILE)
tests: test tests integration_test integration_tests:
poetry run pytest $(TEST_FILE) poetry run pytest $(TEST_FILE)