Timothy Jaeryang Baek
7d99b2716a
refac
2026-08-13 19:59:11 -06:00
Timothy Jaeryang Baek
865c80c160
refac
2026-08-11 01:17:19 -06:00
Timothy Jaeryang Baek
f0bfcd4097
refac
2026-08-11 01:15:05 -06:00
Timothy Jaeryang Baek
11739a2de8
refac
2026-08-10 19:41:05 -06:00
Timothy Jaeryang Baek
bb0f898b43
refac
2026-07-31 17:41:14 -04:00
Classic298
d29685275b
perf: drop the full-payload deepcopy in the OpenAI to Ollama conversion ( #27371 )
...
convert_payload_openai_to_ollama deep-copied the entire request payload on every completion routed to an Ollama model, and again on every tool-call iteration. The cost of that copy scales with the number of messages and nested content parts in the history, so long chats pay the most, purely as CPU work before the request even leaves the server.
The function only ever mutates two things: it deletes keys on the top-level dict and on the nested options dict. convert_messages_openai_to_ollama already builds fresh message dicts. Shallow-copying exactly those two levels therefore preserves behavior while removing the whole-tree copy.
Benchmark (per conversion call):
| payload | before | after | speedup |
| --- | --- | --- | --- |
| 200-message text chat (~180 KB) | 0.22 ms | 0.057 ms | 4x |
| 20-message chat + 1 MB base64 image | 0.41 ms | 0.38 ms | 1.1x |
The image row barely moves because deepcopy shares immutable strings; the win comes from container-heavy histories, which are exactly the payloads that grow over a conversation's lifetime.
The output is byte-identical to the previous implementation (verified against it, including dict key order, root parameter hoisting, max_tokens remapping, stop handling and response_format precedence), and the caller's payload is left unmodified exactly as before.
2026-07-27 01:47:23 -04:00
Timothy Jaeryang Baek
212eec408c
refac
2026-07-24 01:44:30 -04:00
Timothy Jaeryang Baek
8cbb7f765c
refac
2026-07-24 00:47:12 -04:00
Timothy Jaeryang Baek
2560533c1a
refac
2026-06-29 00:18:40 -05:00
Timothy Jaeryang Baek
7f08376f0c
refac
2026-06-23 23:18:05 +02:00
Timothy Jaeryang Baek
6d0295588e
refac: modernize type annotations (PEP 604 / PEP 585)
2026-05-12 17:10:15 +09:00
Timothy Jaeryang Baek
c1202a2327
refac
2026-05-09 04:17:58 +09:00
Timothy Jaeryang Baek
8bd23b9145
refac
2026-04-14 16:47:43 -05:00
Timothy Jaeryang Baek
ade617efa8
refac
2026-03-24 04:49:48 -05:00
Timothy Jaeryang Baek
de3317e26b
refac
2026-03-17 17:58:01 -05:00
Timothy Jaeryang Baek
30a13b9b2f
refac: ollama str think support
2026-02-22 17:11:50 -06:00
Timothy Jaeryang Baek
f376d4f378
chore: format
2026-02-11 16:24:11 -06:00
Timothy Jaeryang Baek
8fd5c06e5b
refac
2026-02-10 12:23:08 -06:00
Timothy Jaeryang Baek
886c12c566
refac
2026-01-22 14:54:00 +04:00
Timothy Jaeryang Baek
d56bb2c383
refac
2026-01-11 00:52:43 +04:00
Timothy Jaeryang Baek
d11d49a08a
refac
2025-10-25 23:01:13 -07:00
Timothy Jaeryang Baek
a1fc99c66f
refac/fix: system prompt duplication
2025-10-02 02:57:54 -05:00
silentoplayz
670dfca6a8
remove: used advanced params
2025-09-28 11:41:12 -04:00
Timothy Jaeryang Baek
e39ce16a86
enh: custom reasoning tags
2025-08-27 17:24:16 +04:00
Timothy Jaeryang Baek
094a16ab49
refac
2025-08-21 03:38:26 +04:00
Timothy Jaeryang Baek
1a93891d97
feat: stream delta chunk
...
Co-Authored-By: Jan Kessler <Ithanil@users.noreply.github.com >
2025-08-09 23:43:27 +04:00
Timothy Jaeryang Baek
b39d33cefb
refac
2025-06-10 16:52:37 +04:00
Timothy Jaeryang Baek
0b336fb6f1
refac
2025-06-10 12:53:18 +04:00
Timothy Jaeryang Baek
8f68b25510
enh/refac: ollama advanced params
2025-06-10 12:48:34 +04:00
Timothy Jaeryang Baek
5e35aab292
chore: format
2025-06-05 01:12:28 +04:00
henry
cc12e9e1a3
Ollama embeddings adapted to pydantic
2025-06-04 17:06:38 +02:00
henry
8f6c3f46d6
payload and response modifed for compatibility
2025-06-04 16:11:40 +02:00
Timothy Jaeryang Baek
4371d2c5a5
enh: better custom param handling
2025-05-29 23:32:14 +04:00
Timothy Jaeryang Baek
d43bbcae28
refac/fix: open webui params handling
2025-05-29 12:57:58 +04:00
Timothy Jaeryang Baek
9220afe7b3
feat: custom advanced params
2025-05-29 03:33:11 +04:00
Timothy Jaeryang Baek
bb4115fa0e
refac: allow all params
2025-05-29 02:56:37 +04:00
Timothy Jaeryang Baek
797c7d4e56
refac: allow min_p for openai requests
2025-05-23 21:28:02 +04:00
Serkan Sakar
d62353c140
enh: add presence_penalty parameter to openai
2025-05-07 00:56:20 +02:00
Timothy Jaeryang Baek
c137d3ad17
enh: allow json schema for format
2025-03-27 20:27:16 -07:00
Timothy Jaeryang Baek
5e720cd84b
refac: ollama response_format support
2025-03-27 19:26:08 -07:00
foraxe
53448b3f0a
Fix: Promote keep_alive to top-level in payload for Ollama API on dev branch
2025-03-15 00:08:05 +08:00
dannyl1u
f4bd094128
Merge remote-tracking branch 'origin' into logit_bias
2025-02-27 23:48:22 -08:00
hopeless
7bfa29fa81
Update payload.py
...
Fixes ollama native tool calling because native tool calling content will be str '', and tool call processing will be completely ignored.
2025-02-22 12:13:14 +08:00
Simone
fb3886cf04
Added support for stop parameter
2025-02-21 18:46:10 +01:00
Timothy Jaeryang Baek
eeb00a5ca2
chore: format
2025-02-20 01:01:29 -08:00
Timothy Jaeryang Baek
13e58c1b64
Merge pull request #10360 from ferret99gt/ollama-option-conversion-fixes
...
fix: Update Ollama option handling in payload.py's convert_payload_openai_to_ollama
2025-02-19 22:44:07 -08:00
Timothy Jaeryang Baek
efefff71d1
Merge pull request #10363 from ferret99gt/ollama-model-option-conversion-updates
...
feat: Update Payload's apply_model_params_to_body_ollama with full Ollama supported options
2025-02-19 12:32:46 -08:00
Simone
6f698073bb
Add support for tool message in openai to Ollama message conversion
2025-02-19 21:11:39 +01:00
dannyl1u
4a2a12fd21
feat: scaffolding for logit_bias
2025-02-19 10:33:49 -08:00
ferret99gt
5701d6d333
Change the opt dictionary to a mappings dictionary with appropriate casts
...
This is to bring consistency with apply_model_params_to_body_openai. Both now use a mapping dictionary then call and return apply_model_params_to_body directly.
2025-02-19 09:30:16 -05:00