diff --git a/.github/workflows/test-integrations-ai.yml b/.github/workflows/test-integrations-ai.yml index bc89cb9afe..9ef7426734 100644 --- a/.github/workflows/test-integrations-ai.yml +++ b/.github/workflows/test-integrations-ai.yml @@ -62,6 +62,10 @@ jobs: run: | set -x # print commands that are executed ./scripts/runtox.sh "py${{ matrix.python-version }}-langchain-latest" + - name: Test langchain-notiktoken latest + run: | + set -x # print commands that are executed + ./scripts/runtox.sh "py${{ matrix.python-version }}-langchain-notiktoken-latest" - name: Test openai latest run: | set -x # print commands that are executed @@ -137,6 +141,10 @@ jobs: run: | set -x # print commands that are executed ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-langchain" + - name: Test langchain-notiktoken pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-langchain-notiktoken" - name: Test openai pinned run: | set -x # print commands that are executed diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index 4d5d5b14ce..f6c022e7dd 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -126,6 +126,33 @@ "huggingface_hub": { "package": "huggingface_hub", }, + # Langchain + # langchain-v0.1: openai~=1.0.0 + # langchain-v0.1: langchain~=0.1.11 + # langchain-v0.1: tiktoken~=0.6.0 + # langchain-v0.1: httpx<0.28.0 + # langchain-v0.3: langchain~=0.3.0 + # langchain-v0.3: langchain-community + # langchain-v0.3: tiktoken + # langchain-v0.3: openai + # langchain-{latest,notiktoken}: langchain + # langchain-{latest,notiktoken}: langchain-openai + # langchain-{latest,notiktoken}: openai>=1.6.1 + # langchain-latest: tiktoken~=0.6.0 + "langchain": { + "package": "langchain", + "deps": { + "*": ["openai", "tiktoken"], + "<0.2": ["httpx<0.28.0"], + ">0.2": ["langchain-community"], + }, + }, + "langchain-notiktoken": { + "package": "langchain", + "deps": { + "*": ["langchain-openai"], + }, + }, "launchdarkly": { "package": "launchdarkly-server-sdk", }, diff --git a/scripts/populate_tox/populate_tox.py b/scripts/populate_tox/populate_tox.py index 0aeb0f02ef..6bf615cc89 100644 --- a/scripts/populate_tox/populate_tox.py +++ b/scripts/populate_tox/populate_tox.py @@ -74,8 +74,6 @@ "chalice", "gcp", "httpx", - "langchain", - "langchain_notiktoken", "openai", "openai_notiktoken", "pure_eval", diff --git a/scripts/populate_tox/tox.jinja b/scripts/populate_tox/tox.jinja index 2869da275b..66de126b90 100644 --- a/scripts/populate_tox/tox.jinja +++ b/scripts/populate_tox/tox.jinja @@ -77,12 +77,6 @@ envlist = {py3.9,py3.11,py3.12}-httpx-v{0.25,0.27} {py3.9,py3.12,py3.13}-httpx-latest - # Langchain - {py3.9,py3.11,py3.12}-langchain-v0.1 - {py3.9,py3.11,py3.12}-langchain-v0.3 - {py3.9,py3.11,py3.12}-langchain-latest - {py3.9,py3.11,py3.12}-langchain-notiktoken - # OpenAI {py3.9,py3.11,py3.12}-openai-v1.0 {py3.9,py3.11,py3.12}-openai-v1.22 @@ -236,20 +230,6 @@ deps = httpx-v0.27: httpx~=0.27.0 httpx-latest: httpx - # Langchain - langchain-v0.1: openai~=1.0.0 - langchain-v0.1: langchain~=0.1.11 - langchain-v0.1: tiktoken~=0.6.0 - langchain-v0.1: httpx<0.28.0 - langchain-v0.3: langchain~=0.3.0 - langchain-v0.3: langchain-community - langchain-v0.3: tiktoken - langchain-v0.3: openai - langchain-{latest,notiktoken}: langchain - langchain-{latest,notiktoken}: langchain-openai - langchain-{latest,notiktoken}: openai>=1.6.1 - langchain-latest: tiktoken~=0.6.0 - # OpenAI openai: pytest-asyncio openai-v1.0: openai~=1.0.0 diff --git a/scripts/split_tox_gh_actions/split_tox_gh_actions.py b/scripts/split_tox_gh_actions/split_tox_gh_actions.py index 293af897c9..96d8056102 100755 --- a/scripts/split_tox_gh_actions/split_tox_gh_actions.py +++ b/scripts/split_tox_gh_actions/split_tox_gh_actions.py @@ -58,6 +58,7 @@ "anthropic", "cohere", "langchain", + "langchain-notiktoken", "openai", "huggingface_hub", ], diff --git a/tox.ini b/tox.ini index 4c05bcaa75..a66541b91d 100644 --- a/tox.ini +++ b/tox.ini @@ -10,7 +10,7 @@ # The file (and all resulting CI YAMLs) then need to be regenerated via # "scripts/generate-test-files.sh". # -# Last generated: 2025-04-29T08:35:44.624881+00:00 +# Last generated: 2025-04-29T10:30:10.128741+00:00 [tox] requires = @@ -77,12 +77,6 @@ envlist = {py3.9,py3.11,py3.12}-httpx-v{0.25,0.27} {py3.9,py3.12,py3.13}-httpx-latest - # Langchain - {py3.9,py3.11,py3.12}-langchain-v0.1 - {py3.9,py3.11,py3.12}-langchain-v0.3 - {py3.9,py3.11,py3.12}-langchain-latest - {py3.9,py3.11,py3.12}-langchain-notiktoken - # OpenAI {py3.9,py3.11,py3.12}-openai-v1.0 {py3.9,py3.11,py3.12}-openai-v1.22 @@ -145,6 +139,16 @@ envlist = {py3.9,py3.11,py3.12}-cohere-v5.11.4 {py3.9,py3.11,py3.12}-cohere-v5.15.0 + {py3.9,py3.10,py3.11}-langchain-v0.0.354 + {py3.9,py3.11,py3.12}-langchain-v0.1.20 + {py3.9,py3.11,py3.12}-langchain-v0.2.17 + {py3.9,py3.12,py3.13}-langchain-v0.3.24 + + {py3.9,py3.10,py3.11}-langchain-notiktoken-v0.0.354 + {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.1.20 + {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.2.17 + {py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.24 + {py3.8,py3.10,py3.11}-huggingface_hub-v0.22.2 {py3.8,py3.10,py3.11}-huggingface_hub-v0.25.2 {py3.8,py3.12,py3.13}-huggingface_hub-v0.28.1 @@ -397,20 +401,6 @@ deps = httpx-v0.27: httpx~=0.27.0 httpx-latest: httpx - # Langchain - langchain-v0.1: openai~=1.0.0 - langchain-v0.1: langchain~=0.1.11 - langchain-v0.1: tiktoken~=0.6.0 - langchain-v0.1: httpx<0.28.0 - langchain-v0.3: langchain~=0.3.0 - langchain-v0.3: langchain-community - langchain-v0.3: tiktoken - langchain-v0.3: openai - langchain-{latest,notiktoken}: langchain - langchain-{latest,notiktoken}: langchain-openai - langchain-{latest,notiktoken}: openai>=1.6.1 - langchain-latest: tiktoken~=0.6.0 - # OpenAI openai: pytest-asyncio openai-v1.0: openai~=1.0.0 @@ -513,6 +503,23 @@ deps = cohere-v5.11.4: cohere==5.11.4 cohere-v5.15.0: cohere==5.15.0 + langchain-v0.0.354: langchain==0.0.354 + langchain-v0.1.20: langchain==0.1.20 + langchain-v0.2.17: langchain==0.2.17 + langchain-v0.3.24: langchain==0.3.24 + langchain: openai + langchain: tiktoken + langchain-v0.0.354: httpx<0.28.0 + langchain-v0.1.20: httpx<0.28.0 + langchain-v0.2.17: langchain-community + langchain-v0.3.24: langchain-community + + langchain-notiktoken-v0.0.354: langchain==0.0.354 + langchain-notiktoken-v0.1.20: langchain==0.1.20 + langchain-notiktoken-v0.2.17: langchain==0.2.17 + langchain-notiktoken-v0.3.24: langchain==0.3.24 + langchain-notiktoken: langchain-openai + huggingface_hub-v0.22.2: huggingface_hub==0.22.2 huggingface_hub-v0.25.2: huggingface_hub==0.25.2 huggingface_hub-v0.28.1: huggingface_hub==0.28.1