liter_llm 1.5.0-x86_64-linux → 1.5.1-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc242b1573425337bb34c41b93f9bf9c68b527482b30895aab40e6c0a0699aa7
4
- data.tar.gz: 58e7edadaa7e9f9997585154cec518d81558a087f98e4a042ab6c8676ac8b48c
3
+ metadata.gz: e6cd263fc526f38377b651380108784294e0613717f1acec49cd6f989b8dc177
4
+ data.tar.gz: ea40a1d474f15df5a439a5af1b5a4d00199e4c5c6b6bcb7f8ea338659126280d
5
5
  SHA512:
6
- metadata.gz: dd0a27bb72e34da4c6852cb59627d49b071ce4b8e7ebe712c3a6ae715ae81703c24a07e0ab9d5711494b5b0f50fb42270f033a4e4ac56714b6986270e4de7f43
7
- data.tar.gz: 964f198a3c6fc630dbc8e4aabd81628c0a0af9208888c65f17470fa4757fc9d57aba7b2928fa096769e324721d8771561152c255a647932acada6a768935ff3b
6
+ metadata.gz: 692a5f392281d65a14386ad2b5712600567dceeaa538de17d72cb1eaef526f21df67215db12de333268f4596cc1441bfd4d9ac93a020dba9d45151ebd8c0a7ca
7
+ data.tar.gz: 8ef70addcaec4c97bcd1514bef98b8c2888f6dfdc346aa92a395a6a0735fac55cc17e83f962737c2ebd3be2563ab81dc9c5c85cf8187a3aa0e4fe4a866acd645
data/README.md CHANGED
@@ -1,110 +1,136 @@
1
1
  # Ruby
2
2
 
