1
0
mirror of https://github.com/hwchase17/langchain.git synced 2025-05-07 08:08:20 +00:00
Commit Graph

471 Commits

Author SHA1 Message Date
ccurme
c6a8663afb
infra: run old standard-tests on core releases ()
On core releases, we check out the latest published package for
langchain-openai and langchain-anthropic and run their tests against the
candidate version of langchain-core.

Because these packages have a local install of langchain-tests, we also
need to check out the previous version of langchain-tests.
2025-04-15 16:04:08 +00:00
Sydney Runkle
e3b6cddd5e
core: codspeed tweak to make sure it runs on master () 2025-04-15 13:03:44 +00:00
Sydney Runkle
59f2c9e737
Tinkering with CodSpeed ()
Fix CI to trigger benchmarks on `run-codspeed-benchmarks` label addition

Reduce scope of async benchmark to save time on CI

Waiting to merge this PR until we figure out how to use walltime on
local runners.
2025-04-15 08:49:09 -04:00
Sydney Runkle
c6172d167a
Only run CodSpeed benchmarks with run-codspeed-benchmarks label () 2025-04-10 15:48:14 -04:00
Sydney Runkle
8f8fea2d7e
[performance]: Use hard coded langchain-core version to avoid importlib import ()
This PR aims to reduce import time of `langchain-core` tools by removing
the `importlib.metadata` import previously used in `__init__.py`. This
is the first in a sequence of PRs to reduce import time delays for
`langchain-core` features and structures 🚀.

Because we're now hard coding the version, we need to make sure
`version.py` and `pyproject.toml` stay in sync, so I've added a new CI
job that runs whenever either of those files are modified. [This
run](https://github.com/langchain-ai/langchain/actions/runs/14358012706/job/40251952044?pr=30744)
demonstrates the failure that occurs whenever the version gets out of
sync (thus blocking a PR).

Before, note the ~15% of time spent on the `importlib.metadata` /related
imports

<img width="1081" alt="Screenshot 2025-04-09 at 9 06 15 AM"
src="https://github.com/user-attachments/assets/59f405ec-ee8d-4473-89ff-45dea5befa31"
/>

After (note, lack of `importlib.metadata` time sink):

<img width="1245" alt="Screenshot 2025-04-09 at 9 01 23 AM"
src="https://github.com/user-attachments/assets/9c32e77c-27ce-485e-9b88-e365193ed58d"
/>
2025-04-10 14:15:02 -04:00
Sydney Runkle
66758599a9
[ci]: Quick codspeed.yml tweaks to enable comparisons with master ()
* Only run codspeed logic when `libs/core` is changed (for now, we'll
want to add other benchmarks later
* Also run on `master` so that we can get a reference :)
2025-04-09 13:13:49 -04:00
Sydney Runkle
78ec7d886d
[performance]: Adding benchmarks for common langchain-core imports ()
The first in a sequence of PRs focusing on improving performance in
core. We're starting with reducing import times for common structures,
hence the benchmarks here.

The benchmark looks a little bit complicated - we have to use a process
so that we don't suffer from Python's import caching system. I tried
doing manual modification of `sys.modules` between runs, but that's
pretty tricky / hacky to get right, hence the subprocess approach.

Motivated by extremely slow baseline for common imports (we're talking
2-5 seconds):

<img width="633" alt="Screenshot 2025-04-09 at 12 48 12 PM"
src="https://github.com/user-attachments/assets/994616fe-1798-404d-bcbe-48ad0eb8a9a0"
/>

Also added a `make benchmark` command to make local runs easy :).
Currently using walltimes so that we can track total time despite using
a manual proces.
2025-04-09 13:00:15 -04:00
Eugene Yurtsev
3ce0587199
ci: remove unused debug action ()
Removing an unused action
2025-04-07 22:32:37 +00:00
Eugene Yurtsev
30af9b8166
Update bug-report.yml ()
Update bug report template!
2025-04-04 16:47:50 -04:00
Sydney Runkle
3814bd1ea7
partners: Add Perplexity Chat Integration ()
Perplexity's importance in the space has been growing, so we think it's
time to add an official integration!

Note: following the release of `langchain-perplexity` to `pypi`, we
should be able to add `perplexity` as an extra in
`libs/langchain/pyproject.toml`, but we're blocked by a circular import
for now.

---------

Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
Co-authored-by: Chester Curme <chester.curme@gmail.com>
2025-04-03 16:09:14 +00:00
Oskar Stark
531319f65b
infra(GHA): description is required based on schema definition () 2025-03-17 18:42:42 +00:00
Oskar Stark
620d723fbf
infra(GHA): remove unused --- at the beginning of some workflows () 2025-03-17 16:46:32 +00:00
ccurme
5e0fa2cce5
infra: update release pipeline ()
Instead of attempting to conditionally `needs` job, always run job and
exit successfully if not needed.
2025-03-13 18:10:59 -04:00
ccurme
cd1ea8e94d
openai[patch]: support Responses API ()
Co-authored-by: Bagatur <baskaryan@gmail.com>
2025-03-12 12:25:46 -04:00
ccurme
27d86d7bc8
infra: update release workflow ()
Fix condition
2025-03-10 17:53:03 -04:00
ccurme
70fc0b8363
infra: update release workflow () 2025-03-10 20:18:33 +00:00
ccurme
7b8f266039
infra: additional testing on core release ()
Here we add a job to the release workflow that, when releasing
`langchain-core`, tests prior published versions of select packages
against the new version of core. We limit the testing to the most recent
published versions of langchain-anthropic and langchain-openai.

This is designed to catch backward-incompatible updates to core. We
sometimes update core and downstream packages simultaneously, so there
may not be any commit in the history at which tests would fail. So
although core and latest downstream packages could be consistent, we can
benefit from testing prior versions of downstream packages against core.

