liter_llm 1.2.2 → 1.4.0.pre.rc.4
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 +4 -4
- data/README.md +0 -19
- data/Steepfile +18 -0
- data/ext/liter_llm_rb/native/Cargo.lock +542 -183
- data/ext/liter_llm_rb/native/Cargo.toml +10 -23
- data/ext/liter_llm_rb/native/src/lib.rs +5733 -946
- data/ext/liter_llm_rb/native/src/liter_llm/version.rb +10 -0
- data/ext/liter_llm_rb/native/src/liter_llm.rb +13 -0
- data/lib/liter_llm.rb +0 -5
- data/sig/types.rbs +720 -0
- data/vendor/Cargo.toml +1 -1
- data/vendor/liter-llm/Cargo.toml +6 -1
- data/vendor/liter-llm/schemas/pricing.json +4213 -23
- data/vendor/liter-llm/src/auth/azure_ad.rs +1 -1
- data/vendor/liter-llm/src/auth/bedrock_sts.rs +1 -1
- data/vendor/liter-llm/src/auth/github_copilot.rs +1 -1
- data/vendor/liter-llm/src/auth/mod.rs +4 -3
- data/vendor/liter-llm/src/auth/vertex_oauth.rs +1 -1
- data/vendor/liter-llm/src/bindings.rs +98 -0
- data/vendor/liter-llm/src/client/config.rs +38 -2
- data/vendor/liter-llm/src/client/config_file.rs +1 -1
- data/vendor/liter-llm/src/client/managed.rs +27 -24
- data/vendor/liter-llm/src/client/mod.rs +230 -90
- data/vendor/liter-llm/src/error.rs +3 -3
- data/vendor/liter-llm/src/http/eventstream.rs +2 -2
- data/vendor/liter-llm/src/http/mod.rs +3 -3
- data/vendor/liter-llm/src/http/request.rs +3 -0
- data/vendor/liter-llm/src/http/streaming.rs +2 -2
- data/vendor/liter-llm/src/lib.rs +9 -4
- data/vendor/liter-llm/src/provider/custom.rs +3 -2
- data/vendor/liter-llm/src/provider/mod.rs +53 -12
- data/vendor/liter-llm/src/tower/budget.rs +1 -1
- data/vendor/liter-llm/src/tower/cache.rs +1 -1
- data/vendor/liter-llm/src/tower/cooldown.rs +1 -1
- data/vendor/liter-llm/src/tower/cost.rs +31 -25
- data/vendor/liter-llm/src/tower/fallback.rs +1 -1
- data/vendor/liter-llm/src/tower/health.rs +1 -1
- data/vendor/liter-llm/src/tower/hooks.rs +1 -1
- data/vendor/liter-llm/src/tower/rate_limit.rs +1 -1
- data/vendor/liter-llm/src/tower/router.rs +1 -1
- data/vendor/liter-llm/src/tower/service.rs +3 -3
- data/vendor/liter-llm/src/tower/tests.rs +12 -12
- data/vendor/liter-llm/src/tower/tests_common.rs +15 -12
- data/vendor/liter-llm/src/tower/tracing.rs +1 -1
- data/vendor/liter-llm/src/tower/types.rs +2 -1
- data/vendor/liter-llm/src/types/audio.rs +4 -4
- data/vendor/liter-llm/src/types/batch.rs +6 -5
- data/vendor/liter-llm/src/types/chat.rs +14 -16
- data/vendor/liter-llm/src/types/common.rs +51 -17
- data/vendor/liter-llm/src/types/embedding.rs +6 -0
- data/vendor/liter-llm/src/types/files.rs +6 -5
- data/vendor/liter-llm/src/types/image.rs +3 -3
- data/vendor/liter-llm/src/types/models.rs +2 -2
- data/vendor/liter-llm/src/types/moderation.rs +6 -0
- data/vendor/liter-llm/src/types/ocr.rs +6 -0
- data/vendor/liter-llm/src/types/rerank.rs +6 -0
- data/vendor/liter-llm/src/types/responses.rs +5 -5
- data/vendor/liter-llm/tests/concurrency.rs +24 -13
- data/vendor/liter-llm/tests/middleware_integration.rs +29 -23
- data/vendor/liter-llm-ffi/Cargo.toml +6 -7
- data/vendor/liter-llm-ffi/README.md +28 -0
- data/vendor/liter-llm-ffi/build.rs +6 -64
- data/vendor/liter-llm-ffi/cbindgen.toml +88 -52
- data/vendor/liter-llm-ffi/cmake/liter-llm-ffi-config.cmake +87 -0
- data/vendor/liter-llm-ffi/include/liter_llm.h +3357 -0
- data/vendor/liter-llm-ffi/src/lib.rs +8903 -2068
- metadata +14 -8
- data/ext/liter_llm_rb/native/.cargo/config.toml +0 -23
- data/ext/liter_llm_rb/native/build.rs +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b3dcff0db59cc475b47f04aa9af88e248f220e766ac37445fba8a2f625edd1b3
|
|
4
|
+
data.tar.gz: 7197d2c43ffabd76be2101816f5eeab8dc1e1c43d7f2c2d28f5c0ba1835729b2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3a2a1e1a183b3b4fc24af9061879c8fe4c4effe2a8fb6d85f63dbe292500d4d0755bd72377b084a0da4f011afa85b819b7b591fd174d69ab20f0a3246d2f7e9c
|
|
7
|
+
data.tar.gz: 445ae8620e230a9ba14fe3848a354fc7c6b150ff16b15f28308d1dd04a64b1a03382b15772fc431d29f178552672835296b927a3ea998a51200e607fb9e03c95
|
data/README.md
CHANGED
|
@@ -51,24 +51,20 @@
|
|
|
51
51
|
</a>
|
|
52
52
|
</div>
|
|
53
53
|
|
|
54
|
-
|
|
55
54
|
<div align="center" style="margin: 20px 0;">
|
|
56
55
|
<picture>
|
|
57
56
|
<img width="100%" alt="kreuzberg.dev" src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8" />
|
|
58
57
|
</picture>
|
|
59
58
|
</div>
|
|
60
59
|
|
|
61
|
-
|
|
62
60
|
<div align="center" style="margin-bottom: 20px;">
|
|
63
61
|
<a href="https://discord.gg/xt9WY3GnKR">
|
|
64
62
|
<img height="22" src="https://img.shields.io/badge/Discord-Join%20our%20community-7289da?logo=discord&logoColor=white" alt="Discord">
|
|
65
63
|
</a>
|
|
66
64
|
</div>
|
|
67
65
|
|
|
68
|
-
|
|
69
66
|
Universal LLM API client for Ruby. Access 143+ LLM providers through a single interface with idiomatic Ruby API and native performance.
|
|
70
67
|
|
|
71
|
-
|
|
72
68
|
## Installation
|
|
73
69
|
|
|
74
70
|
### Package Installation
|
|
@@ -77,7 +73,6 @@ Universal LLM API client for Ruby. Access 143+ LLM providers through a single in
|
|
|
77
73
|
Install via one of the supported package managers:
|
|
78
74
|
|
|
79
75
|
|
|
80
|
-
|
|
81
76
|
**gem:**
|
|
82
77
|
|
|
83
78
|
```bash
|
|
@@ -85,8 +80,6 @@ gem install liter_llm
|
|
|
85
80
|
```
|
|
86
81
|
|
|
87
82
|
|
|
88
|
-
|
|
89
|
-
|
|
90
83
|
**Bundler:**
|
|
91
84
|
|
|
92
85
|
```ruby
|
|
@@ -94,9 +87,6 @@ gem 'liter_llm'
|
|
|
94
87
|
```
|
|
95
88
|
|
|
96
89
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
90
|
### System Requirements
|
|
101
91
|
|
|
102
92
|
|
|
@@ -104,7 +94,6 @@ gem 'liter_llm'
|
|
|
104
94
|
- API keys via environment variables (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`)
|
|
105
95
|
|
|
106
96
|
|
|
107
|
-
|
|
108
97
|
## Quick Start
|
|
109
98
|
|
|
110
99
|
### Basic Chat
|
|
@@ -127,7 +116,6 @@ response = JSON.parse(client.chat(JSON.generate(
|
|
|
127
116
|
puts response.dig("choices", 0, "message", "content")
|
|
128
117
|
```
|
|
129
118
|
|
|
130
|
-
|
|
131
119
|
### Common Use Cases
|
|
132
120
|
|
|
133
121
|
|
|
@@ -152,16 +140,12 @@ chunks.each { |chunk| puts chunk }
|
|
|
152
140
|
```
|
|
153
141
|
|
|
154
142
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
143
|
### Next Steps
|
|
159
144
|
|
|
160
145
|
- **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** - Full list of supported providers
|
|
161
146
|
- **[GitHub Repository](https://github.com/kreuzberg-dev/liter-llm)** - Source, issues, and discussions
|
|
162
147
|
|
|
163
148
|
|
|
164
|
-
|
|
165
149
|
## Features
|
|
166
150
|
|
|
167
151
|
### Supported Providers (143+)
|
|
@@ -208,7 +192,6 @@ Built on a compiled Rust core for speed and safety:
|
|
|
208
192
|
- **API keys** wrapped in secure memory, zeroed on drop
|
|
209
193
|
|
|
210
194
|
|
|
211
|
-
|
|
212
195
|
## Provider Routing
|
|
213
196
|
|
|
214
197
|
Route to 143+ providers using the `provider/model` prefix convention:
|
|
@@ -223,7 +206,6 @@ mistral/mistral-large-latest
|
|
|
223
206
|
See the [provider registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json) for the full list.
|
|
224
207
|
|
|
225
208
|
|
|
226
|
-
|
|
227
209
|
## Proxy Server
|
|
228
210
|
|
|
229
211
|
liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
|
|
@@ -234,7 +216,6 @@ docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-de
|
|
|
234
216
|
|
|
235
217
|
See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
|
|
236
218
|
|
|
237
|
-
|
|
238
219
|
## Documentation
|
|
239
220
|
|
|
240
221
|
- **[Documentation](https://docs.liter-llm.kreuzberg.dev)** -- Full docs and API reference
|
data/Steepfile
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Steep configuration for the LiterLlm Ruby package.
|
|
4
|
+
|
|
5
|
+
target :lib do
|
|
6
|
+
signature 'sig'
|
|
7
|
+
|
|
8
|
+
check 'lib'
|
|
9
|
+
|
|
10
|
+
# Standard library used by the wrapper layer.
|
|
11
|
+
library 'json'
|
|
12
|
+
|
|
13
|
+
# Strategic ignores:
|
|
14
|
+
|
|
15
|
+
# 1. Native extension entry point — methods are defined in Rust via Magnus
|
|
16
|
+
# and cannot be resolved by Steep's static analysis.
|
|
17
|
+
ignore 'lib/liter_llm_rb.rb' if File.exist?('lib/liter_llm_rb.rb')
|
|
18
|
+
end
|