3
- <div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0">
4
- <!-- Built with -->
5
- <a href="https://github.com/kreuzberg-dev/alef">
6
- <img src="https://img.shields.io/badge/Bindings-alef%20%D7%90-007ec6" alt="Bindings" />
7
- </a>
8
- <!-- Language Bindings -->
9
- <a href="https://crates.io/crates/liter-llm">
10
- <img src="https://img.shields.io/crates/v/liter-llm?label=Rust&color=007ec6" alt="Rust" />
11
- </a>
12
- <a href="https://pypi.org/project/liter-llm/">
13
- <img src="https://img.shields.io/pypi/v/liter-llm?label=Python&color=007ec6" alt="Python" />
14
- </a>
15
- <a href="https://www.npmjs.com/package/@kreuzberg/liter-llm">
16
- <img src="https://img.shields.io/npm/v/@kreuzberg/liter-llm?label=Node.js&color=007ec6" alt="Node.js" />
17
- </a>
18
- <a href="https://www.npmjs.com/package/@kreuzberg/liter-llm-wasm">
19
- <img src="https://img.shields.io/npm/v/@kreuzberg/liter-llm-wasm?label=WASM&color=007ec6" alt="WASM" />
20
- </a>
21
- <a href="https://central.sonatype.com/artifact/dev.kreuzberg/liter-llm">
22
- <img src="https://img.shields.io/maven-central/v/dev.kreuzberg/liter-llm?label=Java&color=007ec6" alt="Java" />
23
- </a>
24
- <a href="https://github.com/kreuzberg-dev/liter-llm/tree/main/packages/go">
25
- <img src="https://img.shields.io/github/v/tag/kreuzberg-dev/liter-llm?label=Go&color=007ec6" alt="Go" />
26
- </a>
27
- <a href="https://www.nuget.org/packages/LiterLlm">
28
- <img src="https://img.shields.io/nuget/v/LiterLlm?label=C%23&color=007ec6" alt="C#" />
29
- </a>
30
- <a href="https://packagist.org/packages/kreuzberg/liter-llm">
31
- <img src="https://img.shields.io/packagist/v/kreuzberg/liter-llm?label=PHP&color=007ec6" alt="PHP" />
32
- </a>
33
- <a href="https://rubygems.org/gems/liter_llm">
34
- <img src="https://img.shields.io/gem/v/liter_llm?label=Ruby&color=007ec6" alt="Ruby" />
35
- </a>
36
- <a href="https://hex.pm/packages/liter_llm">
37
- <img src="https://img.shields.io/hexpm/v/liter_llm?label=Elixir&color=007ec6" alt="Elixir" />
38
- </a>
39
- <a href="https://github.com/kreuzberg-dev/liter-llm/pkgs/container/liter-llm">
40
- <img src="https://img.shields.io/badge/Docker-007ec6?logo=docker&logoColor=white" alt="Docker" />
41
- </a>
42
- <a href="https://github.com/kreuzberg-dev/homebrew-tap/blob/main/Formula/liter-llm.rb">
43
- <img src="https://img.shields.io/badge/Homebrew-007ec6?logo=homebrew&logoColor=white" alt="Homebrew" />
44
- </a>
45
- <a href="https://github.com/kreuzberg-dev/liter-llm/tree/main/crates/liter-llm-ffi">
46
- <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI" />
47
- </a>
48
-
49
- <!-- Project Info -->
50
- <a href="https://github.com/kreuzberg-dev/liter-llm/blob/main/LICENSE">
51
- <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
52
- </a>
53
- <a href="https://docs.liter-llm.kreuzberg.dev">
54
- <img src="https://img.shields.io/badge/Docs-liter--llm-007ec6" alt="Docs" />
55
- </a>
3
+ <div
4
+ align="center"
5
+ style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0"
6
+ >
7
+ <!-- Built with -->
8
+ <a href="https://github.com/kreuzberg-dev/alef">
9
+ <img
10
+ src="https://img.shields.io/badge/built%20with-alef%20%D7%90-007ec6"
11
+ alt="Built with alef"
12
+ />
13
+ </a>
14
+ <!-- Language Bindings -->
15
+ <a href="https://crates.io/crates/liter-llm">
16
+ <img src="https://img.shields.io/crates/v/liter-llm?label=Rust&color=007ec6" alt="Rust" />
17
+ </a>
18
+ <a href="https://pypi.org/project/liter-llm/">
19
+ <img src="https://img.shields.io/pypi/v/liter-llm?label=Python&color=007ec6" alt="Python" />
20
+ </a>
21
+ <a href="https://www.npmjs.com/package/@kreuzberg/liter-llm">
22
+ <img
23
+ src="https://img.shields.io/npm/v/@kreuzberg/liter-llm?label=Node.js&color=007ec6"
24
+ alt="Node.js"
25
+ />
26
+ </a>
27
+ <a href="https://www.npmjs.com/package/@kreuzberg/liter-llm-wasm">
28
+ <img
29
+ src="https://img.shields.io/npm/v/@kreuzberg/liter-llm-wasm?label=WASM&color=007ec6"
30
+ alt="WASM"
31
+ />
32
+ </a>
33
+ <a href="https://central.sonatype.com/artifact/dev.kreuzberg/liter-llm">
34
+ <img
35
+ src="https://img.shields.io/maven-central/v/dev.kreuzberg/liter-llm?label=Java&color=007ec6"
36
+ alt="Java"
37
+ />
38
+ </a>
39
+ <a href="https://github.com/kreuzberg-dev/liter-llm/tree/main/packages/go">
40
+ <img
41
+ src="https://img.shields.io/github/v/tag/kreuzberg-dev/liter-llm?label=Go&color=007ec6"
42
+ alt="Go"
43
+ />
44
+ </a>
45
+ <a href="https://www.nuget.org/packages/LiterLlm">
46
+ <img src="https://img.shields.io/nuget/v/LiterLlm?label=C%23&color=007ec6" alt="C#" />
47
+ </a>
48
+ <a href="https://packagist.org/packages/kreuzberg/liter-llm">
49
+ <img
50
+ src="https://img.shields.io/packagist/v/kreuzberg/liter-llm?label=PHP&color=007ec6"
51
+ alt="PHP"
52
+ />
53
+ </a>
54
+ <a href="https://rubygems.org/gems/liter_llm">
55
+ <img src="https://img.shields.io/gem/v/liter_llm?label=Ruby&color=007ec6" alt="Ruby" />
56
+ </a>
57
+ <a href="https://hex.pm/packages/liter_llm">
58
+ <img src="https://img.shields.io/hexpm/v/liter_llm?label=Elixir&color=007ec6" alt="Elixir" />
59
+ </a>
60
+ <a href="https://github.com/kreuzberg-dev/liter-llm/pkgs/container/liter-llm">
61
+ <img
62
+ src="https://img.shields.io/badge/Docker-007ec6?logo=docker&logoColor=white"
63
+ alt="Docker"
64
+ />
65
+ </a>
66
+ <a href="https://github.com/kreuzberg-dev/homebrew-tap/blob/main/Formula/liter-llm.rb">
67
+ <img
68
+ src="https://img.shields.io/badge/Homebrew-007ec6?logo=homebrew&logoColor=white"
69
+ alt="Homebrew"
70
+ />
71
+ </a>
72
+ <a href="https://github.com/kreuzberg-dev/liter-llm/tree/main/crates/liter-llm-ffi">
73
+ <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI" />
74
+ </a>
75
+
76
+ <!-- Project Info -->
77
+ <a href="https://github.com/kreuzberg-dev/liter-llm/blob/main/LICENSE">
78
+ <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
79
+ </a>
80
+ <a href="https://docs.liter-llm.kreuzberg.dev">
81
+ <img src="https://img.shields.io/badge/docs-kreuzberg.dev-007ec6" alt="Docs" />
82
+ </a>
56
83
  </div>
