Mason Daugherty
f94108b4bc
fix: links ( #33691 )
...
* X-ref to new docs
* Formatting updates
2025-10-27 19:04:29 -04:00
ccurme
60a0ff8217
fix(standard-tests): fix tool description in agent loop test ( #33690 )
2025-10-27 15:02:13 -04:00
Mason Daugherty
e731ba1e47
style: more refs work ( #33616 )
2025-10-20 18:40:19 -04:00
Mason Daugherty
1d2273597a
docs: more fixes for refs ( #33554 )
2025-10-16 22:54:16 -04:00
Mason Daugherty
26e0a00c4c
style: more work for refs ( #33508 )
...
Largely:
- Remove explicit `"Default is x"` since new refs show default inferred
from sig
- Inline code (useful for eventual parsing)
- Fix code block rendering (indentations)
2025-10-15 18:46:55 -04:00
ccurme
89b7933ef1
feat(standard-tests): parametrize tool calling test ( #33496 )
2025-10-15 14:43:09 +00:00
ccurme
c1b816cb7e
fix(fireworks): parse standard blocks in input ( #33426 )
2025-10-10 16:18:37 -04:00
Mason Daugherty
291a9fcea1
style: llm -> model ( #33423 )
2025-10-10 13:19:13 -04:00
Mason Daugherty
ed2ee4e8cc
style: fix tables, capitalization ( #33417 )
2025-10-10 11:09:59 -04:00
Mason Daugherty
6fc21afbc9
style: .. code-block:: admonition translations ( #33400 )
...
biiiiiiiiiiiiiiiigggggggg pass
2025-10-09 16:52:58 -04:00
ccurme
50445d4a27
fix(standard-tests): update Anthropic inputs test ( #33391 )
...
Since 10/7 Anthropic will raise BadRequestError if given an invalid
thinking signature.
2025-10-09 14:13:26 -04:00
Mason Daugherty
d8a680ee57
style: address Sphinx double-backtick snippet syntax ( #33389 )
2025-10-09 13:35:51 -04:00
Mason Daugherty
3576e690fa
chore: update Sphinx links to markdown ( #33386 )
2025-10-09 11:54:14 -04:00
Mason Daugherty
b6132fc23e
style: remove more Optional syntax ( #33371 )
2025-10-08 23:28:43 -04:00
Mason Daugherty
d13823043d
style: monorepo pass for refs ( #33359 )
...
* Delete some double backticks previously used by Sphinx (not done
everywhere yet)
* Fix some code blocks / dropdowns
Ignoring CLI CI for now
2025-10-08 18:41:39 -04:00
ccurme
d0f5a1cc96
fix(standard-tests,openai): minor fix for Responses API tests ( #33315 )
...
Following https://github.com/langchain-ai/langchain/pull/33301
2025-10-06 16:46:41 -04:00
ccurme
426b8e2e6a
feat(standard-tests): enable parametrization of output_version ( #33301 )
2025-10-06 14:37:33 -04:00
Mason Daugherty
5a016de53f
chore: delete deprecated items ( #33192 )
...
Removed:
- `libs/core/langchain_core/chat_history.py`: `add_user_message` and
`add_ai_message` in favor of `add_messages` and `aadd_messages`
- `libs/core/langchain_core/language_models/base.py`: `predict`,
`predict_messages`, and async versions in favor of `invoke`. removed
`_all_required_field_names` since it was a wrapper on
`get_pydantic_field_names`
- `libs/core/langchain_core/language_models/chat_models.py`:
`callback_manager` param in favor of `callbacks`. `__call__` and
`call_as_llm` method in favor of `invoke`
- `libs/core/langchain_core/language_models/llms.py`: `callback_manager`
param in favor of `callbacks`. `__call__`, `predict`, `apredict`, and
`apredict_messages` methods in favor of `invoke`
- `libs/core/langchain_core/prompts/chat.py`: `from_role_strings` and
`from_strings` in favor of `from_messages`
- `libs/core/langchain_core/prompts/pipeline.py`: removed
`PipelinePromptTemplate`
- `libs/core/langchain_core/prompts/prompt.py`: `input_variables` param
on `from_file` as it wasn't used
- `libs/core/langchain_core/tools/base.py`: `callback_manager` param in
favor of `callbacks`
- `libs/core/langchain_core/tracers/context.py`: `tracing_enabled` in
favor of `tracing_enabled_v2`
- `libs/core/langchain_core/tracers/langchain_v1.py`: entire module
- `libs/core/langchain_core/utils/loading.py`: entire module,
`try_load_from_hub`
- `libs/core/langchain_core/vectorstores/in_memory.py`: `upsert` in
favor of `add_documents`
- `libs/standard-tests/langchain_tests/integration_tests/chat_models.py`
and `libs/standard-tests/langchain_tests/unit_tests/chat_models.py`:
`tool_choice_value` as models should accept `tool_choice="any"`
- `langchain` will consequently no longer expose these items if it was
previously
---------
Co-authored-by: Mohammad Mohtashim <45242107+keenborder786@users.noreply.github.com >
Co-authored-by: Caspar Broekhuizen <caspar@langchain.dev >
Co-authored-by: ccurme <chester.curme@gmail.com >
Co-authored-by: Christophe Bornet <cbornet@hotmail.com >
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
Co-authored-by: Sadra Barikbin <sadraqazvin1@yahoo.com >
Co-authored-by: Vadym Barda <vadim.barda@gmail.com >
2025-10-03 03:33:24 +00:00
Mason Daugherty
ae5b105d11
docs: v1 docs updates ( #33173 )
...
Co-authored-by: Mohammad Mohtashim <45242107+keenborder786@users.noreply.github.com >
Co-authored-by: Caspar Broekhuizen <caspar@langchain.dev >
Co-authored-by: ccurme <chester.curme@gmail.com >
Co-authored-by: Christophe Bornet <cbornet@hotmail.com >
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
Co-authored-by: Sadra Barikbin <sadraqazvin1@yahoo.com >
Co-authored-by: Vadym Barda <vadim.barda@gmail.com >
2025-10-02 18:46:26 -04:00
Mason Daugherty
9c9b80c70a
docs(standard-tests): add clarity to docstrings ( #33218 )
2025-10-02 16:09:34 -04:00
Mason Daugherty
eaa6dcce9e
release: v1.0.0 ( #32567 )
...
Co-authored-by: Mohammad Mohtashim <45242107+keenborder786@users.noreply.github.com >
Co-authored-by: Caspar Broekhuizen <caspar@langchain.dev >
Co-authored-by: ccurme <chester.curme@gmail.com >
Co-authored-by: Christophe Bornet <cbornet@hotmail.com >
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
Co-authored-by: Sadra Barikbin <sadraqazvin1@yahoo.com >
Co-authored-by: Vadym Barda <vadim.barda@gmail.com >
2025-10-02 10:49:42 -04:00
ccurme
002d623f2d
feat: (core, standard-tests) support PDF inputs in ToolMessages ( #33183 )
2025-10-01 10:16:16 -04:00
Mason Daugherty
5bea28393d
docs: standardize .. code-block directive usage ( #33122 )
...
and fix typos
2025-09-25 16:49:56 -04:00
Christophe Bornet
ee268db1c5
feat(standard-tests): add a property to skip relevant tests if the vector store doesn't support get_by_ids() ( #32633 )
2025-09-09 11:37:23 -04:00
Mason Daugherty
35e9d36b0e
fix(standard-tests): ensure non-negative token counts in usage metadata assertions ( #32593 )
2025-09-08 16:49:26 -04:00
Christophe Bornet
05d14775f2
chore(standard-tests): enable ruff docstring-code-format ( #32852 )
2025-09-08 16:39:53 -04:00
Stefano Lottini
390606c155
fix(standard-tests): standard vectorstore tests accept out-of-order get_by_ids ( #32821 )
...
- **Description:** The vectorstore standard-test mistakenly assumes that
the store's `get_by_ids` respects the order of the provided `ids`. This
is not the case (as the base class docstring states). This PR fixes
those tests that would fail otherwise (see issue #32820 for details,
repro and all). Fixes #32820
- **Issue:** Fixes #32820
- **Dependencies:** none
Co-authored-by: Stefano Lottini <stefano.lottini@ibm.com >
2025-09-08 14:22:14 -04:00
Christophe Bornet
c672590f42
chore(standard-tests): select ALL rules with exclusions ( #31937 )
...
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-09-08 14:57:47 +00:00
Christophe Bornet
323729915a
chore(standard-tests): add mypy strict checking ( #32384 )
...
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-09-08 10:50: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
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
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
Christophe Bornet
09a616fe85
chore(standard-tests): add ruff rules D ( #32347 )
...
See https://docs.astral.sh/ruff/rules/#pydocstyle-d
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-08-11 22:26:11 +00:00
Mason Daugherty
ee4c2510eb
feat: port various nit changes from wip-v0.4 ( #32506 )
...
Lots of work that wasn't directly related to core
improvements/messages/testing functionality
2025-08-11 15:09:08 -04:00
Mason Daugherty
e5d0a4e4d6
feat(standard-tests): formatting ( #32504 )
...
Not touching `pyproject.toml` or chat model related items as to not
interfere with work in wip0.4 branch
2025-08-11 13:30:30 -04:00
Christophe Bornet
a647073b26
feat(standard-tests): add a property to set the name of the parameter for the number of results to return ( #32443 )
...
Not all retrievers use `k` as param name to set the number of results to
return. Even in LangChain itself. Eg:
bc4251b9e0/libs/core/langchain_core/indexing/in_memory.py (L31)
So it's helpful to be able to change it for a given retriever.
The change also adds hints to disable the tests if the retriever doesn't
support setting the param in the constructor or in the invoke method
(for instance, the `InMemoryDocumentIndex` in the link supports in the
constructor but not in the invoke method).
This change is backward compatible.
---------
Co-authored-by: Mason Daugherty <mason@langchain.dev >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-07 11:22:24 -04:00
Mason Daugherty
12c0e9b7d8
fix(docs): local API reference documentation build ( #32271 )
...
ensure all relevant packages are correctly processed - cli wasn't
included, also fix ValueError
2025-07-28 00:50:20 -04:00
Mason Daugherty
96cbd90cba
fix: formatting issues in docstrings ( #32265 )
...
Ensures proper reStructuredText formatting by adding the required blank
line before closing docstring quotes, which resolves the "Block quote
ends without a blank line; unexpected unindent" warning.
2025-07-27 23:37:47 -04:00
niceg
0d6f915442
fix: LLM mimicking Unicode responses due to forced Unicode conversion of non-ASCII characters. ( #32222 )
...
fix: Fix LLM mimicking Unicode responses due to forced Unicode
conversion of non-ASCII characters.
- **Description:** This PR fixes an issue where the LLM would mimic
Unicode responses due to forced Unicode conversion of non-ASCII
characters in tool calls. The fix involves disabling the `ensure_ascii`
flag in `json.dumps()` when converting tool calls to OpenAI format.
- **Issue:** Fixes ↓↓↓
input:
```json
{'role': 'assistant', 'tool_calls': [{'type': 'function', 'id': 'call_nv9trcehdpihr21zj9po19vq', 'function': {'name': 'create_customer', 'arguments': '{"customer_name": "你好啊集团"}'}}]}
```
output:
```json
{'role': 'assistant', 'tool_calls': [{'type': 'function', 'id': 'call_nv9trcehdpihr21zj9po19vq', 'function': {'name': 'create_customer', 'arguments': '{"customer_name": "\\u4f60\\u597d\\u554a\\u96c6\\u56e2"}'}}]}
```
then:
llm will mimic outputting unicode. Unicode's vast number of symbols can
lengthen LLM responses, leading to slower performance.
<img width="686" height="277" alt="image"
src="https://github.com/user-attachments/assets/28f3b007-3964-4455-bee2-68f86ac1906d "
/>
---------
Co-authored-by: Mason Daugherty <github@mdrxy.com >
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-07-24 17:01:31 -04:00
Mason Daugherty
d53ebf367e
fix(docs): capitalization, codeblock formatting, and hyperlinks, note blocks ( #32235 )
...
widespread cleanup attempt
2025-07-24 16:55:04 -04:00
Christophe Bornet
9368b92b2c
standard-tests: Ruff autofixes ( #31862 )
...
Auto-fixes from ruff with rule ALL
2025-07-07 10:27:39 -04:00
Christophe Bornet
1276bf3e1d
standard-tests: Add ruff rules PGH ( #31869 )
...
See https://docs.astral.sh/ruff/rules/#pygrep-hooks-pgh
2025-07-07 10:07:39 -04:00
Christophe Bornet
cd7dce687a
standard-tests: Add ruff rule UP (pyupgrade) ( #31842 )
...
See https://docs.astral.sh/ruff/rules/#pyupgrade-up
All auto-fixed
2025-07-03 10:12:31 -04:00
Mason Daugherty
6d71b6b6ee
standard-tests: refactoring and fixes ( #31703 )
...
- `libs/core/langchain_core/messages/base.py`: add model name to
examples [per
docs](https://python.langchain.com/api_reference/standard_tests/integration_tests/langchain_tests.integration_tests.chat_models.ChatModelIntegrationTests.html#langchain_tests.integration_tests.chat_models.ChatModelIntegrationTests.test_usage_metadata )
("0.3.17: Additionally check for the presence of model_name in the
response metadata, which is needed for usage tracking in callback
handlers")
- `libs/core/langchain_core/utils/function_calling.py`: correct typo
-
`libs/standard-tests/langchain_tests/integration_tests/chat_models.py`:
- `magic_function(input)` -> `magic_function(_input)` to prevent warning
about redefining built in `input`
- relocate a few tests for better grouping and narrative flow
- suppress some type hint warnings following suit from similar tests
- fix a few more typos
- validate not only that `model_name` is defined, but that it is not
empty (test_usage_metadata)
2025-06-23 23:22:31 +00:00
Mason Daugherty
a79998800c
fix: correct typo in docstring for three_values fixture ( #31638 )
...
Docstring typo fix in `base_store.py`
2025-06-17 16:51:07 -04:00
ccurme
9c639035c0
standard-tests: add cache_control to Anthropic inputs test ( #31516 )
2025-06-06 10:00:43 -04:00
ccurme
d3be4a0c56
infra: remove use of --vcr-record=none ( #31452 )
...
This option is specific to `pytest-vcr`. `pytest-recording` runs in this
mode by default.
2025-06-01 10:49:59 -04:00
ccurme
3db1aa0ba6
standard-tests: migrate to pytest-recording ( #31425 )
...
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
2025-05-31 15:21:15 -04:00
Sydney Runkle
1917dd1ccd
benchmarks: always run (not conditional on changes) ( #31409 )
2025-05-29 11:45:57 -04:00
ccurme
49eeb0f3c3
standard-tests: add benchmarks ( #31302 )
...
Co-authored-by: Sydney Runkle <sydneymarierunkle@gmail.com >
2025-05-29 15:21:37 +00:00