Mason Daugherty
8f3674cae3
Merge branch 'cc/1.0/standard_content' into mdrxy/call-version
2025-08-26 20:26:57 -04:00
Mason Daugherty
32941d6ec5
.
2025-08-26 20:25:09 -04:00
Mason Daugherty
8a14148336
.
2025-08-26 19:55:32 -04:00
ccurme
2d450d4d3b
fix(core): (v1) finish test ( #32701 )
2025-08-26 18:03:47 -04:00
Mason Daugherty
e49156e63f
chore: rfc to use .text instead of .text() ( #32699 )
2025-08-26 16:54:04 -04:00
Mason Daugherty
04bcccf2fe
Merge branch 'cc/1.0/standard_content' of github.com:langchain-ai/langchain into mdrxy/call-version
2025-08-26 16:43:15 -04:00
Mason Daugherty
18d1cf236e
.
2025-08-26 16:42:58 -04:00
ccurme
447db13473
feat(openai): (v1) support content_blocks on legacy v0 responses API format ( #32700 )
2025-08-26 16:33:59 -04:00
Mason Daugherty
fa5d49f7b6
Merge branch 'cc/1.0/standard_content' of github.com:langchain-ai/langchain into mdrxy/call-version
2025-08-26 16:04:21 -04:00
Mason Daugherty
395515762e
Merge branch 'wip-v1.0' into cc/1.0/standard_content
2025-08-26 15:52:11 -04:00
Mason Daugherty
a2322f68ba
Merge branch 'master' into wip-v1.0
2025-08-26 15:51:57 -04:00
Mason Daugherty
3d08b6bd11
chore: adress pytest-asyncio deprecation warnings + other nits ( #32696 )
...
amongst some linting imcompatible rules
2025-08-26 15:51:38 -04:00
ccurme
2bbd034f85
fix(core): (v1) invoke callback prior to yielding final chunk ( #32695 )
2025-08-26 14:58:43 -04:00
Mason Daugherty
dc5ac6695c
.
2025-08-26 14:43:31 -04:00
Mason Daugherty
620779f61b
.
2025-08-26 14:38:09 -04:00
Mason Daugherty
720d08e932
.
2025-08-26 14:24:32 -04:00
Mason Daugherty
5222d51fb0
.
2025-08-26 14:22:11 -04:00
Mason Daugherty
72b2436b49
ss
2025-08-26 14:12:04 -04:00
Mason Daugherty
19d3a73646
.
2025-08-26 14:11:01 -04:00
Mason Daugherty
df3db473b8
Merge branch 'cc/1.0/standard_content' of github.com:langchain-ai/langchain into mdrxy/call-version
2025-08-26 13:55:01 -04:00
Mason Daugherty
706ea1b757
.
2025-08-26 13:54:22 -04:00
Mason Daugherty
f1b676c0ee
.
2025-08-26 13:54:14 -04:00
Mason Daugherty
518f4dfccb
.
2025-08-26 13:54:04 -04:00
ccurme
c63c3ea290
feat(core): (v1) add sentinel value to output_version ( #32692 )
2025-08-26 13:29:20 -04:00
ccurme
dbebe2ca97
release(core): 0.3.75 ( #32693 )
2025-08-26 11:12:03 -04:00
ccurme
fe9599f118
feat(core): parse tool_call_chunks in content in aggregated stream ( #32664 )
2025-08-25 15:38:22 -04:00
ccurme
97bd2cf938
fix(core): (v1) fix PDF input translation for openai chat completions ( #32673 )
2025-08-25 15:15:03 -04:00
Mason Daugherty
5ef18e8f5b
feat(core): add .text property, introduce TextAccessor for backward compatibility with text access methods ( #32672 )
2025-08-25 14:51:40 -04:00
ccurme
f33480c2cf
feat(core): trace response body on error ( #32653 )
2025-08-25 14:28:19 -04:00
Mason Daugherty
4e0fd330aa
fix: update content_blocks property docstring
2025-08-25 14:10:21 -04:00
Mason Daugherty
1c55536ec1
chore(core): add note about backward compatibility for tool_calls in additional_kwargs in JsonOutputKeyToolsParser
2025-08-25 10:30:41 -04:00
Maitrey Talware
622337a297
docs(docs): fixed typos in documentations ( #32661 )
...
Minor typo fixes. (Not linked to current open issues)
2025-08-25 10:02:53 -04:00
Chester Curme
2d9fe703cb
Merge branch 'wip-v1.0' into cc/1.0/standard_content
2025-08-25 09:56:39 -04:00
Chester Curme
7a108618ae
Merge branch 'master' into wip-v1.0
2025-08-25 09:39:39 -04:00
ccurme
62d746e630
feat(core): (v1) restore separate type for AIMessage.tool_calls ( #32668 )
2025-08-25 09:37:41 -04:00
ccurme
26833f2ebc
feat(anthropic): v1 support ( #32623 )
2025-08-22 16:06:53 -04:00
Mason Daugherty
5bcf7d006f
refactor(core): data block handling, normalize message formats, strip IDs from messages ( #32572 )
...
> [!WARNING]
> **BREAKING:** Simplifies message normalization to single consistent
path, requiring partner package updates
**Key Changes:**
- Consistent multimodal handling:
- OpenAI `image_url` blocks pass through unchanged (broad compatibility)
- OpenAI `input_audio` and `file` blocks convert to v1 standard
equivalents
- Legacy v0 multimodal blocks convert to v1 standard
- Everything else passes through unchanged
- Partner packages must update content block parsing logic
**Partner Updates**
`output_version` affects how messages are serialized into `.content`.
`_normalize_messages()` will now upgrade v0 content to v1, so, all
partners now receive v1 format input regardless of `output_version`.
Migration:
- Partner packages must update to handle v1 input content blocks
- `output_version` still controls serialization format of responses
(unchanged)
---------
Co-authored-by: Chester Curme <chester.curme@gmail.com >
2025-08-21 14:48:23 -04:00
Chester Curme
3c8edbecb2
Merge branch 'wip-v1.0' into cc/1.0/standard_content
...
# Conflicts:
# libs/core/langchain_core/messages/ai.py
2025-08-21 14:12:29 -04:00
ccurme
6f058e7b9b
fix(core): (v1) update BaseChatModel return type to AIMessage ( #32626 )
2025-08-21 14:02:24 -04:00
ccurme
0444e260be
refactor: convert message content inside BaseChatModel ( #32606 )
2025-08-19 12:25:44 -04:00
Mason Daugherty
43b9d3d904
feat(core): implement dynamic translator registration for model providers ( #32602 )
...
Extensible registry system for translating AI message content blocks
from various model providers. Refactors the way provider-specific
content is handled, moving from hardcoded logic to a plugin-like
architecture.
2025-08-19 10:08:56 -04:00
Christophe Bornet
02d6b9106b
chore(core): add mypy pydantic plugin ( #32604 )
...
This helps to remove a bunch of mypy false positives.
2025-08-19 09:39:53 -04:00
William FH
b470c79f1d
refactor(core): Use duck typing for _StreamingCallbackHandler ( #32535 )
...
It's used in langgraph and maybe elsewhere, so would be preferable if it
could just be duck-typed
2025-08-19 05:41:07 -07:00
Mason Daugherty
0e6c172893
refactor(core): prefixes, again ( #32599 )
...
Put in `core.utils` this time to prevent other circular import issues
present in the `normalize()` rfc:
`base` imports `content`
`content` imports `ensure_id()` from `base`
2025-08-18 17:24:57 -04:00
Mason Daugherty
8ee0cbba3c
refactor(core): prefixes ( #32597 )
...
re: #32589 cc: @ccurme
- Rename namespace: `messages.content_blocks` -> `messages.content`
- Prefixes and ID logic are now in `messages.common` instead of
`AIMessage` since the logic is shared between messages and message
content. Did this instead of `utils` due to circular import problems
that were hairy
2025-08-18 16:33:12 -04:00
ccurme
4790c7265a
feat(core): lazy-load standard content ( #32570 )
2025-08-18 10:30:49 -04:00
ccurme
aca7c1fe6a
fix(core): temporarily fix tests ( #32589 )
2025-08-18 09:45:06 -04:00
Mason Daugherty
2375c3a4d0
add note
2025-08-15 16:39:36 -04:00
Mason Daugherty
0199b56bda
rfc test_utils to make clearer what was existing before and after, and add comments
2025-08-15 16:37:39 -04:00
Mason Daugherty
00345c4de9
tests: add more data content block tests
2025-08-15 16:28:46 -04:00