liter_llm 1.2.2 → 1.4.0.pre.rc.3
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 +1 -8
- 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 +4207 -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: 2bae8d1d3bc19ef4e48c0d396461b0de03e7f51b64eed01119c9615087c92d62
|
|
4
|
+
data.tar.gz: d2a6ca942c6f42341fadb65352e1b40dc3b52a94672616e029c1ce2b2f021dd8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8e51f492dc1ea16f2d7d951614b239182d6250f9421b57f65dbe7414122297fe6bb932762ec862309422513db14ff771cd7e730cb2aa52d4835106e6d9d589dc
|
|
7
|
+
data.tar.gz: 9191c50c14d161a09197dcf09c856ee49c1d051e6466900c2bf6104823fc37b94f71ade79f38852da69636a48951d6266e99c24219d0c1f6ce49cdda53d87e8e
|
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
|
|
@@ -104,7 +100,6 @@ gem 'liter_llm'
|
|
|
104
100
|
- API keys via environment variables (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`)
|
|
105
101
|
|
|
106
102
|
|
|
107
|
-
|
|
108
103
|
## Quick Start
|
|
109
104
|
|
|
110
105
|
### Basic Chat
|
|
@@ -127,10 +122,10 @@ response = JSON.parse(client.chat(JSON.generate(
|
|
|
127
122
|
puts response.dig("choices", 0, "message", "content")
|
|
128
123
|
```
|
|
129
124
|
|
|
130
|
-
|
|
131
125
|
### Common Use Cases
|
|
132
126
|
|
|
133
127
|
|
|
128
|
+
|
|
134
129
|
#### Streaming Responses
|
|
135
130
|
|
|
136
131
|
Stream tokens in real time:
|
|
@@ -154,7 +149,6 @@ chunks.each { |chunk| puts chunk }
|
|
|
154
149
|
|
|
155
150
|
|
|
156
151
|
|
|
157
|
-
|
|
158
152
|
### Next Steps
|
|
159
153
|
|
|
160
154
|
- **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** - Full list of supported providers
|
|
@@ -234,7 +228,6 @@ docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-de
|
|
|
234
228
|
|
|
235
229
|
See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
|
|
236
230
|
|
|
237
|
-
|
|
238
231
|
## Documentation
|
|
239
232
|
|
|
240
233
|
- **[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
|