Kian Jones
630c147b13
fix: truncate oversized text in embedding requests ( #9196 )
...
fix: handle oversized text in embedding requests with recursive chunking
When message text exceeds the embedding model's context length, recursively
split it until all chunks can be embedded successfully.
Changes:
- `tpuf_client.py`: Add `_split_text_in_half()` helper for recursive splitting
- `tpuf_client.py`: Add `_generate_embeddings_with_chunking()` that retries
with splits on context length errors
- `tpuf_client.py`: Store `message_id` and `chunk_index` columns in Turbopuffer
- `tpuf_client.py`: Deduplicate query results by `message_id`
- `tpuf_client.py`: Use `LettaInvalidArgumentError` instead of `ValueError`
- `tpuf_client.py`: Move LLMClient import to top of file
- `openai_client.py`: Remove fixed truncation (chunking handles this now)
- Add tests for `_split_text_in_half` and chunked query deduplication
🤖 Generated with [Letta Code](https://letta.com )
Co-authored-by: Letta <noreply@letta.com >
2026-02-24 10:52:06 -08:00
..
2026-01-12 10:57:49 -08:00
2026-01-29 12:43:51 -08:00
2026-01-29 12:43:53 -08:00
2025-12-15 12:03:09 -08:00
2026-01-29 12:44:04 -08:00
2026-02-24 10:52:06 -08:00
2026-01-29 12:44:04 -08:00
2025-09-17 15:47:40 -07:00
2026-01-19 15:54:43 -08:00
2026-01-19 15:54:43 -08:00
2025-09-17 15:47:40 -07:00
2025-09-17 15:47:40 -07:00
2025-09-17 15:47:40 -07:00
2025-09-17 15:47:40 -07:00
2025-09-17 15:47:40 -07:00
2026-01-12 10:57:49 -08:00
2025-09-17 15:47:40 -07:00
2025-10-07 17:50:48 -07:00
2026-01-12 10:57:49 -08:00
2026-01-12 10:57:19 -08:00
2025-10-07 17:50:46 -07:00
2026-01-12 10:57:49 -08:00
2026-01-29 12:44:04 -08:00
2025-10-24 15:12:11 -07:00
2026-01-12 10:57:48 -08:00
2025-10-07 17:50:46 -07:00
2026-02-24 10:52:06 -08:00
2026-01-29 12:44:04 -08:00
2026-01-12 10:57:49 -08:00
2025-12-15 12:02:18 -08:00
2026-01-12 10:57:19 -08:00
2026-01-12 10:57:49 -08:00
2026-01-29 12:43:53 -08:00
2026-01-19 15:54:42 -08:00
2026-01-29 12:44:04 -08:00
2026-01-29 12:44:04 -08:00
2026-01-12 10:57:49 -08:00
2026-02-24 10:52:06 -08:00
2026-01-12 10:57:19 -08:00
2026-01-12 10:57:19 -08:00
2026-01-12 10:57:49 -08:00
2026-01-19 15:54:43 -08:00
2025-12-15 12:02:19 -08:00
2025-11-13 15:35:34 -08:00
2025-09-17 15:47:40 -07:00
2025-12-15 12:03:09 -08:00
2025-12-15 12:03:09 -08:00
2025-09-17 15:47:40 -07:00
2025-10-07 17:50:48 -07:00
2025-11-13 15:36:56 -08:00
2026-01-29 12:44:04 -08:00
2026-01-12 10:57:49 -08:00
2025-09-17 15:47:40 -07:00
2026-01-29 12:43:53 -08:00
2026-01-12 10:57:48 -08:00
2026-01-29 12:44:04 -08:00
2026-02-24 10:52:06 -08:00
2025-11-13 15:36:55 -08:00
2025-09-17 15:47:40 -07:00
2025-09-17 15:47:40 -07:00
2025-11-26 14:39:40 -08:00
2025-12-15 12:03:09 -08:00
2025-09-17 15:47:40 -07:00
2026-01-29 12:44:04 -08:00
2025-11-13 15:36:55 -08:00
2025-11-13 15:36:55 -08:00
2026-01-12 10:57:49 -08:00
2025-10-07 17:50:46 -07:00
2026-01-12 10:57:19 -08:00
2025-10-24 15:13:15 -07:00
2026-01-19 15:54:39 -08:00
2026-01-29 12:44:04 -08:00
2025-12-15 12:02:18 -08:00
2025-10-07 17:50:46 -07:00
2025-09-17 15:47:40 -07:00
2025-11-13 15:36:20 -08:00
2025-09-17 15:47:40 -07:00
2025-12-15 12:02:19 -08:00
2025-10-09 13:20:53 -07:00
2026-01-29 12:43:53 -08:00
2026-01-29 12:44:04 -08:00
2026-01-29 12:43:53 -08:00
2026-01-29 12:43:53 -08:00
2026-01-29 12:44:04 -08:00
2025-09-17 15:47:40 -07:00
2025-10-07 17:50:50 -07:00
2025-09-17 15:47:40 -07:00
2026-01-12 10:57:48 -08:00
2026-01-12 10:57:48 -08:00
2026-01-29 12:44:04 -08:00
2025-11-13 15:36:00 -08:00
2025-12-15 12:03:09 -08:00
2026-01-29 12:44:04 -08:00
2025-09-17 15:47:40 -07:00
2025-09-17 15:47:40 -07:00
2025-11-13 15:36:55 -08:00
2025-09-17 15:47:40 -07:00
2025-10-07 17:50:48 -07:00
2026-01-19 15:54:42 -08:00
2026-01-29 12:44:04 -08:00
2026-01-29 12:44:04 -08:00
2025-11-24 19:11:18 -08:00