mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-18 18:53:10 +00:00
Add how-to guides to [Run notebooks job](https://github.com/langchain-ai/langchain/actions/workflows/run_notebooks.yml) and fix existing notebooks. - As with tutorials, cassettes must be updated when HTTP calls in guides change (by running existing [script](https://github.com/langchain-ai/langchain/blob/master/docs/scripts/update_cassettes.sh)). - Cassettes now total ~62mb over 474 files. - `docs/scripts/prepare_notebooks_for_ci.py` lists a number of notebooks that do not run (e.g., due to requiring additional infra, slowness, requiring `input()`, etc.).
75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
name: Run notebooks
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
python_version:
|
|
description: 'Python version'
|
|
required: false
|
|
default: '3.11'
|
|
working-directory:
|
|
description: 'Working directory or subset (e.g., docs/docs/tutorials/llm_chain.ipynb or docs/docs/how_to)'
|
|
required: false
|
|
default: 'all'
|
|
schedule:
|
|
- cron: '0 13 * * *'
|
|
|
|
env:
|
|
POETRY_VERSION: "1.7.1"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'langchain-ai/langchain' || github.event_name != 'schedule'
|
|
name: "Test docs"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python + Poetry ${{ env.POETRY_VERSION }}
|
|
uses: "./.github/actions/poetry_setup"
|
|
with:
|
|
python-version: ${{ github.event.inputs.python_version || '3.11' }}
|
|
poetry-version: ${{ env.POETRY_VERSION }}
|
|
working-directory: ${{ inputs.working-directory }}
|
|
cache-key: run-notebooks
|
|
|
|
- name: 'Authenticate to Google Cloud'
|
|
id: 'auth'
|
|
uses: google-github-actions/auth@v2
|
|
with:
|
|
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: ${{ secrets.AWS_REGION }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
poetry install --with dev,test
|
|
|
|
- name: Pre-download files
|
|
run: |
|
|
poetry run python docs/scripts/cache_data.py
|
|
curl -s https://raw.githubusercontent.com/lerocha/chinook-database/master/ChinookDatabase/DataSources/Chinook_Sqlite.sql | sqlite3 docs/docs/how_to/Chinook.db
|
|
cp docs/docs/how_to/Chinook.db docs/docs/tutorials/Chinook.db
|
|
|
|
- name: Prepare notebooks
|
|
run: |
|
|
poetry run python docs/scripts/prepare_notebooks_for_ci.py --comment-install-cells --working-directory ${{ github.event.inputs.working-directory || 'all' }}
|
|
|
|
- name: Run notebooks
|
|
env:
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }}
|
|
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
|
|
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
TAVILY_API_KEY: ${{ secrets.TAVILY_API_KEY }}
|
|
TOGETHER_API_KEY: ${{ secrets.TOGETHER_API_KEY }}
|
|
WORKING_DIRECTORY: ${{ github.event.inputs.working-directory || 'all' }}
|
|
run: |
|
|
./docs/scripts/execute_notebooks.sh $WORKING_DIRECTORY
|