57
- <div align="center" style="margin: 24px 0 0">
58
- <a href="https://kreuzberg.dev">
59
- <img
60
- alt="kreuzberg.dev"
61
- src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8"
62
- />
63
- </a>
84
+ <div align="center" style="margin: 20px 0">
85
+ <picture>
86
+ <img
87
+ width="100%"
88
+ alt="kreuzberg.dev"
89
+ src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8"
90
+ />
91
+ </picture>
64
92
  </div>
65
- <div align="center" style="display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 24px">
66
- <a href="https://discord.gg/xt9WY3GnKR">
67
- <img
68
- height="22"
69
- src="https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord&logoColor=white"
70
- alt="Join Discord"
71
- />
72
- </a>
93
+ <div align="center" style="margin-bottom: 20px">
94
+ <a href="https://discord.gg/xt9WY3GnKR">
95
+ <img
96
+ height="22"
97
+ src="https://img.shields.io/badge/Discord-Join%20our%20community-7289da?logo=discord&logoColor=white"
98
+ alt="Discord"
99
+ />
100
+ </a>
73
101
  </div>
74
102
 
75
103
  Universal LLM API client for Ruby. Access 143+ LLM providers through a single interface with idiomatic Ruby API and native performance.
76
104
 
77
- ## What This Package Provides
78
-
79
- - **One provider surface** — chat, streaming, embeddings, images, audio, search, OCR, tools, and structured output across the provider registry.
80
- - **Provider/model routing** — call models with the `provider/model` convention and keep provider-specific request code out of application paths.
81
- - **Production controls** — retries, fallback, rate limits, cache layers, budgets, health checks, OpenTelemetry spans, and redacted secrets.
82
- - **Same core as every binding** — Rust, Python, Node.js, Go, Java, PHP, Ruby, .NET, Elixir, WASM, Kotlin Android, Swift, Dart, Zig, and C FFI use the same Rust implementation.
83
- - **Ruby package** — native extension with idiomatic Ruby request and response objects.
84
-
85
105
  ## Installation
86
106
 
87
107
  ### Package Installation
88
108
 
109
+
89
110
  Install via one of the supported package managers:
90
111
 
112
+
91
113
  **gem:**
92
114
 
93
115
  ```bash
94
116
  gem install liter_llm
95
117
  ```
96
118
 
119
+
97
120
  **Bundler:**
98
121
 
99
122
  ```ruby
100
123
  gem 'liter_llm'
101
124
  ```
102
125
 
126
+
103
127
  ### System Requirements
104
128
 
129
+
105
130
  - **Ruby 3.2+** required
