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
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
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
Matthew Farrellee
f2dcdae467
fix(standard-tests): update function_args to match my_adder_tool param types ( #32689 )
...
**Description:**
https://api.llama.com implements strong type checking, which results in
a false negative.
with type mismatch (expected integer, received string) -
```
$ curl -X POST "https://api.llama.com/compat/v1/chat/completions " \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Llama-3.3-70B-Instruct",
"messages": [
{"role": "user", "content": "What is 1 + 2"},
{"role": "assistant", "content": "", "tool_calls": [{"id": "abc123", "type": "function", "function": {"name": "my_adder_tool", "arguments": "{\"a\": \"1\", \"b\": \"2\"}"}}]},
{"role": "tool", "tool_call_id": "abc123", "content": "{\"result\": 3}"}
],
"tools": [{"type": "function", "function": {"name": "my_adder_tool", "description": "Sum two integers", "parameters": {"properties": {"a": {"type": "integer"}, "b": {"type": "integer"}}, "required": ["a", "b"], "type": "object"}}}]
}'
{"title":"Bad request","detail":"Unexpected param value `a`: \"1\"","status":400}
```
with correct type -
```
$ curl -X POST "https://api.llama.com/compat/v1/chat/completions " \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Llama-3.3-70B-Instruct",
"messages": [
{"role": "user", "content": "What is 1 + 2"},
{"role": "assistant", "content": "", "tool_calls": [{"id": "abc123", "type": "function", "function": {"name": "my_adder_tool", "arguments": "{\"a\": 1, \"b\": 2}"}}]},
{"role": "tool", "tool_call_id": "abc123", "content": "{\"result\": 3}"}
],
"tools": [{"type": "function", "function": {"name": "my_adder_tool", "description": "Sum two integers", "parameters": {"properties": {"a": {"type": "integer"}, "b": {"type": "integer"}}, "required": ["a", "b"], "type": "object"}}}]
}'
{"id":"AhMwBbuaa5payFr_xsOHzxX","model":"Llama-3.3-70B-Instruct","choices":[{"finish_reason":"stop","index":0,"message":{"refusal":"","role":"assistant","content":"The result of 1 + 2 is 3.","id":"AhMwBbuaa5payFr_xsOHzxX"},"logprobs":null}],"created":1756167668,"object":"chat.completions","usage":{"prompt_tokens":248,"completion_tokens":17,"total_tokens":265}}
```
2025-08-26 15:50:47 -04:00
ccurme
2bbd034f85
fix(core): (v1) invoke callback prior to yielding final chunk ( #32695 )
2025-08-26 14:58:43 -04:00
Chester Curme
659d282d1d
standard tests: update multimodal tests
2025-08-26 13:55:44 -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 )
langchain-core==0.3.75
2025-08-26 11:12:03 -04:00
ccurme
008043977d
release(openai): 0.3.32 ( #32691 )
langchain-openai==0.3.32
2025-08-26 14:05:40 +00:00
Jacob Lee
1459d4f4ce
fix(openai): Always add raw response object to OpenAI client errors for invoke ( #32655 )
2025-08-26 09:59:25 -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
ccurme
7e9ae5df60
feat(openai): (v1) delete bind_functions and remove tool_calls from additional_kwargs ( #32669 )
2025-08-25 14:22:31 -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
Shahroz Ahmad
1819c73d10
docs(docs): update Docker to ClickHouse 25.7 with vector_similarity support ( #32659 )
...
- **Description:** Updated Docker command to use ClickHouse 25.7 (has
`vector_similarity` index support). Added `CLICKHOUSE_SKIP_USER_SETUP=1`
env param to [bypass default user
setup](https://clickhouse.com/docs/install/docker#managing-default-user )
and allow external network access. There was also a bug where if you try
to access results using `similarity_search_with_relevance_scores`, they
need to unpacked first.
- **Issue:** Fixes #32094 if someone following tutorial with default
Clickhouse configurations.
2025-08-25 09:59:28 -04:00
Kim
8171403b4a
docs(docs): rebranding of Azure AI Studio to Azure AI Foundry ( #32658 )
...
# Description
Updated documentation to reflect Microsoft’s rebranding of Azure AI
Studio to Azure AI Foundry. This ensures consistency with current Azure
terminology across the docs.
# Issue
N/A
# Dependencies
None
2025-08-25 09:58:31 -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
Mason Daugherty
2d0713c2fc
fix(infra): ollama CI
langchain-ollama==0.3.7
2025-08-22 16:40:03 -04:00
Mason Daugherty
8060b371bb
fix(infra): ollama CI
2025-08-22 16:37:05 -04:00
ccurme
26833f2ebc
feat(anthropic): v1 support ( #32623 )
2025-08-22 16:06:53 -04:00
Mason Daugherty
7851f66503
release(ollama): 0.3.7 ( #32651 )
2025-08-22 15:18:40 -04:00
Mason Daugherty
af3b88f58d
feat(ollama): update reasoning type to support string values for custom intensity levels (e.g. gpt-oss) ( #32650 )
2025-08-22 15:11:32 -04:00
itaismith
1eb45d17fb
feat(chroma): Add support for collection forking ( #32627 )
2025-08-21 17:57:55 -04:00
ccurme
8545d4731e
release(openai): 0.3.31 ( #32646 )
langchain-openai==0.3.31
2025-08-21 16:50:27 -04:00
Alex Naidis
21f7a9a9e5
fix(openai): allow temperature parameter for gpt-5-chat models ( #32624 )
2025-08-21 16:40:10 -04:00
sa411022
61bc1bf9cc
fix(openai): construct responses api input ( #32557 )
2025-08-21 15:56:29 -04:00
Shahrukh Shaik
4ba222148d
fix(openai): Chat Message Annotations defaults to [ ] if not list or None ( #32614 )
2025-08-21 15:30:12 -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
Christophe Bornet
b825f85bf2
fix(standard-tests): fix BaseStoreAsyncTests.test_set_values_is_idempotent ( #32638 )
...
The async version of the test should use the `ayield_keys` method
instead of `yield_keys`.
Otherwise tools such as `blockbuster` may trigger on a blocking call.
2025-08-21 10:07:46 -04:00
Mohammed Mohtasim .M.S
b5c44406eb
docs(docs): fix typos in table in "How to load PDFs" documentation ( #32635 )
...
**Description:**
Fixed corrupted text in the code cell output of the documentation
notebook. The code cell itself was correct, but the saved output
contained garbage text.
**Issue:**
The saved output in the documentation notebook contained garbage/typo
text in the table name.
**Dependencies:**
None
2025-08-21 10:06:45 -04:00
Emmanuel Leroy
2ec63ca7da
docs: migration to langchain_oci ( #32619 )
...
Doc update. I missed a couple mentions of the old package.
2025-08-21 10:03:44 -04:00
Christophe Bornet
f896bcdb1d
chore(langchain): add mypy pydantic plugin ( #32610 )
2025-08-19 16:59:59 -04:00
Christophe Bornet
73a7de63aa
chore(text-splitters): add mypy pydantic plugin ( #32611 )
2025-08-19 16:58:12 -04:00
Emmanuel Leroy
cd5f3ee364
docs: migrate from community package to langchain-oci ( #32608 )
...
Migrate package from langchain_community to langchain_oci
2025-08-19 16:57:37 -04:00
ccurme
0444e260be
refactor: convert message content inside BaseChatModel ( #32606 )
2025-08-19 12:25:44 -04:00
Chester Curme
e41693a23e
Merge branch 'wip-v1.0' into cc/1.0/standard_content
2025-08-19 12:11:41 -04:00
ccurme
dbc5a3b718
fix(anthropic): update cassette for streaming benchmark ( #32609 )
2025-08-19 11:18:36 -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