Ivan
5b9290a449
Fix UnionType type var replacement ( #25566 )
...
[langchain_core] Fix UnionType type var replacement
- Added types.UnionType to typing.Union mapping
Type replacement cause `TypeError: 'type' object is not subscriptable`
if any of union type comes as function `_py_38_safe_origin` return
`types.UnionType` instead of `typing.Union`
```python
>>> from types import UnionType
>>> from typing import Union, get_origin
>>> type_ = get_origin(str | None)
>>> type_
<class 'types.UnionType'>
>>> UnionType[(str, None)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'type' object is not subscriptable
>>> Union[(str, None)]
typing.Optional[str]
```
---------
Co-authored-by: Chester Curme <chester.curme@gmail.com >
2024-08-22 14:22:09 -04:00
William FH
8230ba47f3
core[patch]: Improve some error messages and add another test for checking RunnableWithMessageHistory ( #25209 )
...
Also add more useful error messages.
---------
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
2024-08-22 18:14:27 +00:00
Bagatur
39c44817ae
infra: test convert_message ( #25632 )
2024-08-21 18:24:06 +00:00
Bagatur
628574b9c2
core[patch]: Release 0.2.34 ( #25622 )
2024-08-21 16:26:51 +00:00
Bagatur
0bc3845e1e
core[patch]: support oai dicts as messages ( #25621 )
...
and update langsmtih example selector docs
2024-08-21 16:13:15 +00:00
Erick Friis
e37caa9b9a
core: fix fallback context overwriting ( #25550 )
...
fixes #25337
2024-08-20 16:07:12 -07:00
Bagatur
8a71f1b41b
core[minor]: add langsmith document loader ( #25493 )
...
needs tests
2024-08-20 10:22:14 -07:00
Bagatur
4bd005adb6
core[patch]: Allow bound models as token_counter in trim_messages ( #25563 )
2024-08-20 00:21:22 -07:00
Erick Friis
e01c6789c4
core,community: add beta decorator to missed GraphVectorStore extensions ( #25562 )
2024-08-19 17:29:09 -07:00
Bagatur
6b98207eda
infra: test chat prompt ser/des ( #25557 )
2024-08-19 15:27:36 -07:00
Bagatur
df98552b6f
core[patch]: Release 0.2.33 ( #25498 )
2024-08-16 11:18:54 -07:00
ccurme
b83f1eb0d5
core, partners: implement standard tracing params for LLMs ( #25410 )
2024-08-16 13:18:09 -04:00
Eugene Yurtsev
e18511bb22
core[minor], anthropic[patch]: Upgrade @root_validator usage to be consistent with pydantic 2 ( #25457 )
...
anthropic: Upgrade `@root_validator` usage to be consistent with
pydantic 2
core: support looking up multiple keys from env in from_env factory
2024-08-15 20:09:34 +00:00
Eugene Yurtsev
eb3870e9d8
fireworks[patch]: Upgrade @root_validators to be pydantic 2 compliant ( #25443 )
...
Update @root_validators to be pydantic 2 compliant
2024-08-15 16:56:48 +00:00
William FH
75ae585deb
Merge support for group manager ( #25360 )
2024-08-15 09:56:31 -07:00
Bagatur
ec8ffc8f40
core[patch]: Release 0.2.32 ( #25420 )
2024-08-14 15:56:56 -07:00
Bagatur
2494cecabf
core[patch]: tool import fix ( #25419 )
2024-08-14 22:54:13 +00:00
Bagatur
a58d4ba340
core[patch]: Release 0.2.31 ( #25388 )
2024-08-14 11:26:49 -07:00
Chengyu Yan
d0ad713937
core: fix issue#24660, slove error messages about ValueError
when use model with history ( #25183 )
...
- **Description:**
This PR will slove error messages about `ValueError` when use model with
history.
Detail in #24660 .
#22933 causes that
`langchain_core.runnables.history.RunnableWithMessageHistory._get_output_messages`
miss type check of `output_val` if `output_val` is `False`. After
running `RunnableWithMessageHistory._is_not_async`, `output` is `False`.
249945a572/libs/core/langchain_core/runnables/history.py (L323-L334)
15a36dd0a2/libs/core/langchain_core/runnables/history.py (L461-L471)
~~I suggest that `_get_output_messages` return empty list when
`output_val == False`.~~
- **Issue**:
- #24660
- **Dependencies:**: No Change.
---------
Co-authored-by: Bagatur <baskaryan@gmail.com >
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
2024-08-14 14:26:22 +00:00
Bagatur
493e474063
docs: udpated api reference ( #25172 )
...
- Move the API reference into the vercel build
- Update api reference organization and styling
2024-08-14 07:00:17 -07:00
Eugene Yurtsev
dc51cc5690
core[minor]: Prevent PydanticOutputParser from encoding schema as ASCII ( #25386 )
...
This allows users to provide parameter descriptions in the pydantic
models in other languages.
Continuing this PR: https://github.com/langchain-ai/langchain/pull/24809
2024-08-14 13:54:31 +00:00
ccurme
27690506d0
multiple: update removal targets ( #25361 )
2024-08-14 09:50:39 -04:00
Erick Friis
252f0877d1
core: release 0.2.30 ( #25321 )
2024-08-12 22:01:24 +00:00
Eugene Yurtsev
056c7c2983
core[patch]: Update API reference for fake embeddings ( #25313 )
...
Issue: https://github.com/langchain-ai/langchain/issues/24856
Using the same template for the fake embeddings in langchain_core as
used in the integrations.
2024-08-12 19:40:05 +00:00
ccurme
e77eeee6ee
core[patch]: add standard tracing params for retrievers ( #25240 )
2024-08-12 14:51:59 +00:00
gbaian10
aa2722cbe2
docs: update numbering of items in docstring ( #25267 )
...
A problem similar to #25093 .
Co-authored-by: ccurme <chester.curme@gmail.com >
2024-08-11 20:50:24 +00:00
Eugene Yurtsev
6dd9f053e3
core[patch]: Deprecating beta upsert APIs in vectorstore ( #25069 )
...
This PR deprecates the beta upsert APIs in vectorstore.
We'll introduce them in a V2 abstraction instead to keep the existing
vectorstore implementations lighter weight.
The main problem with the existing APIs is that it's a bit more
challenging to
implement the correct behavior w/ respect to IDs since ID can be present
in
both the function signature and as an optional attribute on the document
object.
But VectorStores that pass the standard tests should have implemented
the semantics properly!
---------
Co-authored-by: Erick Friis <erick@langchain.dev >
2024-08-09 17:17:36 -04:00
Eugene Yurtsev
b6f0174bb9
community[patch],core[patch]: Update EdenaiTool root_validator and add unit test in core ( #25233 )
...
This PR gets rid `root_validators(allow_reuse=True)` logic used in
EdenAI Tool in preparation for pydantic 2 upgrade.
- add another test to secret_from_env_factory
2024-08-09 15:59:27 +00:00
blueoom
c3ced4c6ce
core[patch]: use time.monotonic() instead time.time() in InMemoryRateLimiter
...
**Description:**
The get time point method in the _consume() method of
core.rate_limiters.InMemoryRateLimiter uses time.time(), which can be
affected by system time backwards. Therefore, it is recommended to use
the monotonically increasing monotonic() to obtain the time
```python
with self._consume_lock:
now = time.time() # time.time() -> time.monotonic()
# initialize on first call to avoid a burst
if self.last is None:
self.last = now
elapsed = now - self.last # when use time.time(), elapsed may be negative when system time backwards
```
2024-08-09 11:31:20 -04:00
Bagatur
7040013140
core[patch]: fix deprecation pydantic bug ( #25204 )
...
#25004 is incompatible with pydantic < 1.10.17. Introduces fix for this.
2024-08-08 16:39:38 -07:00
Eugene Yurtsev
429a0ee7fd
core[minor]: Add factory for looking up secrets from the env ( #25198 )
...
Add factory method for looking secrets from the env.
2024-08-08 16:41:58 -04:00
Erick Friis
c6ece6a96d
core: autodetect more ls params ( #25044 )
...
Co-authored-by: ccurme <chester.curme@gmail.com >
2024-08-08 12:44:21 -07:00
Eugene Yurtsev
30fb345342
core[minor]: Add from_env utility ( #25189 )
...
Add a utility that can be used as a default factory
The goal will be to start migrating from of the pydantic models to use
`from_env` as a default factory if possible.
```python
from pydantic import Field, BaseModel
from langchain_core.utils import from_env
class Foo(BaseModel):
name: str = Field(default_factory=from_env('HELLO'))
```
2024-08-08 14:52:35 -04:00
Eugene Yurtsev
2f209d84fa
core[patch]: Add pydantic get_fields adapter ( #25187 )
...
Add adapter to get fields
2024-08-08 17:47:42 +00:00
Eugene Yurtsev
425f6ffa5b
core[patch]: Fix aindex API ( #25155 )
...
A previous PR accidentally broke the aindex API by renaming a positional
argument vectorstore into vector_store. This PR reverts this change.
2024-08-08 12:08:18 -04:00
Eugene Yurtsev
7b1a132aff
core[patch]: Add unit tests for Serializable ( #25152 )
...
Add a few test cases for serializable (many other test cases already
covered
throguh runnable tests).
2024-08-07 21:01:36 +00:00
Bagatur
df99b832a7
core[patch]: support Field deprecation ( #25004 )
...

2024-08-07 13:57:55 -07:00
ccurme
803eba3163
core[patch]: check for model_fields attribute ( #25108 )
...
`__fields__` raises a warning in pydantic v2
2024-08-07 13:32:56 -07:00
Bagatur
b4c12346cc
core[patch]: Release 0.2.29 ( #25126 )
2024-08-07 09:50:20 -07:00
Erick Friis
dff83cce66
core[patch]: base language model disable_streaming ( #25070 )
...
Co-authored-by: Bagatur <baskaryan@gmail.com >
Co-authored-by: Bagatur <22008038+baskaryan@users.noreply.github.com >
2024-08-07 09:26:21 -07:00
Eugene Yurtsev
28e0958ff4
core[patch]: Relax rate limit unit tests in terms of timing ( #25140 )
...
Relax rate limit unit tests
2024-08-07 14:04:58 +00:00
Eugene Yurtsev
4d28c70000
core[patch]: Sort Config attributes ( #25127 )
...
This PR does an aesthetic sort of the config object attributes. This
will make it a bit easier to go back and forth between pydantic v1 and
pydantic v2 on the 0.3.x branch
2024-08-07 02:53:50 +00:00
Bagatur
70677202c7
core[patch]: Release 0.2.29rc1 ( #25115 )
2024-08-06 21:36:56 +00:00
Bagatur
78403a3746
core[patch], openai[patch]: enable strict tool calling ( #25111 )
...
Introduced
https://openai.com/index/introducing-structured-outputs-in-the-api/
2024-08-06 21:21:06 +00:00
Eugene Yurtsev
d283f452cc
core[minor]: Add support for DocumentIndex in the index api ( #25100 )
...
Support document index in the index api.
2024-08-06 12:30:49 -07:00
William FH
267855b3c1
Set Context in RunnableSequence & RunnableParallel ( #25073 )
2024-08-06 11:10:37 -07:00
Bagatur
2c798622cd
docs: runnable docstring space ( #25106 )
2024-08-06 16:46:50 +00:00
Eugene Yurtsev
293a4a78de
core[patch]: Include dependencies in sys_info ( #25076 )
...
`python -m langchain_core.sys_info`
```bash
System Information
------------------
> OS: Linux
> OS Version: #44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jun 18 14:36:16 UTC 2
> Python Version: 3.11.4 (main, Sep 25 2023, 10:06:23) [GCC 11.4.0]
Package Information
-------------------
> langchain_core: 0.2.28
> langchain: 0.2.8
> langsmith: 0.1.85
> langchain_anthropic: 0.1.20
> langchain_openai: 0.1.20
> langchain_standard_tests: 0.1.1
> langchain_text_splitters: 0.2.2
> langgraph: 0.1.19
Optional packages not installed
-------------------------------
> langserve
Other Dependencies
------------------
> aiohttp: 3.9.5
> anthropic: 0.31.1
> async-timeout: Installed. No version info available.
> defusedxml: 0.7.1
> httpx: 0.27.0
> jsonpatch: 1.33
> numpy: 1.26.4
> openai: 1.39.0
> orjson: 3.10.6
> packaging: 24.1
> pydantic: 2.8.2
> pytest: 7.4.4
> PyYAML: 6.0.1
> requests: 2.32.3
> SQLAlchemy: 2.0.31
> tenacity: 8.5.0
> tiktoken: 0.7.0
> typing-extensions: 4.12.2
```
2024-08-06 09:57:39 -04:00
orkhank
111c7df117
docs: update numbering of items in method docs ( #25093 )
...
Some methods' doc strings have a wrong numbering of items. The numbers
were adjusted accordingly
2024-08-06 09:21:52 -04:00
Bagatur
6eb42c657e
core[patch]: Remove default BaseModel init docstring ( #25009 )
...
Currently a default init docstring gets appended to the class docstring
of every BaseModel inherited object. This removes the default init
docstring.

2024-08-06 01:04:04 +00:00