I tested the workflow by simulating a [breaking
change](d7287248cf)
in core and running it with publishing steps disabled:
https://github.com/langchain-ai/langchain/actions/runs/13741876345. The
workflow correctly caught the issue.
2025-03-10 08:59:59 -04:00
ccurme
33354f984f
docs: update contributing docs () 2025-03-01 17:36:35 -05:00
ccurme
68b13e5172
pinecone: delete from monorepo ()
This now lives in https://github.com/langchain-ai/langchain-pinecone
2025-02-19 12:55:15 -05:00
ccurme
9d6fcd0bfb
infra: add xai to scheduled testing () 2025-02-17 18:59:45 +00:00
ccurme
001cf99253
pinecone[patch]: add support for python 3.13 () 2025-02-11 11:20:21 -08:00
ccurme
01314c51fa
langchain: release 0.3.18 () 2025-02-07 13:40:26 -05:00
Erick Friis
1bf620222b
infra: remove deepseek from scheduled tests () 2025-02-06 19:43:03 +00:00
ccurme
d172984c91
infra: migrate to uv () 2025-02-06 13:36:26 -05:00
Erick Friis
04e8f3b6d7
infra: add deepseek api key to release () 2025-02-04 10:35:07 -08:00
ccurme
a3c5e4d070
deepseek[patch]: bump langchain-openai and add to scheduled testing () 2025-02-01 18:40:59 -05:00
Erick Friis
ecdc881328
langchain: add deepseek provider to init chat model () 2025-01-27 23:13:59 -08:00
Erick Friis
a2ed796aa6
infra: run doc lint on root pyproject change () 2025-01-22 03:22:13 +00:00
Erick Friis
628145b172
infra: fix api build () 2025-01-17 10:41:59 -08:00
Erick Friis
44b41b699c
docs: api docs build folder prep update () 2025-01-15 03:52:00 +00:00
Erick Friis
cdf3a17e55
docs: fix httpx conflicts with overrides in docs build () 2025-01-13 21:25:00 +00:00
ccurme
d9c51b71c4
infra[patch]: drop prompty from core dependents () 2025-01-07 11:01:29 -05:00
Bagatur
1c797ac68f
infra: speed up unit tests ()
Co-authored-by: Erick Friis <erick@langchain.dev>
2025-01-02 04:13:08 +00:00
Erick Friis
5afeb8b46c
infra: merge queue allowed () 2024-12-09 17:11:15 -08:00
Erick Friis
66f819c59e
infra: run cli tests on test changes () 2024-12-05 13:09:25 -08:00
Erick Friis
43c35d19d4
cli: standard tests in cli, test that they run, skip vectorstore tests () 2024-12-05 00:38:32 -08:00
Erick Friis
2b360d6a2f
infra: scheduled test fix () 2024-12-04 15:20:56 -08:00
Erick Friis
e6a08355a3
docs: more api ref links, add linting step to prevent more () 2024-12-04 04:19:42 +00:00
Erick Friis
a009249369
infra: release rely on local built in testing () 2024-12-03 16:35:38 -08:00
Erick Friis
50ddf13692
infra: configurable scheduled tests () 2024-12-03 12:06:29 -08:00
Erick Friis
a220ee56cd
infra: add 20min timeout to ci steps () 2024-12-03 10:35:57 -08:00
Ülgen Sarıkavak
c953f93c54
infra: Update Poetry version, to current latest (1.8.4) ()
Update all Poetry versions to the current latest, 1.8.4 .

I was checking how lock files are managed and found out that even though
the files are generated - updated with the current latest version of
Poetry, the version used in CI and Dockerfile was outdated.

*
https://github.com/langchain-ai/langchain/pull/28061/files#diff-e00422d37a73d07c174e7838ad7c30f642d06305aff8f9d71e1e84c6897efbffL1
*
https://github.com/langchain-ai/langchain/pull/28070/files#diff-55267c883e58892916d5316bc029725fdeeba5a77e2557cf7667793823d9d9c6L1
*
https://github.com/langchain-ai/langchain/pull/27991/files#diff-9f96b8fd39133c3f1d737e013c9042b065b42ae04b3da76902304f30cec136d8R1

<!-- If no one reviews your PR within a few days, please @-mention one
of baskaryan, efriis, eyurtsev, ccurme, vbarda, hwchase17. -->

Co-authored-by: Erick Friis <erick@langchain.dev>
2024-12-02 19:01:13 +00:00
ccurme
a8b21afc08
qdrant[patch]: run python 3.13 in CI () 2024-11-27 12:22:17 -05:00
ccurme
ee6fc3f3f6
nomic[patch]: run python 3.13 in CI () 2024-11-27 17:08:15 +00:00
ccurme
733a6ad328
mistral[patch]: run python 3.13 in CI () 2024-11-27 11:29:04 -05:00
ccurme
b9bf7fd797
couchbase[patch]: run python 3.13 in CI () 2024-11-27 11:28:21 -05:00
Greg Hinch
5141f25a20
community[patch]: support numpy2 ()
Follows on from , updates the langchain-community package to
support numpy 2 versions

---------

Co-authored-by: Chester Curme <chester.curme@gmail.com>
2024-11-27 11:10:58 -05:00
ccurme
42b8ad067d
chroma[patch]: test python 3.13 in CI () 2024-11-27 15:02:40 +00:00
Greg Hinch
869c8f5879
langchain[patch]: support numpy 2 ()
Follows on from , updates the langchain package to support numpy 2
versions

---------

Co-authored-by: Chester Curme <chester.curme@gmail.com>
2024-11-26 11:20:02 -05:00
Erick Friis
242e9fc865
infra: install standard tests in docs build () 2024-11-22 15:49:10 -08:00