Skip to content

cohere[minor]: Fix token counts, add usage_metadata #4562

cohere[minor]: Fix token counts, add usage_metadata

cohere[minor]: Fix token counts, add usage_metadata #4562

Workflow file for this run

name: Dependency compatibility tests
on:
push:
branches: ["main"]
pull_request:
# Do not run this workflow if only docs/examples changed.
paths-ignore:
- 'docs/**'
- 'examples/**'
workflow_dispatch: # Allows triggering the workflow manually in GitHub UI
# If another push to the same PR or branch happens while this workflow is still running,
# cancel the earlier run in favor of the next run.
#
# There's no point in testing an outdated version of the code. GitHub only allows
# a limited number of job runners to be active at the same time, so it's better to cancel
# pointless jobs early so that more useful jobs can run sooner.
concurrency:
group: exports-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PUPPETEER_SKIP_DOWNLOAD: "true"
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "true"
NODE_VERSION: "18.x"
COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }}
# Run a separate job for each check in the docker-compose file,
# so that they run in parallel instead of overwhelming the default 2 CPU runner.
jobs:
# LangChain
langchain-latest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.paths, 'langchain') ||
contains(github.event.pull_request.paths, 'langchain-core') ||
contains(github.event.pull_request.paths, 'libs/langchain-openai') ||
contains(github.event.pull_request.paths, 'libs/langchain-textsplitters'))
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Test LangChain with latest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run langchain-latest-deps
langchain-lowest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
contains(github.event.pull_request.paths, 'langchain')
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Test LangChain with lowest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run langchain-lowest-deps
# Community
community-latest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.paths, 'libs/langchain-community') ||
contains(github.event.pull_request.paths, 'langchain-core') ||
contains(github.event.pull_request.paths, 'libs/langchain-openai'))
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/community` with latest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run community-latest-deps
community-lowest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
contains(github.event.pull_request.paths, 'libs/langchain-community')
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/community` with lowest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run community-lowest-deps
# OpenAI
openai-latest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.paths, 'libs/langchain-openai') ||
contains(github.event.pull_request.paths, 'langchain-core'))
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/openai` with latest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run openai-latest-deps
openai-lowest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
contains(github.event.pull_request.paths, 'libs/langchain-openai')
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/openai` with lowest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run openai-lowest-deps
# Anthropic
anthropic-latest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.paths, 'libs/langchain-anthropic') ||
contains(github.event.pull_request.paths, 'langchain-core'))
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/anthropic` with latest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run anthropic-latest-deps
anthropic-lowest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
contains(github.event.pull_request.paths, 'libs/langchain-anthropic')
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/anthropic` with lowest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run anthropic-lowest-deps
# Google VertexAI
google-vertexai-latest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.paths, 'libs/langchain-google-vertexai') ||
contains(github.event.pull_request.paths, 'langchain-core') ||
contains(github.event.pull_request.paths, 'libs/langchain-google-gauth') ||
contains(github.event.pull_request.paths, 'libs/langchain-google-common'))
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/google-vertexai` with latest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run google-vertexai-latest-deps
google-vertexai-lowest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
contains(github.event.pull_request.paths, 'libs/langchain-google-vertexai')
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/google-vertexai` with lowest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run google-vertexai-lowest-deps
# Cohere
cohere-latest-deps:
runs-on: ubuntu-latest
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.paths, 'libs/langchain-cohere/**') ||
contains(github.event.pull_request.paths, 'langchain-core/**'))
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/cohere` with latest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run cohere-latest-deps
cohere-lowest-deps:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' && contains(github.event.pull_request.paths, 'libs/langchain-cohere/**')
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build `@langchain/standard-tests`
run: yarn build --filter=@langchain/standard-tests
- name: Test `@langchain/cohere` with lowest deps
run: docker compose -f dependency_range_tests/docker-compose.yml run cohere-lowest-deps