106
131
  - API keys via environment variables (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`)
107
132
 
133
+
108
134
  ## Quick Start
109
135
 
110
136
  ### Basic Chat
@@ -130,6 +156,7 @@ puts result.choices[0].message.content
130
156
 
131
157
  ### Common Use Cases
132
158
 
159
+
133
160
  #### Streaming Responses
134
161
 
135
162
  Stream tokens in real time:
@@ -154,11 +181,13 @@ end
154
181
  puts
155
182
  ```
156
183
 
184
+
157
185
  ### Next Steps
158
186
 
159
187
  - **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** - Full list of supported providers
160
188
  - **[GitHub Repository](https://github.com/kreuzberg-dev/liter-llm)** - Source, issues, and discussions
161
189
 
190
+
162
191
  ## Features
163
192
 
164
193
  ### Supported Providers (143+)
@@ -184,8 +213,12 @@ Route to any provider using the `provider/model` prefix convention:
184
213
  - **Provider Routing** -- Single client for 143+ LLM providers via `provider/model` prefix
185
214
  - **Local LLMs** — Connect to locally-hosted models via Ollama, LM Studio, vLLM, llama.cpp, and other local inference servers
186
215
  - **Unified API** -- Consistent `chat`, `chat_stream`, `embeddings`, `list_models` interface
216
+
187
217
  - **Streaming** -- Real-time token streaming via `chat_stream`
218
+
219
+
188
220
  - **Tool Calling** -- Function calling and tool use across all supporting providers
221
+
189
222
  - **Type Safe** -- Schema-driven types compiled from JSON schemas
190
223
  - **Secure** -- API keys never logged or serialized, managed via environment variables
191
224
  - **Observability** -- Built-in [OpenTelemetry](https://opentelemetry.io/docs/specs/semconv/gen-ai/) with GenAI semantic conventions
@@ -200,6 +233,7 @@ Built on a compiled Rust core for speed and safety:
200
233
  - **Zero-copy streaming** with SSE and AWS EventStream support
201
234
  - **API keys** wrapped in secure memory, zeroed on drop
202
235
 
236
+
203
237
  ## Provider Routing
204
238
 
205
239
  Route to 143+ providers using the `provider/model` prefix convention:
@@ -213,6 +247,7 @@ mistral/mistral-large-latest
213
247
 
214
248
  See the [provider registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json) for the full list.
215
249
 
250
+
216
251
  ## Proxy Server
217
252
 
218
253
  liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
@@ -221,7 +256,7 @@ liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
221
256
  docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-dev/liter-llm
222
257
  ```
223
258
 
224
- See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy-server/) for configuration, CLI usage, and MCP integration.
259
+ See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
225
260
 
226
261
  ## Documentation
227
262
 
@@ -231,7 +266,7 @@ See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server
231
266
 
232
267
  ## Part of Kreuzberg.dev
233
268
 
234
- - [Kreuzberg](https://github.com/kreuzberg-dev/kreuzberg) — document intelligence: text, tables, metadata from 90+ formats with optional OCR.
269
+ - [Kreuzberg](https://github.com/kreuzberg-dev/kreuzberg) — document intelligence: text, tables, metadata from 91+ formats with optional OCR.
235
270
  - [Kreuzberg Cloud](https://github.com/kreuzberg-dev/kreuzberg-cloud) — managed extraction API with SDKs, dashboards, and observability.
236
271
  - [kreuzcrawl](https://github.com/kreuzberg-dev/kreuzcrawl) — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.
237
272
  - [html-to-markdown](https://github.com/kreuzberg-dev/html-to-markdown) — fast, lossless HTML→Markdown engine.
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
2
+ # alef:hash:fe64a8a06beeb01b5344005fa07dcdfdf3e244d772ace0f89dbba84b0541ca2d
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -1,10 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
2
+ # alef:hash:fe64a8a06beeb01b5344005fa07dcdfdf3e244d772ace0f89dbba84b0541ca2d
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module LiterLlm
8
8
  ## The version string for this package.
9
- VERSION = "1.5.0"
9
+ VERSION = "1.5.1"
10
10
  end
data/lib/liter_llm.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
2
+ # alef:hash:fe64a8a06beeb01b5344005fa07dcdfdf3e244d772ace0f89dbba84b0541ca2d
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
data/lib/liter_llm_rb.so CHANGED
Binary file
data/sig/types.rbs CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
2
+ # alef:hash:fe64a8a06beeb01b5344005fa07dcdfdf3e244d772ace0f89dbba84b0541ca2d
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liter_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Na'aman Hirschfeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-08 00:00:00.000000000 Z
11
+ date: 2026-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -53,6 +53,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: 3.2.0
56
+ - - "<"
57
+ - !ruby/object:Gem::Version
58
+ version: '4.0'
56
59
  required_rubygems_version: !ruby/object:Gem::Requirement
57
60
  requirements:
58
61
  - - ">="