Bagatur
e4d3ccf62f
json mode standard test ( #25497 )
...
Co-authored-by: Chester Curme <chester.curme@gmail.com>
2024-12-17 18:47:34 +00:00
ccurme
bc4dc7f4b1
ollama[patch]: permit streaming for tool calls ( #28654 )
...
Resolves https://github.com/langchain-ai/langchain/issues/28543
Ollama recently
[released](https://github.com/ollama/ollama/releases/tag/v0.4.6 ) support
for streaming tool calls. Previously we would override the `stream`
parameter if tools were passed in.
Covered in standard tests here:
c1d348e95d/libs/standard-tests/langchain_tests/integration_tests/chat_models.py (L893-L897)
Before, the test generates one message chunk:
```python
[
AIMessageChunk(
content='',
additional_kwargs={},
response_metadata={
'model': 'llama3.1',
'created_at': '2024-12-10T17:49:04.468487Z',
'done': True,
'done_reason': 'stop',
'total_duration': 525471208,
'load_duration': 19701000,
'prompt_eval_count': 170,
'prompt_eval_duration': 31000000,
'eval_count': 17,
'eval_duration': 473000000,
'message': Message(
role='assistant',
content='',
images=None,
tool_calls=[
ToolCall(
function=Function(name='magic_function', arguments={'input': 3})
)
]
)
},
id='run-552bbe0f-8fb2-4105-ada1-fa38c1db444d',
tool_calls=[
{
'name': 'magic_function',
'args': {'input': 3},
'id': 'b0a4dc07-7d7a-487b-bd7b-ad062c2363a2',
'type': 'tool_call',
},
],
usage_metadata={
'input_tokens': 170, 'output_tokens': 17, 'total_tokens': 187
},
tool_call_chunks=[
{
'name': 'magic_function',
'args': '{"input": 3}',
'id': 'b0a4dc07-7d7a-487b-bd7b-ad062c2363a2',
'index': None,
'type': 'tool_call_chunk',
}
]
)
]
```
After, it generates two (tool call in one, response metadata in
another):
```python
[
AIMessageChunk(
content='',
additional_kwargs={},
response_metadata={},
id='run-9a3f0860-baa1-4bae-9562-13a61702de70',
tool_calls=[
{
'name': 'magic_function',
'args': {'input': 3},
'id': '5bbaee2d-c335-4709-8d67-0783c74bd2e0',
'type': 'tool_call',
},
],
tool_call_chunks=[
{
'name': 'magic_function',
'args': '{"input": 3}',
'id': '5bbaee2d-c335-4709-8d67-0783c74bd2e0',
'index': None,
'type': 'tool_call_chunk',
},
],
),
AIMessageChunk(
content='',
additional_kwargs={},
response_metadata={
'model': 'llama3.1',
'created_at': '2024-12-10T17:46:43.278436Z',
'done': True,
'done_reason': 'stop',
'total_duration': 514282750,
'load_duration': 16894458,
'prompt_eval_count': 170,
'prompt_eval_duration': 31000000,
'eval_count': 17,
'eval_duration': 464000000,
'message': Message(
role='assistant', content='', images=None, tool_calls=None
),
},
id='run-9a3f0860-baa1-4bae-9562-13a61702de70',
usage_metadata={
'input_tokens': 170, 'output_tokens': 17, 'total_tokens': 187
}
),
]
```
2024-12-10 12:54:37 -05:00
ccurme
5c6e2cbcda
ollama[patch]: support structured output ( #28629 )
...
- Bump minimum version of `ollama` to 0.4.4 (which also addresses
https://github.com/langchain-ai/langchain/issues/28607 ).
- Support recently-released [structured
output](https://ollama.com/blog/structured-outputs ) feature. This can be
accessed by calling `.with_structured_output` with
`method="json_schema"` (choice of name
[mirrors](https://python.langchain.com/api_reference/openai/chat_models/langchain_openai.chat_models.base.ChatOpenAI.html#langchain_openai.chat_models.base.ChatOpenAI.with_structured_output )
what we have for OpenAI's structured output feature).
`ChatOllama` previously implemented `.with_structured_output` via the
[base
implementation](ec9b41431e/libs/core/langchain_core/language_models/chat_models.py (L1117)
).
2024-12-10 10:36:00 -05:00
ccurme
28487597b2
ollama[patch]: release 0.2.1 ( #28458 )
...
We inadvertently skipped 0.2.1, so release pipeline
[failed](https://github.com/langchain-ai/langchain/actions/runs/12126964367/job/33810204551 ).
2024-12-02 21:17:51 +00:00
ccurme
88d6d02b59
ollama[patch]: release 0.2.2 ( #28456 )
2024-12-02 14:57:30 -05:00
TheDannyG
607c60a594
partners/ollama: fix tool calling with nested schemas ( #28225 )
...
## Description
This PR addresses the following:
**Fixes Issue #25343:**
- Adds additional logic to parse shallowly nested JSON-encoded strings
in tool call arguments, allowing for proper parsing of responses like
that of Llama3.1 and 3.2 with nested schemas.
**Adds Integration Test for Fix:**
- Adds a Ollama specific integration test to ensure the issue is
resolved and to prevent regressions in the future.
**Fixes Failing Integration Tests:**
- Fixes failing integration tests (even prior to changes) caused by
`llama3-groq-tool-use` model. Previously,
tests`test_structured_output_async` and
`test_structured_output_optional_param` failed due to the model not
issuing a tool call in the response. Resolved by switching to
`llama3.1`.
## Issue
Fixes #25343 .
## Dependencies
No dependencies.
____
Done in collaboration with @ishaan-upadhyay @mirajismail @ZackSteine.
2024-11-27 10:32:02 -05:00
ccurme
a1c90794e1
ollama[patch]: bump to 0.4.1 in lock file ( #28365 )
2024-11-26 18:19:31 +00:00
ccurme
74d9d2cba1
ollama[patch]: support ollama 0.4 ( #28364 )
...
v0.4 of the Python SDK is already installed via the lock file in CI, but
our current implementation is not compatible with it.
This also addresses an issue introduced in
https://github.com/langchain-ai/langchain/pull/28299 . @RyanMagnuson
would you mind explaining the motivation for that change? From what I
can tell the Ollama SDK [does not support
kwargs](6c44bb2729/ollama/_client.py (L286)
).
Previously, unsupported kwargs were ignored, but they currently raise
`TypeError`.
Some of LangChain's standard test suite expects `tool_choice` to be
supported, so here we catch it in `bind_tools` so it is ignored and not
passed through to the client.
2024-11-26 12:45:59 -05:00
Erick Friis
aa7fa80e1e
partners/ollama: release 0.2.2rc1 ( #28300 )
2024-11-22 22:25:05 +00:00
Erick Friis
7277794a59
ollama: include kwargs in requests ( #28299 )
...
courtesy of @ryanmagnuson
2024-11-22 14:15:42 -08:00
Erick Friis
0dbaf05bb7
standard-tests: rename langchain_standard_tests to langchain_tests, release 0.3.2 ( #28203 )
2024-11-18 19:10:39 -08:00
Erick Friis
6d2004ee7d
multiple: langchain-standard-tests -> langchain-tests ( #28139 )
2024-11-15 11:32:04 -08:00
Elham Badri
d696728278
partners/ollama: Enabled Token Level Streaming when Using Bind Tools for ChatOllama ( #27689 )
...
**Description:** The issue concerns the unexpected behavior observed
using the bind_tools method in LangChain's ChatOllama. When tools are
not bound, the llm.stream() method works as expected, returning
incremental chunks of content, which is crucial for real-time
applications such as conversational agents and live feedback systems.
However, when bind_tools([]) is used, the streaming behavior changes,
causing the output to be delivered in full chunks rather than
incrementally. This change negatively impacts the user experience by
breaking the real-time nature of the streaming mechanism.
**Issue:** #26971
---------
Co-authored-by: 4meyDam1e <amey.damle@mail.utoronto.ca>
Co-authored-by: Chester Curme <chester.curme@gmail.com>
2024-11-15 11:36:27 -05:00
Bagatur
06420de2e7
integrations[patch]: bump core to 0.3.15 ( #27805 )
2024-10-31 11:27:05 -07:00
JiaranI
3952ee31b8
ollama: add pydocstyle linting for ollama ( #27686 )
...
Description: add lint docstrings for ollama module
Issue: the issue https://github.com/langchain-ai/langchain/issues/23188
@baskaryan
test: ruff check passed.
<img width="311" alt="e94c68ffa93dd518297a95a93de5217"
src="https://github.com/user-attachments/assets/e96bf721-e0e3-44de-a50e-206603de398e ">
Co-authored-by: Erick Friis <erick@langchain.dev>
2024-10-31 03:06:55 +00:00
Erick Friis
537f6924dc
partners/ollama: release 0.2.0 ( #26468 )
2024-09-13 15:48:48 -07:00
Erick Friis
c2a3021bb0
multiple: pydantic 2 compatibility, v0.3 ( #26443 )
...
Signed-off-by: ChengZi <chen.zhang@zilliz.com>
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
Co-authored-by: Bagatur <22008038+baskaryan@users.noreply.github.com>
Co-authored-by: Dan O'Donovan <dan.odonovan@gmail.com>
Co-authored-by: Tom Daniel Grande <tomdgrande@gmail.com>
Co-authored-by: Grande <Tom.Daniel.Grande@statsbygg.no>
Co-authored-by: Bagatur <baskaryan@gmail.com>
Co-authored-by: ccurme <chester.curme@gmail.com>
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
Co-authored-by: Tomaz Bratanic <bratanic.tomaz@gmail.com>
Co-authored-by: ZhangShenao <15201440436@163.com>
Co-authored-by: Friso H. Kingma <fhkingma@gmail.com>
Co-authored-by: ChengZi <chen.zhang@zilliz.com>
Co-authored-by: Nuno Campos <nuno@langchain.dev>
Co-authored-by: Morgante Pell <morgantep@google.com>
2024-09-13 14:38:45 -07:00
Marcelo Machado
9bd4f1dfa8
docs: small improvement ChatOllama setup description ( #26043 )
...
Small improvement on ChatOllama description
---------
Co-authored-by: Marcelo Machado <mmachado@ibm.com>
Co-authored-by: Erick Friis <erick@langchain.dev>
2024-09-08 00:15:05 +00:00
Bagatur
3ec93c2817
standard-tests[patch]: add Ser/Des test
2024-09-04 10:24:06 -07:00
Bagatur
28e2ec7603
ollama[patch]: Release 0.1.3 ( #25902 )
2024-08-31 00:11:45 +00:00
Erick Friis
095b712a26
ollama: bump core version ( #25826 )
2024-08-28 12:31:16 -07:00
Erick Friis
5186325bc7
partners/ollama: release 0.1.2 ( #25817 )
...
release for #25697
2024-08-28 17:47:32 +00:00
Christophe Bornet
038c287b3a
all: Improve make lint command ( #25344 )
...
* Removed `ruff check --select I` as `I` is already selected and checked
in the main `ruff check` command
* Added checks for non-empty `PYTHON_FILES`
* Run `ruff check` only on `PYTHON_FILES`
Co-authored-by: Erick Friis <erick@langchain.dev>
2024-08-23 18:23:52 -07:00
Isaac Francisco
a2e90a5a43
add embeddings integration tests ( #25508 )
2024-08-16 13:20:37 -07:00
ccurme
b83f1eb0d5
core, partners: implement standard tracing params for LLMs ( #25410 )
2024-08-16 13:18:09 -04:00
Eugene Yurtsev
f4196f1fb8
ollama[patch]: Update extra in ollama package ( #25383 )
...
Backwards compatible change that converts pydantic extras to literals
which is consistent with pydantic 2 usage.
2024-08-14 10:30:01 -04:00
Eugene Yurtsev
f679ed72ca
ollama[patch]: Update API Reference for ollama embeddings ( #25315 )
...
Update API reference for OllamaEmbeddings
Issue: https://github.com/langchain-ai/langchain/issues/24856
2024-08-12 21:31:48 -04:00
Isaac Francisco
63ddf0afb4
ollama: allow base_url, headers, and auth to be passed ( #25078 )
2024-08-05 15:39:36 -07:00
ZhangShenao
2c3e3dc6b1
patch[Partners] Unified fix of incorrect variable declarations in all check_imports ( #25014 )
...
There are some incorrect declarations of variable `has_failure` in
check_imports. The purpose of this PR is to uniformly fix these errors.
2024-08-03 13:49:41 -04:00
Erick Friis
600fc233ef
partners/ollama: release 0.1.1 ( #24910 )
2024-07-31 17:31:29 -07:00
Bagatur
8461934c2b
core[patch], integrations[patch]: convert TypedDict to tool schema support ( #24641 )
...
supports following UX
```python
class SubTool(TypedDict):
"""Subtool docstring"""
args: Annotated[Dict[str, Any], {}, "this does bar"]
class Tool(TypedDict):
"""Docstring
Args:
arg1: foo
"""
arg1: str
arg2: Union[int, str]
arg3: Optional[List[SubTool]]
arg4: Annotated[Literal["bar", "baz"], ..., "this does foo"]
arg5: Annotated[Optional[float], None]
```
- can parse google style docstring
- can use Annotated to specify default value (second arg)
- can use Annotated to specify arg description (third arg)
- can have nested complex types
2024-07-31 18:27:24 +00:00
Isaac Francisco
78d97b49d9
[partner]: ollama llm fix ( #24790 )
2024-07-29 13:00:02 -07:00
Lennart J. Kurzweg
7da0597ecb
partners[ollama]: Support seed parameter for ChatOllama ( #24782 )
...
## Description
Adds seed parameter to ChatOllama
## Resolves Issues
- #24703
## Dependency Changes
None
Co-authored-by: Lennart J. Kurzweg (Nx2) <git@nx2.site>
2024-07-29 15:15:20 +00:00
Jerron Lim
df37c0d086
partners[ollama]: Support base_url for ChatOllama ( #24719 )
...
Add a class attribute `base_url` for ChatOllama to allow users to choose
a different URL to connect to.
Fixes #24555
2024-07-28 14:25:58 -04:00
Isaac Francisco
152427eca1
make image inputs compatible with langchain_ollama ( #24619 )
2024-07-26 17:39:57 -07:00
Isaac Francisco
464a525a5a
[partner]: minor change to embeddings for Ollama ( #24521 )
2024-07-24 00:00:13 +00:00
Erick Friis
3dce2e1d35
all: add release notes to pypi ( #24519 )
2024-07-22 13:59:13 -07:00
Erick Friis
a45337ea07
ollama: release 0.1.0 ( #24510 )
2024-07-22 10:35:26 -07:00
Isaac Francisco
838464de25
ollama: init package ( #23615 )
...
Co-authored-by: Erick Friis <erick@langchain.dev>
2024-07-20 00:43:29 +00:00